private function consultarFondosExternos() { $fondos_importados = \Fondo::lists('fondo'); if (count($fondos_importados) > 0) { $fondos_externos = \DB::connection($this->db_origen)->table('tbl_fondos')->whereNotIn('fondo', $fondos_importados)->get(); } else { $fondos_externos = \DB::connection($this->db_origen)->table('tbl_fondos')->get(); } return $fondos_externos; }
public function store() { $importador = new \Gia\Classes\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'); }
private function extraerFondo() { $t_fondo = strstr($this->text, "Fondo: "); $pos_limite = strpos($t_fondo, "Monto Total"); $fondo_txt = substr($t_fondo, 0, $pos_limite); $fondo_txt = substr($fondo_txt, 7); $fondo_txt = trim($fondo_txt); $fondo_txt = str_replace(PHP_EOL, '', $fondo_txt); $fondo_txt = str_replace(' ', '', $fondo_txt); $fondo_txt = utf8_encode($fondo_txt); $fondo = \Fondo::whereDFondo($fondo_txt)->get(); if (count($fondo) > 0) { $this->fondo = $fondo[0]->fondo; } //@todo Agregar mensaje y bandera de error cuando no se encuentre el fondo //@todo Agregar fomulario emergente para dar de alta el fondo $this->d_fondo = $fondo_txt; }