Ejemplo n.º 1
0
 public function importarCompensaciones()
 {
     $cambios_cuenta = $this->consultaCambioCuenta();
     foreach ($cambios_cuenta as $cambio) {
         $cambio_origenes = $this->consultaCambioOrigen($cambio->cambio_id);
         $cambio_destinos = $this->consultaCambioDestino($cambio->cambio_id);
         $compensa_rm = CompensaRm::create(['fecha' => $cambio->fecha, 'tipo' => $cambio->tipo]);
         if (count($cambio_origenes) > 0) {
             foreach ($cambio_origenes as $origen) {
                 $origen_rm_id = Rm::whereRm($origen->rm_origen)->value('id');
                 $compensa_origen = new CompensaOrigen(['rm_id' => $origen_rm_id, 'monto' => $origen->monto]);
                 $compensa_rm->compensaOrigenes()->save($compensa_origen);
             }
         }
         if (count($cambio_destinos) > 0) {
             foreach ($cambio_destinos as $destino) {
                 $destino_rm_id = Rm::whereRm($destino->rm_destino)->value('id');
                 $compensa_destino = new CompensaDestino(['rm_id' => $destino_rm_id, 'monto' => $destino->monto]);
                 $compensa_rm->compensaDestinos()->save($compensa_destino);
             }
         }
         if ($cambio->tipo == 'ExternaIngreso' || $cambio->tipo == 'ExternaEgreso') {
             $legacy_comp_ext = $this->consultaCompensaExterna($cambio->cambio_id);
             $urg_externa_id = UrgExterna::whereUrgExterna($legacy_comp_ext->ures_ext)->pluck('id');
             if (empty($urg_externa_id)) {
                 $urg_externa_id = UrgExterna::whereUrgExterna('2.2')->pluck('id');
             }
             $compensa_externa = new CompensaExterna(['urg_externa_id' => $urg_externa_id, 'tipo' => $legacy_comp_ext->tipo, 'concepto' => $legacy_comp_ext->concepto]);
             $compensa_rm->compensaExternas()->save($compensa_externa);
         }
     }
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $urg_externa_id = $request->input('urg_externa_id');
     $concepto = $request->input('concepto');
     $tipo_compensa_externa = $request->input('tipo_compensa_externa');
     $proyecto_id = $request->input('proyecto_id');
     $proyecto = Proyecto::find($proyecto_id);
     $proyecto->load('fondos');
     $documento_afin = $request->input('documento_afin');
     if (empty($documento_afin)) {
         $documento_afin = 0;
     }
     $fecha = \Carbon\Carbon::now()->toDateString();
     $compensa_rm = CompensaRm::create(['documento_afin' => $documento_afin, 'fecha' => $fecha, 'tipo' => 'Externa']);
     $monto_total = 0;
     if ($request->input('rm_aplicacion') > 0) {
         $j = 0;
         foreach ($request->input('rm_aplicacion') as $rm_aplicacion) {
             $monto_aplicacion = $request->input('monto_aplicacion')[$j];
             if ($monto_aplicacion > 0) {
                 if ($tipo_compensa_externa == 'Abono') {
                     CompensaDestino::create(['compensa_rm_id' => $compensa_rm->id, 'rm_id' => $rm_aplicacion, 'monto' => $monto_aplicacion]);
                 }
                 if ($tipo_compensa_externa == 'Cargo') {
                     CompensaOrigen::create(['compensa_rm_id' => $compensa_rm->id, 'rm_id' => $rm_aplicacion, 'monto' => $monto_aplicacion]);
                 }
                 $monto_total += $monto_aplicacion;
             }
             $j++;
         }
     }
     if ($request->input('monto_nuevo_rm')[0] > 0) {
         $rm_origen_id = $request->input('rm_origen')[0];
         $rmOrigen = Rm::find($rm_origen_id);
         $k = 0;
         foreach ($request->input('rm_nuevo') as $rm_nuevo) {
             $rm = new Rm();
             $rm->rm = $rm_nuevo;
             $rm->proyecto_id = $proyecto_id;
             $rm->objetivo_id = 1;
             $rm->actividad_id = 1;
             $rm->cog_id = $request->input('cog_nuevo')[$k];
             $rm->fondo_id = $proyecto->fondos[0]->id;
             $rm->monto = 0;
             $rm->d_rm = 'Compensación #' . $compensa_rm->id;
             $rm->save();
             $monto_nuevo_rm = $request->input('monto_nuevo_rm')[$k];
             if ($monto_nuevo_rm > 0) {
                 //Insertar en compsena_destinos
                 CompensaDestino::create(['compensa_rm_id' => $compensa_rm->id, 'rm_id' => $rm->id, 'monto' => $monto_nuevo_rm]);
                 $monto_total += $monto_nuevo_rm;
             }
             $k++;
         }
     }
     $compensa_rm->compensaExternas()->create(['urg_externa_id' => $urg_externa_id, 'concepto' => $concepto, 'tipo' => $tipo_compensa_externa, 'monto' => $monto_total]);
     return redirect()->action('CompensaExternaController@index');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $proyecto_id_destino = $request->input('proyecto_id_destino');
     $proyecto_destino = Proyecto::find($proyecto_id_destino);
     $proyecto_destino->load('fondos');
     $documento_afin = $request->input('documento_afin');
     if (empty($documento_afin)) {
         $documento_afin = 0;
     }
     $fecha = \Carbon\Carbon::now()->toDateString();
     $compensa_rm = CompensaRm::create(['documento_afin' => $documento_afin, 'fecha' => $fecha, 'tipo' => 'Interna']);
     $monto_total = 0;
     $i = 0;
     foreach ($request->input('rm_origen') as $rm_origen) {
         $monto_origen = $request->input('monto_origen')[$i];
         if ($monto_origen > 0) {
             //Insertar en compsena_orgienes
             CompensaOrigen::create(['compensa_rm_id' => $compensa_rm->id, 'rm_id' => $rm_origen, 'monto' => $monto_origen]);
         }
         $i++;
     }
     $j = 0;
     foreach ($request->input('rm_destino') as $rm_destino) {
         $monto_destino = $request->input('monto_destino')[$j];
         if ($monto_destino > 0) {
             //Insertar en compsena_destinos
             CompensaDestino::create(['compensa_rm_id' => $compensa_rm->id, 'rm_id' => $rm_destino, 'monto' => $monto_destino]);
         }
         $j++;
     }
     if ($request->input('monto_nuevo_rm')[0] > 0) {
         $rm_origen_id = $request->input('rm_origen')[0];
         $rmOrigen = Rm::find($rm_origen_id);
         $k = 0;
         foreach ($request->input('rm_nuevo') as $rm_nuevo) {
             $rm = new Rm();
             $rm->rm = $rm_nuevo;
             $rm->proyecto_id = $proyecto_id_destino;
             $rm->objetivo_id = $request->input('objetivo_destino');
             $rm->actividad_id = 1;
             $rm->cog_id = $request->input('cog_nuevo')[$k];
             $rm->fondo_id = $proyecto_destino->fondos[0]->id;
             $rm->monto = 0;
             $rm->d_rm = 'Compensación #' . $compensa_rm->id;
             $rm->save();
             $monto_nuevo_rm = $request->input('monto_nuevo_rm')[$k];
             if ($monto_nuevo_rm > 0) {
                 //Insertar en compsena_destinos
                 CompensaDestino::create(['compensa_rm_id' => $compensa_rm->id, 'rm_id' => $rm->id, 'monto' => $monto_nuevo_rm]);
             }
             $k++;
         }
     }
     return redirect()->action('CompensaProyectosController@index');
 }