Esempio n. 1
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $tipo = $request->input('tipo');
     $egreso_id = $request->input('egreso_id');
     if ($tipo == 'Ingreso' && !empty($egreso_id)) {
         $no_identificado_id = $request->input('no_identificado_id');
         $no_identificado = NoIdentificado::findOrFail($no_identificado_id);
         $egreso = Egreso::findOrFail($egreso_id);
         $egreso->load('rms');
         //Determina el monto total
         $sum_monto = 0;
         $arr_monto_rms = [];
         foreach ($egreso->rms as $rm) {
             $monto_rm_id = $request->input('monto_rm_id_' . $rm->id);
             if (!empty($monto_rm_id)) {
                 $arr_monto_rms[$rm->id] = $monto_rm_id;
             }
         }
         //Determina el monto total
         foreach ($arr_monto_rms as $monto_rm) {
             $sum_monto += $monto_rm;
         }
         //Generar Póliza
         $poliza = Poliza::create(['cuenta_bancaria_id' => $no_identificado->cuenta_bancaria_id, 'fecha' => Carbon::now()->toDateString(), 'tipo' => $tipo, 'user_id' => \Auth::user()->id]);
         //Generar Cargo (cuenta_id => 10 //No Identificado)
         $poliza->polizaCargos()->create(['cuenta_id' => 10, 'monto' => $sum_monto, 'origen_id' => $no_identificado_id, 'origen_type' => 'Guia\\Models\\NoIdentificado']);
         //Generar Abono
         $poliza_abono = $poliza->polizaAbonos()->create(['cuenta_id' => $egreso->cuenta_id, 'monto' => $sum_monto, 'origen_id' => $egreso_id, 'origen_type' => 'Guia\\Models\\Egreso']);
         //Insertar RMs
         foreach ($arr_monto_rms as $rm => $monto) {
             $poliza_abono->rms()->attach($rm, ['monto' => $monto]);
         }
         //Actualizar NoIdentificado
         if (round($no_identificado->monto, 2) == round($sum_monto, 2)) {
             $no_identificado->identificado = 1;
             $no_identificado->fecha_identificado = Carbon::now()->toDateString();
             $no_identificado->save();
         }
         return redirect()->action('EgresosController@show', $egreso_id)->with(['message' => 'Póliza de Ingreso creada con éxito']);
     } else {
         return redirect()->back()->with(['message' => 'No se puede realizar esta acción']);
     }
 }
Esempio n. 2
0
 public function chequeRtf($id)
 {
     $egreso = Egreso::findOrFail($id);
     $egreso->load('proyectos.fondos', 'proyectos.urg');
     $arr_rms = [];
     if (count($egreso->rms) > 0) {
         foreach ($egreso->rms as $rm) {
             $arr_rms[$rm->rm] = ['cog' => $rm->cog->cog, 'monto' => 0];
         }
         foreach ($egreso->rms as $rm) {
             $arr_rms[$rm->rm]['monto'] += $rm->pivot->monto;
         }
     }
     $fecha_texto = \Utility::fecha_texto($egreso->fecha);
     $nat = new Nat(round($egreso->monto, 2), '');
     $monto_letra = $nat->convertir();
     $presu = \InfoDirectivos::getResponsable('PRESU')->iniciales;
     $cfin = \InfoDirectivos::getResponsable('FIN')->iniciales;
     $elabora = \Auth::user()->iniciales;
     return view('egresos.formCheque', compact('egreso', 'monto_letra', 'fecha_texto', 'presu', 'cfin', 'elabora', 'arr_rms'));
 }