/**
  * 
  * @param int $id_emergencia
  * @param string $comentario
  */
 static function putHistorial($id_emergencia, $comentario)
 {
     $ci =& get_instance();
     $historial = new Evento_historial();
     $historial->setUsuario($ci->session->userdata('session_idUsuario'));
     $historial->setEmergencia($id_emergencia);
     return $historial->guardar($comentario);
 }
 /**
  * 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();
     }
 }
 /**
  * Envia correo con reporte
  */
 public function ajax_enviar_correo()
 {
     $correcto = false;
     $pdf = null;
     $params = $this->input->post(null, true);
     $emergencia = $this->_emergencia_model->getById($params["id"]);
     if (!is_null($emergencia)) {
         $codigo = $this->_emergencia_model->getNumeracionReporteEmergencia($emergencia->eme_ia_id);
         $this->load->model('usuario_model', 'UsuarioModel');
         $destinatarios = array();
         //se genera el reporte
         $mapa = false;
         if (isset($params["adjuntar_reporte"]) && $params["adjuntar_reporte"] == 1) {
             if (isset($params['adjuntar_mapa']) && $params['adjuntar_mapa'] == 1) {
                 $this->emergencia_pdf->setHashImagen($params["hash"]);
                 $mapa = true;
             }
             $pdf = $this->emergencia_pdf->generar($emergencia->eme_ia_id, $mapa, $codigo);
             //$cod_pdf = $codigo .'-'.$emergencia->eme_ia_id;
             $reporte = $this->emergencia_email_reporte->setReporte($pdf, $codigo);
         }
         //se agregan destinatarios
         foreach ($params["destinatario"] as $email) {
             $this->emergencia_email_reporte->addTo($email);
             $destinatario = $this->UsuarioModel->getByEmail($email);
             if (!is_null($destinatario)) {
                 $destinatarios[] = $destinatario['usu_c_nombre'] . ' ' . $destinatario['usu_c_apellido_paterno'] . ' ' . $destinatario['usu_c_apellido_materno'];
             } else {
                 $destinatarios[] = $email;
             }
         }
         if (isset($params['copia']) && $params['copia'] == 1) {
             $this->emergencia_email_reporte->addTo($this->session->userdata('session_email'));
         }
         //se agregan archivos adjuntos
         if (count($params["archivos"]) > 0) {
             foreach ($params["archivos"] as $id_archivo) {
                 $this->emergencia_email_reporte->setArchivoAdjunto($id_archivo);
             }
         }
         $this->emergencia_email_reporte->setSubject($params["asunto"]);
         $pie_mensaje = '<p>--<br/>Midas - Emergencias<br/>Ministerio de Salud - Gobierno de Chile</p>';
         $this->emergencia_email_reporte->setMessage($params["mensaje"] . $pie_mensaje);
         $correcto = $this->emergencia_email_reporte->send($emergencia->eme_ia_id);
         if ($correcto) {
             if (!is_null($pdf)) {
                 $hash = $this->_guardarReporteTemporal($pdf, $codigo);
                 $this->evento_archivo->setEvento($emergencia->eme_ia_id);
                 $this->_emergencia_model->guardarRegistroReporteEmergencia($emergencia->eme_ia_id, $codigo);
                 $id_reporte = $this->evento_archivo->addArchivo($hash, $params["asunto"], Archivo_Tipo_Model::REPORTE, NULL, $this->session->userdata('session_idUsuario'));
                 $this->evento_archivo->agregarArchivosAnteriores();
                 $this->evento_archivo->guardar();
                 Evento_historial::putHistorial($emergencia->eme_ia_id, 'Se ha enviado el reporte ' . linkArchivo($id_reporte) . ' de la emergencia a los siguientes usuarios: ' . implode(',', $destinatarios));
             }
         }
     }
     $respuesta = array("correcto" => $correcto, "error" => array());
     echo json_encode($respuesta);
 }
 /**
  * Activa la emergencia
  */
 public function ajax_activar_emergencia()
 {
     header('Content-type: application/json');
     $id_emergencia = $this->input->post('emergencia');
     $json = array();
     $update = $this->_emergencia_model->update(array('est_ia_id' => Emergencia_Estado_Model::EN_CURSO), $id_emergencia);
     if ($update) {
         $json['estado'] = true;
         $json['mensaje'] = 'Emergencia en Curso';
         Evento_historial::putHistorial($id_emergencia, "El evento ha pasado a ser una Emergencia en Curso");
     } else {
         $json['estado'] = false;
         $json['mensaje'] = 'Problemas al activar la emergencia. Intente nuevamente';
     }
     echo json_encode($json);
 }