public function info_marea_roja_filtro() { $params = $this->input->post(null, true); header('Content-type: application/json'); $this->load->model("usuario_region_model", "_usuario_region_model"); $this->load->helper(array("modulo/usuario/usuario", "modulo/direccion/region", "modulo/comuna/default")); $this->load->library(array("core/fecha/fecha_conversion", "core/string/arreglo")); $this->load->model("marea_roja_model", "_marea_roja_model"); $casos = array(); $lista_regiones = $this->_emergencia_model->listarRegionesPorEmergencia($params["id"]); $fecha_desde = $this->fecha_conversion->fechaToDateTime($params["fecha_desde"], array("d-m-Y", "d/m/Y")); $fecha_hoy = $this->fecha_conversion->fechaToDateTime($params["fecha_hasta"], array("d-m-Y", "d/m/Y")); //$TwoWeeksAgo = new DateTime($desde); //$fecha_desde = new DateTime($params["fecha_desde"]); //$fecha_desde = $TwoWeeksAgo->sub(new DateInterval('P'.abs ( (7-date("N")-14)).'D')); //$fecha_hoy = new DateTime($hoy); /* colores */ $valida_colores = false; if (isset($params['colores'])) { $valida_colores = true; } /* recursos */ $recursos = array(); $valida_recurso = false; if (isset($params['recursos']) and !empty($params['recursos'])) { $valida_recurso = true; $recursos = trim($params['recursos'], "-"); $recursos = explode("-", $recursos); } if ($params['id'] == 0) { $lista = $this->_marea_roja_model->listar(array("fecha_desde" => $fecha_desde, "fecha_hasta" => $fecha_hoy, "region" => $this->arreglo->arrayToArray($lista_regiones, "reg_ia_id"), "ingreso_resultado" => 1, "validado" => "1")); } else { $lista = $this->_marea_roja_model->listar(array("fecha_desde" => $fecha_desde, "fecha_hasta" => $fecha_hoy, "region" => $this->arreglo->arrayToArray($lista_regiones, "reg_ia_id"), "ingreso_resultado" => 1, "validado" => "1")); } $total = 0; if ($lista != null) { $casos_titulos = array("id", "fecha_muestra", "resultado", "fecha", "propiedades", "lat", "lng"); foreach ($lista as $row) { $propiedades = array("MUESTREO N°" => $row["id"]); $propiedades = Zend_Json::decode($row["propiedades"]); if ($propiedades["RESULTADO"] != "SR") { $valido = true; $propiedades["INGRESADO POR"] = (string) nombreUsuario($row["id_usuario"]); $propiedades["TIPO"] = "MAREA ROJA"; $propiedades["REGION"] = nombreRegion($propiedades["REGION"]); $propiedades["COMUNA"] = nombreComuna($propiedades["COMUNA"]); // se limpian datos a mostrar unset($propiedades["INGRESADO POR"]); unset($propiedades["FORM COORDENADAS TIPO"]); unset($propiedades["FORM COORDENADAS GMS GRADOS LAT"]); unset($propiedades["FORM COORDENADAS GMS MINUTOS LAT"]); unset($propiedades["FORM COORDENADAS GMS SEGUNDOS LAT"]); unset($propiedades["FORM COORDENADAS GMS GRADOS LNG"]); unset($propiedades["FORM COORDENADAS GMS MINUTOS LNG"]); unset($propiedades["FORM COORDENADAS GMS SEGUNDOS LNG"]); unset($propiedades["FORM COORDENADAS UTM ZONA"]); unset($propiedades["FORM COORDENADAS UTM LATITUD"]); unset($propiedades["FORM COORDENADAS UTM LONGITUD"]); unset($propiedades["FORM COORDENADAS LATITUD"]); unset($propiedades["FORM COORDENADAS LONGITUD"]); $coordenadas = Zend_Json::decode($row["coordenadas"]); $propiedades["latitud"] = $coordenadas["lat"]; $propiedades["longitud"] = $coordenadas["lng"]; // parche para error en ingreso if ($propiedades["RESULTADO"] == "N.D") { $propiedades["RESULTADO"] = "ND"; } if ($valido and $valida_recurso) { if (!in_array($propiedades["RECURSO"], $recursos)) { $valido = false; } } if ($valido and $valida_colores) { if (isset($params['colores'][0]) and !empty($params['colores'][0]) and $params['colores'][0] == strtoupper(TRIM($propiedades["RESULTADO"]))) { $valido = true; } else { if (isset($params['colores'][1]) and !empty($params['colores'][1]) and ((int) $propiedades['RESULTADO'] > 0 and (int) $propiedades['RESULTADO'] < 50)) { $valido = true; } else { if (isset($params['colores'][2]) and !empty($params['colores'][2]) and ((int) $propiedades['RESULTADO'] >= 50 and (int) $propiedades['RESULTADO'] < 80)) { $valido = true; } else { if (isset($params['colores'][3]) and !empty($params['colores'][3]) and (int) $propiedades['RESULTADO'] >= 80) { $valido = true; if ((int) $propiedades['RESULTADO'] >= $params['rango_inicio'] and (int) $propiedades['RESULTADO'] <= $params['rango_final']) { $valido = true; } else { $valido = false; } } else { $valido = false; } } } } } if ($valido) { $casos[] = array($row["id"], $this->fecha_conversion->fechaToDateTime($propiedades["FECHA"], array("d-m-Y", "d/m/Y"))->format("d-m-Y"), strtoupper(TRIM($propiedades["RESULTADO"])), $propiedades["FECHA"], $propiedades, $coordenadas["lat"], $coordenadas["lng"]); $total++; } /*$casos[] = array( "id" => $row["id"], "fecha_muestra" => $this->fecha_conversion->fechaToDateTime( $propiedades["FECHA"], array( "d-m-Y", "d/m/Y" ) )->format("d-m-Y"), "resultado" => strtoupper(TRIM($propiedades["RESULTADO"])), "fecha" => $propiedades["FECHA"], "propiedades" => $propiedades, "lat" => $coordenadas["lat"], "lng" => $coordenadas["lng"] );*/ } } } echo Zend_Json::encode(array("correcto" => true, "lista" => $casos, "total" => $total, "titulos" => $casos_titulos)); }