/** * Guarda formulario de alarma */ public function guardar() { header('Content-type: application/json'); $this->load->model("comuna_model", "_comuna_model"); $this->load->model("region_model", "_region_model"); $this->load->helper(array("modulo/alarma/alarma")); $this->load->library(array("alarma/alarma_validar", "emergencia/email/emergencia_email_revision")); $se_envia_email = false; $params = $this->input->post(null, true); if (trim($params['latitud']) == "" or trim($params['longitud']) == "") { $comuna = $this->_comuna_model->getAllDataById($params["comunas"][0]); if (!is_null($comuna)) { $region = $this->_region_model->getById($comuna->reg_ia_id); if (!is_null($region)) { $params['latitud'] = $region->lat; $params['longitud'] = $region->lon; } } } if ($this->alarma_validar->esValido($params)) { $data = array("eme_c_nombre_informante" => $params['nombre_informante'], "eme_c_nombre_emergencia" => $params['nombre_emergencia'], "tip_ia_id" => $params['tipo_emergencia'], "est_ia_id" => $params['estado_emergencia'], "eme_c_lugar_emergencia" => $params['nombre_lugar'], "eme_d_fecha_emergencia" => spanishDateToISO($params['fecha_emergencia']), "rol_ia_id" => $this->session->userdata('session_idCargo'), "usu_ia_id" => $this->session->userdata('session_idUsuario'), "eme_c_descripcion" => $params['descripcion_emergencia'], "eme_c_observacion" => $params['observacion'], "eme_c_utm_lat" => $params['latitud'], "eme_c_utm_lng" => $params['longitud'], "eme_nivel" => $params['nivel_emergencia']); $evento = $this->_emergencia_model->query()->getById("eme_ia_id", $params["eme_id"]); //la alarma ya existia if (!is_null($evento)) { $id = $evento->eme_ia_id; $this->_emergencia_model->update($data, $evento->eme_ia_id); /*$se_envia_email = $this->_enviaEmail($id);*/ } else { $data["eme_d_fecha_recepcion"] = DATE("Y-m-d H:i:s"); $data["hash"] = $this->_nuevoHash(); $id = $this->_emergencia_model->insert($data); /*$se_envia_email = $this->_enviaEmail($id);*/ Evento_historial::putHistorial($id, 'Se ha creado el Evento con estado ' . nombreAlarmaEstado($params['estado_emergencia'])); } if (count($params['comunas']) == 1 and $params['comunas'][0] == 0) { $comunas_usuario = $this->_comuna_model->listarComunasPorUsuario($this->session->userdata("session_idUsuario")); $lista_comunas = array(); foreach ($comunas_usuario as $com) { $lista_comunas[] = $com['com_ia_id']; } } else { $lista_comunas = $params['comunas']; } $this->_emergencia_comuna_model->query()->insertOneToMany("eme_ia_id", "com_ia_id", $id, $lista_comunas); /*$this->_emergencia_comuna_model ->query() ->insertOneToMany( "eme_ia_id", "com_ia_id", $id, $params['comunas'] );*/ $se_envia_email = $this->_enviaEmail($id); $this->_guardarFormularioTipoEmergencia($id); //$this->_guardarArchivos($id,$this->session->userdata('session_idUsuario')); } $respuesta = array("se_envia_email" => $se_envia_email, "correcto" => $this->alarma_validar->getCorrecto(), "error" => $this->alarma_validar->getErrores()); echo Zend_Json::encode($respuesta); }
/** * * @param array $comunas */ public function setComunas($comunas) { if (!is_null($this->_emergencia)) { $this->_emergencia_comuna_model->query()->insertOneToMany("eme_ia_id", "com_ia_id", $this->_emergencia->eme_ia_id, $comunas); } }