/** * 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); } }
/** * 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'); } //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; } } else { $agenda["tecnicos"][$key]->x = ""; $agenda["tecnicos"][$key]->y = ""; $agenda["tecnicos"][$key]->battery = ""; $agenda["tecnicos"][$key]->phone = ""; } //Iconos shuffle($icons); $iconArray[$val->carnet_tmp] = array_pop($icons); } //Actuaciones gestionadas o temporales $lista["data"] = $visorgps->getBuscar($filtroArray); //XY de la actuacion $agenda["data"] = $this->getActuCoord($lista); //Iconos para agendas y tecnicos $agenda["icons"] = $iconArray; return json_encode($agenda); } }