Esempio n. 1
0
 public function importarReqs()
 {
     $reqs_legacy = $this->consultarReqsLegacy();
     foreach ($reqs_legacy as $req_legacy) {
         if (!empty($req_legacy->proy)) {
             $proyecto = Proyecto::whereProyecto($req_legacy->proy)->get(['id', 'urg_id']);
         } else {
             $proyecto = Proyecto::where('proyecto', 'like', $req_legacy->proy_esp . '%')->get(['id', 'urg_id']);
         }
         //Determinar el ID del usuario solicitante
         $solicita_id = User::whereLegacyUsername($req_legacy->solicita)->pluck('id');
         if (empty($solicita_id)) {
             $solicita_id = 2;
         }
         //Determinar el ID del usuario autoriza
         if (!empty($req_legacy->autoriza)) {
             $autoriza_id = User::whereLegacyUsername($req_legacy->autoriza)->pluck('id');
         } else {
             $autoriza_id = 0;
         }
         if (empty($autoriza_id)) {
             $autoriza_id = 2;
         }
         //Determinar el usuario responsable
         if (!empty($req_legacy->responsable)) {
             $user_id = User::whereLegacyUsername($req_legacy->responsable)->pluck('id');
         } else {
             $user_id = 0;
         }
         if (empty($user_id)) {
             $user_id = 2;
         }
         $test_req = Req::whereReq($req_legacy->req)->first(['req']);
         if (empty($test_req)) {
             $req_nueva = new Req();
             $req_nueva->req = $req_legacy->req;
             $req_nueva->fecha_req = $req_legacy->fecha_req;
             if (count($proyecto) > 0) {
                 $req_nueva->urg_id = $proyecto[0]->urg_id;
                 $req_nueva->proyecto_id = $proyecto[0]->id;
                 $req_nueva->etiqueta = $req_legacy->etiqueta;
             } else {
                 $req_nueva->urg_id = 1;
                 $req_nueva->proyecto_id = 1;
                 $req_nueva->etiqueta = $req_legacy->etiqueta . ' #RevisarProy-URG';
             }
             $req_nueva->lugar_entrega = $req_legacy->lugar_entrega;
             $req_nueva->obs = $req_legacy->obs;
             $req_nueva->solicita = $solicita_id;
             $req_nueva->autoriza = $autoriza_id;
             $req_nueva->estatus = $req_legacy->estatus;
             $req_nueva->user_id = $user_id;
             $req_nueva->tipo_cambio = $req_legacy->tc;
             $req_nueva->moneda = $req_legacy->moneda;
             $req_nueva->tipo_orden = $req_legacy->tipo_orden;
             $req_nueva->save();
         }
     }
 }
 public function importarSolicitudes()
 {
     $solicitudes_legacy = $this->consultarSolicitudesLegacy();
     foreach ($solicitudes_legacy as $sol_legacy) {
         $benef = \DB::connection('legacy_benef')->table('tbl_benef')->where('benef_id', '=', $sol_legacy->benef_id)->value('benef');
         $benef_id = Benef::whereBenef($benef)->pluck('id');
         $proyecto = Proyecto::whereProyecto($sol_legacy->proy)->first(['id', 'urg_id']);
         //Determinar el ID del usuario solicitante
         $solicita_id = User::whereLegacyUsername($sol_legacy->solicita)->pluck('id');
         //Determinar el usuario responsable
         if ($sol_legacy->responsable == 'Presupuesto') {
             $usuario = \InfoDirectivos::getResponsable('PRESU');
             $user_id = $usuario->id;
         } elseif ($sol_legacy->responsable == 'Contabilidad') {
             $usuario = \InfoDirectivos::getResponsable('CONTA');
             $user_id = $usuario->id;
         } elseif ($sol_legacy->responsable == 'Recepcion') {
             //Buscar primer usuario con rol recepcion
             $user_id = 2;
         } else {
             $user_id = User::whereLegacyUsername($sol_legacy->responsable)->pluck('id');
         }
         if (empty($sol_legacy->inventariable)) {
             $inventariable = 0;
         } else {
             $inventariable = 1;
         }
         $sol_nueva = new Solicitud();
         $sol_nueva->fecha = $sol_legacy->fecha;
         $sol_nueva->benef_id = $benef_id;
         $sol_nueva->tipo_solicitud = $sol_legacy->tipo_solicitud;
         $sol_nueva->urg_id = $proyecto->urg_id;
         $sol_nueva->proyecto_id = $proyecto->id;
         $sol_nueva->concepto = $sol_legacy->concepto;
         $sol_nueva->obs = $sol_legacy->obs . ' #SIGI: ' . $sol_legacy->solicitud_id;
         $sol_nueva->no_documento = $sol_legacy->no_documento;
         $sol_nueva->no_afin = $sol_legacy->id_afin;
         $sol_nueva->monto = $sol_legacy->monto;
         $sol_nueva->solicita = $solicita_id;
         $sol_nueva->estatus = $sol_legacy->estatus;
         $sol_nueva->user_id = $user_id;
         //responsable
         $sol_nueva->monto_pagado = $sol_legacy->monto_pagado;
         $sol_nueva->viaticos = $sol_legacy->viaticos;
         $sol_nueva->inventariable = $inventariable;
         $sol_nueva->save();
         if ($sol_nueva->estatus != 'Cancelada') {
             if ($sol_legacy->tipo_solicitud != 'Vale') {
                 $rms_solicitud = $this->consutlarRMs($sol_legacy->solicitud_id);
                 foreach ($rms_solicitud as $rm_legacy) {
                     $rm_id = Rm::whereRm($rm_legacy->rm)->value('id');
                     $sol_nueva->rms()->attach($rm_id, ['monto' => $rm_legacy->monto]);
                 }
             } else {
                 //Buscar si tiene capturado el objetivo
                 $objs_solicitud = $this->consultarObjetivos($sol_legacy->solicitud_id);
                 if (count($objs_solicitud) > 0) {
                     foreach ($objs_solicitud as $obj_legacy) {
                         $objetivo_id = Objetivo::whereObjetivo($obj_legacy->objetivo)->pluck('id');
                         if (empty($obj_legacy)) {
                             dd($obj_legacy);
                         }
                         $sol_nueva->objetivos()->attach($objetivo_id, ['monto' => $obj_legacy->monto]);
                     }
                 } else {
                     //Si no, asigna primer objetivo que encuentre en el proyecto
                     $objetivo_id = Rm::whereProyectoId($sol_nueva->proyecto_id)->pluck('objetivo_id');
                     if (empty($objetivo_id->objetivo_id)) {
                         $objetivo_id = 1;
                     }
                     $sol_nueva->objetivos()->attach($objetivo_id, ['monto' => $sol_nueva->monto]);
                 }
             }
         }
     }
 }
 /**
  * Display the specified resource.
  *
  * @return Response
  */
 public function show()
 {
     //$fileName = storage_path().'\app\proyectos\temp.txt'; //Windows
     //$fileName = str_replace('/', '\\',$fileName); //Windows
     $fileName = storage_path() . '/app/proyectos/temp.txt';
     $importador = new ImportadorProyecto($fileName);
     $importador->extraer();
     /**
      * @todo Verificar existencia de todos los campos
      */
     $verifica_proy = Proyecto::whereProyecto($importador->proy)->get();
     $data['verifica_proy'] = $verifica_proy;
     $data['proyecto'] = $importador->proy;
     $data['d_proyecto'] = $importador->d_proyecto;
     $data['urg'] = $importador->urg;
     $data['d_urg'] = $importador->d_urg;
     $data['fondo'] = $importador->fondo;
     $data['d_fondo'] = $importador->d_fondo;
     $data['monto'] = $importador->monto_proy;
     $data['aaaa'] = $importador->aaaa;
     $data['inicio'] = $importador->inicio;
     $data['fin'] = $importador->fin;
     $data['partidas'] = $importador->arr_recursos;
     return view('admin.proyectos.importPreview')->with($data);
 }
 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();
         }
     }
 }