/**
  * 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');
 }
 /**
  * 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()
 {
     $importador = new ImportadorProyecto('/uploads/proyectos/temp.txt');
     $importador->extraer();
     $urg = Urg::whereUrg($importador->urg)->get(array('id'));
     $fondo = Fondo::whereFondo($importador->fondo)->get(array('id'));
     $arr_inicio = explode("/", $importador->inicio);
     $arr_fin = explode("/", $importador->fin);
     $proyecto = new Proyecto();
     $proyecto->proyecto = $importador->proy;
     $proyecto->d_proyecto = $importador->d_proyecto;
     $proyecto->monto = $importador->monto_proy;
     $proyecto->urg_id = $urg[0]->id;
     $proyecto->tipo_proyecto_id = 1;
     $proyecto->aaaa = $importador->aaaa;
     $proyecto->inicio = $arr_inicio[2] . "-" . $arr_inicio[1] . "-" . $arr_inicio[0];
     $proyecto->fin = $arr_fin[2] . "-" . $arr_fin[1] . "-" . $arr_fin[0];
     $proyecto->save();
     //Inserta datos @fondo_proyecto
     $proyecto->fondos()->attach($fondo[0]->id);
     $arr_objetivos = array();
     foreach ($importador->arr_recursos as $partida => $val) {
         //Buscar objetivo en key del arreglo
         $objetivo_id = array_search($val['objetivo'], $arr_objetivos);
         //Si no se encuentra
         if (empty($objetivo_id)) {
             $objetivo = new Objetivo();
             $objetivo->objetivo = $val['objetivo'];
             $objetivo->d_objetivo = $val['d_objetivo'];
             $objetivo->save();
             $objetivo_id = $objetivo->id;
             $arr_objetivos[$objetivo->id] = $val['objetivo'];
         }
         $cog = Cog::whereCog($val['cog'])->get();
         $rm = new Rm();
         $rm->rm = $partida;
         $rm->proyecto_id = $proyecto->id;
         $rm->objetivo_id = $objetivo_id;
         $rm->actividad_id = 1;
         $rm->cog_id = $cog[0]->id;
         $rm->fondo_id = $fondo[0]->id;
         $rm->monto = $val['monto'];
         $rm->d_rm = "";
         $rm->save();
     }
     return redirect()->action('ProyectosController@index');
 }
 public function importarRms()
 {
     $rms_externos = $this->consultarRmsExternos();
     if (count($rms_externos) > 0) {
         foreach ($rms_externos as $rm_nuevo) {
             $proyecto = Proyecto::whereProyecto($rm_nuevo->proy)->get(array('id'));
             $cog = Cog::whereCog($rm_nuevo->cta)->get(['id']);
             $fondo = Fondo::whereFondo($rm_nuevo->fondo)->get(array('id'));
             if (count($cog) == 0 || count($fondo) == 0 || count($proyecto) == 0) {
                 dd('RM c/error: ' . $rm_nuevo->rm);
             }
             $rms = new Rm();
             $rms->rm = $rm_nuevo->rm;
             $rms->proyecto_id = $proyecto[0]->id;
             if (empty($rm_nuevo->objetivo)) {
                 $rms->objetivo_id = 1;
             } else {
                 $obj = Objetivo::whereObjetivo($rm_nuevo->objetivo)->get(['id']);
                 if (count($obj) == 0) {
                     $objetivo = new Objetivo();
                     $objetivo->objetivo = $rm_nuevo->objetivo;
                     $objetivo->save();
                     $rms->objetivo_id = $objetivo->id;
                 } else {
                     $rms->objetivo_id = $obj[0]->id;
                 }
             }
             if (empty($rm_nuevo->actividad)) {
                 $rms->actividad_id = 1;
             } else {
                 $act = Actividad::whereActividad($rm_nuevo->actividad)->get(['id']);
                 if (count($act) == 0) {
                     $actividad = new Actividad();
                     $actividad->actividad = $rm_nuevo->actividad;
                     $actividad->save();
                     $rms->actividad_id = $actividad->id;
                 } else {
                     $rms->actividad_id = $act[0]->id;
                 }
             }
             $rms->cog_id = $cog[0]->id;
             $rms->fondo_id = $fondo[0]->id;
             $rms->monto = $rm_nuevo->monto;
             $rms->d_rm = '';
             $rms->save();
         }
     }
 }