/** * 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); } }
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); }