コード例 #1
0
ファイル: PagoDocumento.php プロジェクト: armandolazarte/guia
 public function cancelarPago(Egreso $egreso)
 {
     if (count($egreso->solicitudes) > 0) {
         $estatus = 'Autorizada';
         //Verifica si existen más de un egreso de  la solicitud, para en su caso el estatus sea "Pago Parcial"
         foreach ($egreso->solicitudes as $solicitud) {
             $sol_verifica = Solicitud::find($solicitud->id)->load('egresos');
             if (count($sol_verifica->egresos) > 1) {
                 $estatus = 'Pago Parcial';
             } else {
                 $estatus = 'Autorizada';
             }
         }
         $egreso->solicitudes()->update(['estatus' => $estatus]);
     } elseif (count($egreso->ocs) > 0) {
         $estatus = '';
         //Verifica si existe más de un egreso de la Oc, para en su caso el estatus sea "Pago Parcial;
         foreach ($egreso->ocs as $oc) {
             $oc_verifica = Oc::find($oc->id)->load('egresos');
             if (coun($oc_verifica->egresos) > 1) {
                 $estatus = 'Pago Parcial';
             } else {
                 $estatus = '';
             }
         }
         $egreso->ocs()->update(['estatus' => $estatus]);
         $this->actualizarEstatusReq($egreso->ocs[0]->req_id);
     }
 }
