示例#1
0
 /**
  * Obtiene lista de celulas y tecnicos
  * 
  * @return type
  */
 public function postPanelcelulatecnico()
 {
     if (Request::ajax()) {
         $filtroArray = array();
         //Actividad
         if (Input::get('actividad')) {
             $filtroArray['actividad'] = Input::get('actividad');
         }
         //Estado
         if (Input::get('estado')) {
             $filtroArray['estado'] = Input::get('estado');
         }
         //Empresa
         if (Input::get('empresa')) {
             $filtroArray['empresa'] = Input::get('empresa');
         }
         //Fecha agenda
         /* if ( Input::get('fecha_agenda') ) {
                $agendaArray = explode("/", Input::get('fecha_agenda'));
                $fechaAgenda = $agendaArray[2]
                               . "-"
                               . $agendaArray[1]
                               . "-"
                               . $agendaArray[0];
                $filtroArray['fecha_agenda'] = $fechaAgenda;
            }*/
         if (Input::get('fecha_agenda')) {
             $fechaAgenda = explode(" - ", Input::get('fecha_agenda'));
             $filtroArray['fecha_agenda'] = $fechaAgenda;
         }
         //Celula
         $celulaId = 0;
         if (Input::get('celula')) {
             $celulaArray = array();
             foreach (Input::get('celula') as $val) {
                 $valArray = explode("_", $val);
                 $celulaId = $valArray[1];
                 $celulaArray[] = $valArray[1];
             }
             $filtroArray['celula'] = $celulaArray;
         }
         if (Input::get('quiebre')) {
             $filtroArray['quiebre'] = Input::get('quiebre');
         }
         $visorgps = new Visorgps();
         //Celula tecnico
         $iconArray = array();
         $icons = $this->iconArray();
         $agenda["tecnicos"] = $visorgps->getCelulaTecnico($celulaId);
         foreach ($agenda["tecnicos"] as $key => $val) {
             //Ubicacion y bateria de tecnico
             $tecLocation = $visorgps->getTecLocations($val->carnet_tmp, date("Y-m-d"));
             if (!empty($tecLocation)) {
                 foreach ($tecLocation as $loc) {
                     $agenda["tecnicos"][$key]->x = $loc->X;
                     $agenda["tecnicos"][$key]->y = $loc->Y;
                     $agenda["tecnicos"][$key]->battery = $loc->Battery;
                     $agenda["tecnicos"][$key]->phone = $loc->MobileNumber;
                     $agenda["tecnicos"][$key]->tiempo = $loc->tiempo;
                 }
             } else {
                 $agenda["tecnicos"][$key]->x = "";
                 $agenda["tecnicos"][$key]->y = "";
                 $agenda["tecnicos"][$key]->battery = "";
                 $agenda["tecnicos"][$key]->phone = "";
                 $agenda["tecnicos"][$key]->tiempo = "";
             }
             //Iconos
             if (empty($icons)) {
                 $icons = $this->iconArray();
             }
             shuffle($icons);
             $iconArray[$val->carnet_tmp] = array_pop($icons);
             //Grupos
             $agenda["tecnicos"][$key]->grupo = "";
             $grupos = $visorgps->getTecnicoGrupo($celulaId, $val->id);
             if (isset($grupos["data"]) and count($grupos["data"]) > 0) {
                 $agenda["tecnicos"][$key]->grupo = $grupos["data"][0]->grupo;
             }
         }
         //Actuaciones gestionadas o temporales
         //$lista["data"] = $visorgps->getBuscar($filtroArray);
         $agenda["data"] = $visorgps->getBuscar($filtroArray);
         //XY de la actuacion
         //$agenda["data"] = $this->getActuCoord($lista);
         //Iconos para agendas y tecnicos
         $agenda["icons"] = $iconArray;
         //Horarios por quiebre
         $zonal = DB::table('zonales')->where('abreviatura', Input::get('zonal'))->first();
         $geoplan = new Geoplan();
         $horario = array();
         $data = $geoplan->getPlanHorario(implode(",", Input::get('quiebre')), Input::get('zonal'), implode(",", Input::get('empresa')));
         foreach ($data["data"] as $val) {
             $horario[$val->quiebre][] = array("horario_id" => $val->horario_id, "horario" => $val->horario);
         }
         $agenda["horario"] = $horario;
         return json_encode($agenda);
     }
 }
示例#2
0
 public function postUploadfile()
 {
     $visorgps = new Visorgps();
     $upload = $this->_uploadController->postCargartmp(1, 1);
     $data = json_decode($upload);
     $filtro["codactu"] = $data->data;
     $filtro["estado"] = array(-1);
     $estados = DB::table("estados")->where("estado", 1)->get(array("id"));
     foreach ($estados as $val) {
         $filtro["estado"][] = $val->id;
     }
     $filtro["estado"][] = -1;
     $filtro["actividad"] = explode(",", Input::get('actividad'));
     //$agenda = $visorgps->getBuscar($filtro);
     //print_r($filtro);
     $iconArray = array();
     $icons = $this->iconArray();
     $quiebreIdArray = array();
     $empresaIdArray = array();
     //Actuaciones gestionadas o temporales
     $lista["data"] = $visorgps->getBuscar($filtro);
     foreach ($lista["data"] as $key => $val) {
         if (array_key_exists($val->carnet_tmp, $iconArray) === false) {
             $icon = array_pop($icons);
             $iconArray[$val->carnet_tmp] = $icon["cal"];
             $lista["data"][$key]->icon = $icon["cal"];
         } else {
             $lista["data"][$key]->icon = $iconArray[$val->carnet_tmp];
         }
         //ID quiebre
         if (array_search($val->quiebre_id, $quiebreIdArray) === false) {
             $quiebreIdArray[] = $val->quiebre_id;
         }
         //ID empresa
         if (array_search($val->empresa_id, $empresaIdArray) === false) {
             $empresaIdArray[] = $val->empresa_id;
         }
     }
     //XY de la actuacion
     //$agenda["data"] = $this->getActuCoord($lista);
     $agenda["data"] = $lista["data"];
     //Iconos para agendas y tecnicos
     $agenda["icons"] = $iconArray;
     //Horarios por quiebre
     $geoplan = new Geoplan();
     $horario = array();
     $datah = $geoplan->getPlanHorario(implode(",", $quiebreIdArray), Input::get('zonal'), Input::get('empresa'));
     foreach ($datah["data"] as $valh) {
         $horario[$valh->quiebre][] = array("horario_id" => $valh->horario_id, "horario" => $valh->horario);
     }
     //$agenda["horario"] = $horario;
     $return = array('upload' => $data->upload, 'data' => $data->data, 'agenda' => $agenda, 'horario' => $horario);
     return json_encode($return);
 }