/**
  * Finaliza una emergencia
  */
 public function save()
 {
     $this->load->library("validar");
     $correcto = true;
     $error = array();
     $params = $this->input->post(null, true);
     $emergencia = $this->emergencia_model->getById($params["id"]);
     if (!is_null($emergencia)) {
         if (!$this->validar->validarFechaSpanish($params["fecha_cierre"])) {
             $correcto = false;
             $error["fecha-cierre"] = "Debe ingresar una fecha";
         } else {
             $error["fecha-cierre"] = "";
         }
         if (!$this->validar->validarVacio($params["comentarios_cierre"])) {
             $correcto = false;
             $error["comentarios_cierre"] = "Debe ingresar los comentarios";
         } else {
             $error["comentarios_cierre"] = "";
         }
         if ($correcto) {
             $data = array("est_ia_id" => Emergencia_Estado_Model::FINALIZADA, "eme_d_fecha_cierre" => spanishDateToISO($params["fecha_cierre"]), "eme_c_comentario_cierre" => $params["comentarios_cierre"]);
             $this->emergencia_model->query()->update($data, "eme_ia_id", $emergencia->eme_ia_id);
             Evento_historial::putHistorial($emergencia->eme_ia_id, 'La emergencia ha sido finalizada: ' . $params["comentarios_cierre"]);
         }
         $respuesta = array("correcto" => $correcto, "error" => $error);
         echo json_encode($respuesta);
     } else {
         show_404();
     }
 }
 /**
  * Retorna contenido del email
  * @return string
  */
 protected function _getMensaje()
 {
     $mensaje = "<b>Confirmación de una situación de emergencia</b><br><br>";
     $mensaje .= "Se ha activado la emergencia código " . $this->_emergencia->eme_ia_id . "<br><br>";
     $mensaje .= "<b>Nombre de la emergencia:</b> " . $this->_emergencia->eme_c_nombre_emergencia . "<br>";
     $mensaje .= "<b>Tipo de emergencia:</b> " . $this->_getNombreTipo() . "<br>";
     $mensaje .= "<b>Lugar o dirección de la emergencia:</b> " . $this->_emergencia->eme_c_lugar_emergencia . "<br>";
     $mensaje .= "<b>Comuna(s):</b> " . $this->_listaNombreComunasConComa() . "<br>";
     $mensaje .= "<b>Fecha de la emergencia:</b> " . spanishDateToISO($this->_emergencia->eme_d_fecha_emergencia) . "<br>";
     $mensaje .= "<b>Fecha recepción de la emergencia:</b> " . spanishDateToISO($this->_emergencia->eme_d_fecha_recepcion) . "<br>";
     $mensaje .= "<b>Nombre del informante:</b> " . $this->_emergencia->eme_c_nombre_informante . "<br>";
     $mensaje .= "<b>Teléfono del informante:</b> " . $this->_emergencia->eme_c_telefono_informante . "<br><br>";
     $mensaje .= $this->getPie();
     return $mensaje;
 }
 public function enviaMsjAlarma($params)
 {
     $this->load->library('Simulacion');
     $error = 0;
     $this->load->helper('utils');
     $this->load->helper('session');
     $this->load->model("usuario_model", "UsuarioModel");
     $mensaje = "<b>EMERGENCIAS: Revisión de Evento</b><br><br>";
     $mensaje .= $this->session->userdata('session_nombres') . " ha registrado la alarma código : " . $params['eme_ia_id'] . "<br><br>";
     $mensaje .= "<b>Nombre de la emergencia:</b> " . $params['nombre_emergencia'] . "<br>";
     $mensaje .= "<b>Tipo de emergencia:</b> " . $params['tipo_emergencia'] . "<br>";
     $mensaje .= "<b>Nivel de emergencia:</b> " . $params['nivel_emergencia'] . "<br>";
     $mensaje .= "<b>Lugar o dirección de la emergencia:</b> " . $params['nombre_lugar'] . "<br>";
     $mensaje .= "<b>Comuna(s):</b> " . $params['lista_comunas'] . "<br>";
     $mensaje .= "<b>Fecha de la emergencia:</b> " . spanishDateToISO($params['fecha_emergencia']) . "<br>";
     $mensaje .= "<b>Fecha recepción de la emergencia:</b> " . spanishDateToISO($params['fecha_recepcion']) . "<br>";
     $mensaje .= "<b>Origen de la información:</b> " . $params['nombre_informante'] . "<br>";
     //$to = '*****@*****.**';
     //$to = '*****@*****.**';
     $simulacion = new Simulacion();
     $subject = $simulacion . "EMERGENCIAS: Revisión de Evento";
     $this->load->model("Sendmail_Model", "SendmailModel");
     //obtengo al CRE activo y le mando el mail con la url de activacion
     /*$qry_usu_cre = $this->db->query("
       SELECT u.usu_ia_id,u.usu_c_email from usuarios u
       JOIN usuarios_vs_oficinas uvo ON uvo.usu_ia_id = u.usu_ia_id
       JOIN oficinas_vs_comunas ovc ON ovc.ofi_ia_id = uvo.ofi_ia_id
       WHERE crg_ia_id = 4 and usu_b_cre_activo=1
       AND ovc.com_ia_id IN (".$params['lista_id_comunas'].") limit 1");*/
     /*$id_usuario_excluir = null;
       if ($usu_cre = $qry_usu_cre->result_array()) {
           $mensajeCRE = $mensaje;
           $mensajeCRE .= "<a href='" . site_url('emergencia/generaEmergencia/id/' . $params['eme_ia_id'] . '/k/' . $key_id) . "'>URL del Evento a revisar</a><br>";
           $mensajeCRE .= "<br><img src='" . base_url('assets/img/logoseremi.png') . "' alt='Seremi' title='Seremi'></img><br>";
           //envio mail al CRE
           $this->SendmailModel->emailSend($usu_cre[0]['usu_c_email'], null, null, $subject, $mensajeCRE);
           if ($this->session->userdata('session_idUsuario') == $usu_cre[0]['usu_ia_id']) {
               $id_usuario_excluir = $usu_cre[0]['usu_ia_id'];
           }
       } else {
           $error++;
       }*/
     // mando mail al resto
     $mensaje .= "<br><img src='" . base_url('assets/img/logoseremi.png') . "' alt='Seremi' title='Seremi'></img><br>";
     /*$to = $this->SendmailModel->get_destinatariosCorreo($params["id_tipo_emergencia"], $params['lista_id_comunas'], $id_usuario_excluir);*/
     $to = $params['correos_evento'];
     if (count($to) > 0) {
         if (!$this->SendmailModel->emailSend($to, null, null, $subject, $mensaje)) {
             $error++;
         }
     } else {
         $error++;
     }
     return $error == 0 ? true : false;
 }
 public function enviaMsjEmergencia($params)
 {
     $this->load->helper('utils');
     $mensaje = "<b>Confirmación de una situación de emergencia</b><br><br>";
     $mensaje .= "Se ha activado la emergencia código " . $params['eme_ia_id'] . "<br><br>";
     $mensaje .= "<b>Nombre de la emergencia:</b> " . $params['iNombreEmergencia'] . "<br>";
     $mensaje .= "<b>Tipo de emergencia:</b> " . $params['iTiposEmergencias'] . "<br>";
     $mensaje .= "<b>Lugar o dirección de la emergencia:</b> " . $params['iLugarEmergencia'] . "<br>";
     $mensaje .= "<b>Comuna(s):</b> " . $params['lista_comunas'] . "<br>";
     $mensaje .= "<b>Fecha de la emergencia:</b> " . spanishDateToISO($params['fechaEmergencia']) . "<br>";
     $mensaje .= "<b>Fecha recepción de la emergencia:</b> " . spanishDateToISO($params['fechaRecepcion']) . "<br>";
     $mensaje .= "<b>Nombre del informante:</b> " . $params['iNombreInformante'] . "<br>";
     $mensaje .= "<b>Teléfono del informante:</b> " . $params['iTelefonoInformante'] . "<br><br>";
     $mensaje .= "<br><img src='" . base_url('assets/img/logoseremi.png') . "' alt='Seremi' title='Seremi'/><br>";
     //$to = '*****@*****.**';
     //$to = '*****@*****.**';
     $subject = "Confirmación de una situación de emergencia";
     $this->load->model("Sendmail_Model", "SendmailModel");
     $to = $this->SendmailModel->get_destinatariosCorreo($params['iTiposEmergencias'], $params['lista_id_comunas'], null);
     return $this->SendmailModel->emailSend($to, null, null, $subject, $mensaje, false);
 }
 /**
  * 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);
 }