コード例 #2
0
 /**
  * Show the form for creating a new resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function create($doc_id, $doc_type)
 {
     $data['doc_id'] = $doc_id;
     $data['doc_type'] = $doc_type;
     if ($doc_type == 'Solicitud') {
         $solicitud = Solicitud::find($doc_id);
     }
     $rms = Rm::whereProyectoId($solicitud->proyecto_id)->get();
     $data['rms'] = $rms;
     return view('retencion.formRetencion')->with($data);
 }
コード例 #3
0
 public function recibirSol(RecibirRequest $request)
 {
     foreach ($request->input('arr_sol_id') as $sol_id) {
         $solicitud = Solicitud::find($sol_id);
         $solicitud->estatus = $request->input('estatus');
         $solicitud->user_id = \Auth::user()->id;
         $solicitud->save();
         //Creación de registro
         $fecha_hora = Carbon::now();
         $registro = new Registro(['user_id' => \Auth::user()->id, 'estatus' => $request->input('estatus'), 'fecha_hora' => $fecha_hora]);
         $solicitud->registros()->save($registro);
     }
     return redirect()->action('RecibirController@seleccionarSol')->with(['message' => 'Solicitudes recibidas', 'alert-class' => 'alert-success']);
 }
コード例 #4
0
 /**
  * Muestra el formulario para editar el monto por RM/Objetivo de una solicitud.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($solicitud_id, $recurso_id)
 {
     $solicitud = Solicitud::find($solicitud_id);
     $data['solicitud'] = $solicitud;
     $data['recurso_id'] = $recurso_id;
     if (count($solicitud->objetivos) > 0) {
         $objetivos = $solicitud->objetivos()->whereObjetivoId($recurso_id)->get();
         $data['objetivos'] = $objetivos;
         $data['monto'] = $objetivos[0]->pivot->monto;
     } else {
         $data['objetivos'] = [];
         $rms = $solicitud->rms()->whereRmId($recurso_id)->get();
         $data['rms'] = $rms;
         $data['monto'] = $rms[0]->pivot->monto;
     }
     return view('solicitudes.formSolRecurso')->with($data);
 }
コード例 #5
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $soldep_doc = new SolDepositosDoc();
     $soldep_doc->sol_deposito_id = $request->input('sol_deposito_id');
     $soldep_doc->monto = $request->input('monto');
     $soldep_doc->save();
     if ($request->input('doc_type') == 'Solicitud') {
         $doc = Solicitud::find($request->input('doc_id'));
         $ocultar_id = 'sol-' . $request->input('doc_id');
         $message = "Solicitud " . $request->input('doc_id') . " agregada";
     }
     if ($request->input('doc_type') == 'Oc') {
         $doc = Oc::find($request->input('doc_id'));
         $ocultar_id = 'oc-' . $request->input('doc_id');
         $message = "Orden de Compra " . $doc->oc . " agregada";
     }
     $doc->solDepositosDocs()->save($soldep_doc);
     if ($request->ajax()) {
         return response()->json(['message' => $message, 'ocultar' => $ocultar_id]);
     }
     //return redirect()->action('SolDepositoDocsController@create', $request->input('sol_deposito_id'));
 }
コード例 #6
0
 public function formatoPdf($id)
 {
     $solicitud = Solicitud::find($id);
     $solicitud_pdf = new SolicitudPdf($solicitud);
     return response($solicitud_pdf->crearPdf()->header('Content-Type', 'application/pdf'));
 }
コード例 #7
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Requests\EgresoFormRequest $request)
 {
     $transferencia_bancaria = $request->input('transferencia');
     if (!isset($transferencia_bancaria)) {
         $cheque = $request->input('cheque');
         $poliza = 0;
     } else {
         $poliza = \Consecutivo::nextPolizaEgreso($request->input('cuenta_bancaria_id'));
         $cheque = 0;
     }
     $egreso = new Egreso();
     $egreso->cuenta_bancaria_id = $request->input('cuenta_bancaria_id');
     $egreso->poliza = $poliza;
     $egreso->cheque = $cheque;
     $egreso->fecha = $request->input('fecha');
     $egreso->benef_id = $request->input('benef_id');
     $egreso->cuenta_id = $request->input('cuenta_id');
     $egreso->concepto = $request->input('concepto');
     $egreso->monto = $request->input('monto');
     $egreso->user_id = \Auth::user()->id;
     $egreso->save();
     //Registro del pago del documento generador (Solicitud||Oc)
     $doc_type = $request->input('doc_type');
     $doc_id = $request->input('doc_id');
     if (!empty($doc_type) && !empty($doc_id)) {
         $documento = '';
         if ($doc_type == 'Solicitud') {
             $documento = Solicitud::find($doc_id);
         } elseif ($doc_type == 'Oc') {
             $documento = Oc::find($doc_id)->load('req');
         }
         $tipo_pago = $request->input('tipo_pago');
         if (empty($tipo_pago)) {
             $tipo_pago = 'Total';
         }
         $pago = new PagoDocumento($documento, $doc_type);
         $pago->pagarDocumento($egreso, $tipo_pago);
     }
     //Registro de monto por RM(s)
     if (count($request->input('rm_id')) > 0) {
         $i = 0;
         $monto_total = 0;
         foreach ($request->input('rm_id') as $rm_id) {
             $monto_rm = $request->input('monto_rm')[$i];
             if ($monto_rm > 0) {
                 $monto_total += $monto_rm;
                 //Insertar en egreso_rm
                 $egreso->rms()->attach($rm_id, ['monto' => $monto_rm]);
             }
             $i++;
         }
         if ($monto_total > 0) {
             $egreso->monto = $monto_total;
             $egreso->save();
         }
         $egreso_helper = new EgresoHelper($egreso);
         $egreso_helper->creaSumaPorProyecto();
     } else {
         //Fallback para solicitudes sin asignación de RM(s)
         if ($doc_type == 'Solicitud' && isset($documento)) {
             $egreso->proyectos()->attach($documento->proyecto_id, ['monto' => $request->input('monto')]);
         }
     }
     return redirect()->action('EgresosController@show', [$egreso->id]);
 }
コード例 #8
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, Request $request)
 {
     $rel_interna = RelInterna::findOrFail($id);
     $rel_interna->fecha_revision = Carbon::today()->toDateString();
     $rel_interna->recibe = \Auth::user()->id;
     $rel_interna->estatus = 'Recibida';
     $rel_interna->save();
     foreach ($request->input('docs') as $doc_id) {
         if ($rel_interna->tipo_documentos == 'Egresos') {
             $documento = Egreso::find($doc_id);
         }
         if ($rel_interna->tipo_documentos == 'Solicitudes') {
             $documento = Solicitud::find($doc_id);
         }
         $documento->user_id = \Auth::user()->id;
         $documento->save();
         $documento_rel_interna = $documento->relacionInternaDocs()->where('rel_interna_id', $id)->first();
         $documento_rel_interna->validacion = 'Aceptada';
         $documento_rel_interna->save();
     }
     $rel_interna->load('relInternaDocs');
     foreach ($rel_interna->relInternaDocs as $doc) {
         if (empty($doc->validacion)) {
             RelInternaDoc::find($doc->id)->update(['validacion' => 'Rechazada']);
         }
     }
     $message = 'Relación ' . $rel_interna->id . ' recibida con éxito';
     return redirect()->action('RelacionInternaController@index')->with(['message' => $message]);
 }