/**
  * 
  * @throws Exception
  */
 public function generar_pdf()
 {
     header('Content-type: application/json');
     $this->load->model("region_model", "_region_model");
     $this->load->helper(array("modulo/laboratorio/default"));
     $this->load->library(array("pdf", "core/archivo/archivo_cache", "core/archivo/archivo_save", "module/usuario/usuario_configuracion", "module/marea_roja_informe/marea_roja_informe_numero", "module/region/region_logo"));
     $params = $this->input->post(null, true);
     try {
         $lista = $this->_marea_roja_model->listaById($params["muestras"]);
         if (!is_null($lista)) {
             $lista_muestras = array();
             foreach ($lista as $muestra) {
                 $propiedades = Zend_Json::decode($muestra["propiedades"]);
                 $coordenadas = Zend_Json::decode($muestra["coordenadas"]);
                 $lista_muestras[] = array("id" => $muestra["id"], "acta" => $muestra["numero_muestra"], "propiedades" => $propiedades, "coordenadas" => $coordenadas);
             }
             $laboratorio = $this->usuario_configuracion->getLaboratorio();
             if (is_null($laboratorio)) {
                 throw new Exception("El usuario no tiene asignado un laboratorio");
             }
             $this->marea_roja_informe_numero->setLaboratorio($laboratorio->id);
             $numero = $this->marea_roja_informe_numero->getNumero();
             $html = $this->load->view("pages/marea_roja_informe_cierre/pdf", array("fecha" => DATE("d/m/Y"), "nombre" => nombreUsuario(), "lista" => $lista_muestras, "laboratorio" => $laboratorio->nombre, "id_informe" => $numero), true);
             $pdf = $this->pdf->load();
             $this->region_logo->setRegion($laboratorio->id_region);
             $pdf->imagen_logo = file_get_contents($this->region_logo->getLogoPath());
             $pdf->SetFooter($_SERVER['HTTP_HOST'] . '|{PAGENO}/{nb}|' . date('d-m-Y'));
             $pdf->WriteHTML($html);
             $documento = $pdf->Output('formulario.pdf', 'S');
             $hash = $this->archivo_cache->cache($documento, "informe_cierre.pdf", false);
             $this->archivo_save->saveFromCache($hash, array("marea_roja", "informe"));
             $id_archivo = $this->archivo_save->saveToBd();
             if (is_null($id_archivo)) {
                 throw new Exception("El archivo no se pudo guardar");
             }
             // **** guardar nuevo informe **** //
             $id = $this->_marea_roja_muestra_informe_model->insert(array("id_archivo" => $id_archivo, "id_laboratorio" => $laboratorio->id, "id_usuario" => $this->session->userdata("session_idUsuario"), "fecha" => DATE("Y-m-d H:i:s"), "numero" => $numero));
             $this->_marea_roja_informe_muestra_model->query()->insertOneToMany("id_informe", "id_muestra", $id, $params["muestras"]);
             $this->marea_roja_informe_numero->clear();
             // ****************************** //
             echo Zend_Json::encode(array("correcto" => true, "hash" => $hash));
         } else {
             throw new Exception("No existe el caso");
         }
     } catch (Exception $e) {
         echo Zend_Json::encode(array("correcto" => false, "error" => $e->getMessage()));
     }
 }
 /**
  * Trae datos de casos de fiebre
  */
 public function json_casos_febriles()
 {
     header('Content-type: application/json');
     $this->load->model("casos_febriles_estado_model");
     $this->load->model("casos_febriles_enfermedades_model", "_casos_febriles_enfermedades_model");
     $this->load->model("casos_febriles_model", "_rapanui_dengue_model");
     $this->load->helper(array("modulo/usuario/usuario", "modulo/casos_febriles/permiso"));
     $this->load->library(array("module/evento/evento_configuracion"));
     $params = $this->input->post(null, true);
     $emergencia = $this->_emergencia_model->getById($params["id"]);
     if (is_null($emergencia)) {
         throw new Exception("La emergencia no existe");
     }
     $this->evento_configuracion->setEvento($emergencia->eme_ia_id);
     $casos = array();
     $lista = $this->_rapanui_dengue_model->listar(array("comuna" => $this->evento_configuracion->listaComunas()));
     if ($lista != null) {
         foreach ($lista as $row) {
             $ok = true;
             $propiedades = Zend_Json::decode($row["propiedades"]);
             if ($ok) {
                 $propiedades["MÉDICO"] = (string) nombreUsuario($row["id_usuario"]);
                 if (!permisoCasosFebriles("datos_personales")) {
                     unset($propiedades["RUN"]);
                     unset($propiedades["NOMBRE"]);
                     unset($propiedades["APELLIDO"]);
                     unset($propiedades["TELEFONO"]);
                     unset($propiedades["NUMERO PASAPORTE"]);
                 }
                 $enfermedades_confirmadas = array();
                 if ($row["id_estado"] == Casos_Febriles_Estado_Model::CONFIRMADO) {
                     $lista_enfermedades = $this->_casos_febriles_enfermedades_model->listarPorCaso($row["id"]);
                     if (!is_null($lista_enfermedades)) {
                         foreach ($lista_enfermedades as $enfermedad) {
                             $enfermedades_confirmadas[] = array("id" => $enfermedad["id_enfermedad"], "letra" => strtoupper(substr($enfermedad["nombre"], 0, 1)), "nombre" => strtoupper($enfermedad["nombre"]));
                         }
                     }
                 }
                 $coordenadas = json_decode($row["coordenadas"]);
                 $fecha = DateTime::createFromFormat("Y-m-d H:i:s", $row["fecha"]);
                 $propiedades["TIPO"] = "CASOS FEBRILES";
                 $casos[] = array("id" => $row["numero_caso"], "fecha_ingreso" => $fecha->format("d/m/Y"), "id_estado" => $row["id_estado"], "propiedades" => $propiedades, "enfermedades" => $enfermedades_confirmadas, "lat" => $coordenadas->lat, "lng" => $coordenadas->lng);
             }
         }
     }
     echo json_encode(array("correcto" => true, "lista" => $casos));
 }
 public function listadoMuestras()
 {
     $params = $this->input->post(null, true);
     $this->load->library(array("core/grid/grid_configuracion", "core/fecha/fecha_conversion", "core/string/arreglo"));
     $this->load->helper(array("modulo/usuario/usuario", "modulo/direccion/region", "modulo/comuna/default"));
     //echo $this->_nombre_grilla;die();
     $this->grid_configuracion->setGrilla($this->_nombre_grilla);
     $query = $this->_marea_roja_model->buscar(array_merge($params, $this->grid_configuracion->getFixedFilters()));
     $lista = $query->getAllResult();
     //print_r($lista);die();
     $casos = array();
     if ($lista) {
         $i = 0;
         foreach ($lista as $row) {
             $propiedades = array("MUESTREO N°" => $row["id"]);
             $propiedades = Zend_Json::decode($row["propiedades"]);
             if ($propiedades["RESULTADO"] != "SR") {
                 $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";
                 }
                 $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"]);
             }
             $i++;
         }
     }
     echo Zend_Json::encode(array("correcto" => true, "lista" => $casos));
 }
 /**
  * Asigna el valor a la celda
  * @param array $configuracion
  * @param int $fila
  * @param array $json
  * @return string
  */
 protected function _procesaValor($configuracion, $fila, $json)
 {
     $valor = "";
     if ($configuracion["tipo"] == "json") {
         if (isset($json[$configuracion["valor"]])) {
             $valor = $json[$configuracion["valor"]];
         }
     } else {
         $valor = $fila[$configuracion["valor"]];
     }
     $salida = "";
     if (isset($configuracion["metodo"])) {
         switch ($configuracion["metodo"]) {
             case "NOMBRE_REGION":
                 $salida = nombreRegion($valor);
                 break;
             case "NOMBRE_COMUNA":
                 $salida = nombreComuna($valor);
                 break;
             case "NOMBRE_LABORATORIO":
                 $salida = (string) laboratorioNombre($fila[$configuracion["valor_asociado"]]);
                 if (TRIM($salida) == "") {
                     $salida = laboratorioNombre($valor);
                     if (TRIM($salida) == "") {
                         $salida = $valor;
                     }
                 }
                 break;
             case "NOMBRE_USUARIO":
                 if (TRIM($valor) == "") {
                     $salida = "CARGA MASIVA";
                 } else {
                     $salida = (string) nombreUsuario($valor);
                 }
                 break;
             case "FECHA":
                 $fecha = $this->_ci->fecha_conversion->fechaToDateTime($valor, $configuracion["formato_entrada"]);
                 if ($fecha instanceof DateTime) {
                     $salida = $fecha->format($configuracion["formato_salida"]);
                 }
                 break;
             case "CORRECCION_SALTO_LINEA":
                 $salida = str_replace("\n", "", $valor);
                 break;
             case "RESULTADO_ESTADO":
                 if ($valor == "SR") {
                     $salida = "Rechazo técnico";
                 } elseif ($valor == "ND" or $valor == "N.D" or $valor == "N.D.") {
                     $salida = "No detectado";
                 } elseif ($valor == "") {
                     $salida = "";
                 } elseif ((int) $valor < 80) {
                     $salida = "No supera";
                 } elseif ((int) $valor > 80) {
                     $salida = "Supera";
                 } else {
                     $salida = "";
                 }
                 break;
             default:
                 $salida = $this->_procesaValorCustom($configuracion["metodo"], $valor);
                 break;
         }
     } else {
         $salida = $this->_procesaValorCustom("", $valor);
     }
     return $salida;
 }
        ?>
</td>
            <td width="10%"><div class="label blue"><?php 
        echo $row["fecha"];
        ?>
</div></td>
            <td width="10%"><?php 
        echo $row["nombre_animal"];
        ?>
</td>
            <td width="10%"><?php 
        echo $row["especie"];
        ?>
</td>
            <td width="10%"><?php 
        echo nombreUsuario($row["id_usuario"]);
        ?>
</td>

            <td width="10%"><?php 
        echo $row["run"];
        ?>
</td>
            <td width="20%"><?php 
        echo $row["nombre"];
        ?>
</td>

            <td width="20%"><?php 
        echo $row["direccion"];
        ?>
    ?>
                            <tbody>
                                <?php 
    foreach ($seguimientos as $seguimiento) {
        ?>
                                    <tr>
                                        <td class="text-center"><?php 
        echo $seguimiento->cd_dia_seguimiento;
        ?>
</td>
                                        <td class="text-center"><?php 
        echo ISODateTospanish($seguimiento->fc_fecha_seguimiento);
        ?>
</td>
                                        <td class="text-center"><?php 
        echo nombreUsuario($seguimiento->cd_usuario_fk);
        ?>
</td>
                                        <td class="text-center">
                                            <?php 
        $propiedades = json_decode($seguimiento->gl_diagnostico_seguimiento);
        ?>
                                            <?php 
        if (is_object($propiedades)) {
            ?>
                                                <?php 
            $prop = array();
            ?>

                                                <?php 
            foreach ($propiedades as $nombre => $valor) {
        ?>
                    </a>
                </td>
                <td width="5%" align="left">
                    <?php 
        echo ISODateTospanish($row["arch_f_fecha"]);
        ?>
                </td>
                <td width="10%" align="left">
                    <?php 
        echo nombreArchivoTipo($row["arch_c_tipo"]);
        ?>
                </td>
                <td width="15%" align="center">
                    <?php 
        echo nombreUsuario($row["usu_ia_id"]);
        ?>
                </td>
                <td width="30%">
                    <?php 
        echo $row["arch_c_descripcion"];
        ?>
                </td>
            </tr>
            <?php 
    }
    ?>
            <?php 
}
?>
        </tbody>
                <th width="20%">Usuario</th>
            </tr>
        </thead>
        <tbody>
            <?php 
foreach ($lista as $historial) {
    ?>
            <tr>
                <td width="20%" valign="top">
                    <?php 
    echo ISODateTospanish($historial["historial_fecha"]);
    ?>
                </td>
                <td width="60%" valign="top">
                    <?php 
    echo $historial["historial_comentario"];
    ?>
                </td>
                <td width="20%" valign="top">
                    <?php 
    echo nombreUsuario($historial["historial_usuario"]);
    ?>
                </td>
            </tr>
            <?php 
}
?>
        </tbody>
    </table>
</div>
 /**
  * 
  */
 public function info_rapanui_embarazadas()
 {
     $this->load->helper("modulo/usuario/usuario");
     header('Content-type: application/json');
     $casos = array();
     $this->load->model("embarazos_model", "_embarazos_model");
     $lista = $this->_embarazos_model->listarPorFecha(date("Y-m-d"));
     if ($lista != null) {
         $hoy = new DateTime("now");
         foreach ($lista as $row) {
             $mostrar = true;
             $propiedades = Zend_Json::decode($row["propiedades"]);
             if (isset($propiedades["PARTO PREMATURO"]) and strtolower($propiedades["PARTO PREMATURO"]) == "si") {
                 $fecha_prematuro = DateTime::createFromFormat("d/m/Y", $propiedades["FECHA PREMATURO"]);
                 if ($fecha_prematuro instanceof DateTime) {
                     if (strtotime($hoy->format("Y-m-d")) > strtotime($fecha_prematuro->format("Y-m-d"))) {
                         $mostrar = false;
                     }
                 }
             }
             if (isset($propiedades["SALIDA ISLA"]) and strtolower($propiedades["SALIDA ISLA"]) == "si") {
                 $fecha_salida = DateTime::createFromFormat("d/m/Y", $propiedades["FECHA SALIDA ISLA"]);
                 if ($fecha_salida instanceof DateTime) {
                     if (strtotime($hoy->format("Y-m-d")) > strtotime($fecha_salida->format("Y-m-d"))) {
                         $mostrar = false;
                     }
                 }
             }
             if (isset($propiedades["REGRESO ISLA"]) and strtolower($propiedades["REGRESO ISLA"]) == "si") {
                 $fecha_regreso = DateTime::createFromFormat("d/m/Y", $propiedades["FECHA REGRESO ISLA"]);
                 if ($fecha_regreso instanceof DateTime) {
                     if (strtotime($hoy->format("Y-m-d")) > strtotime($fecha_regreso->format("Y-m-d"))) {
                         $mostrar = true;
                     }
                 }
             }
             if ($mostrar) {
                 $propiedades["INGRESADO POR"] = (string) nombreUsuario($row["id_usuario"]);
                 $propiedades["TIPO"] = "EMBARAZADA";
                 $fecha_fur = DateTime::createFromFormat("Y-m-d", $row["FUR"]);
                 if ($fecha_fur instanceof DateTime) {
                     $interval = $fecha_fur->diff($hoy);
                     $semana = (int) ((int) $interval->format('%R%a') / 7 - (int) $interval->format('%R%a') % 7);
                 }
                 if (!puedeVerFormularioDatosPersonales("casos_febriles")) {
                     unset($propiedades["RUN"]);
                     unset($propiedades["NOMBRE"]);
                     unset($propiedades["APELLIDO"]);
                     unset($propiedades["TELEFONO"]);
                     unset($propiedades["NUMERO PASAPORTE"]);
                 }
                 $coordenadas = json_decode($row["coordenadas"]);
                 $casos[] = array("id" => $row["id"], "id_estado" => $row["id_estado"], "propiedades" => $propiedades, "lat" => $coordenadas->lat, "lng" => $coordenadas->lng, "semana" => $semana);
             }
         }
     }
     echo json_encode(array("correcto" => true, "lista" => $casos));
 }
}
?>
" role="navigation">
            <div class="navbar-collapse sidebar-collapse collapse">
                <ul id="side" class="nav navbar-nav side-nav">

                    <li class="side-user hidden-xs">
                        <?php 
echo imagenPerfilUsuario();
?>
                        <p class="welcome">
                            <i class="fa fa-key"></i> Has iniciado sesi&oacute;n como
                        </p>
                        <p class="name tooltip-sidebar-logout">
                            <?php 
echo nombreUsuario();
?>
                             <a style="color: inherit" class="logout_open" href="#logout" data-toggle="tooltip" data-placement="top" title="Logout"><i class="fa fa-sign-out"></i></a>
                        </p>
                        <div class="clearfix"></div>
                    </li>
                    <!--<li class="side-user hidden-xs">
                        
                        <p class="welcome">
                            <i class="fa fa-key"></i> Has iniciado sesi&oacute;n como
                        </p>
                        <p class="name tooltip-sidebar-logout">
                            {session_nombres} <a style="color: inherit" class="logout_open" href="#logout" data-toggle="tooltip" data-placement="top" title="Logout"><i class="fa fa-sign-out"></i></a>
                        </p>
                        <div class="clearfix"></div>
                    </li>-->
 public function obtenerJsonUsuariosImpersonables()
 {
     $this->load->helper(array("modulo/direccion/region", "modulo/usuario/usuario"));
     $this->load->model("usuario_model", "usuario_model");
     $this->load->model("usuario_region_model", 'usuario_region_model');
     $lista = $this->usuario_model->listar();
     $json = array();
     foreach ($lista as $usuario) {
         $lista_regiones = '';
         $regiones = $this->usuario_region_model->listarPorUsuario($usuario['usu_ia_id']);
         foreach ($regiones as $region) {
             if ($region['id_region'] == 13) {
                 $lista_regiones .= 'Región Metropolitana, ';
             } else {
                 $lista_regiones .= $region['id_region'] . 'º, ';
             }
         }
         $lista_regiones = trim($lista_regiones, ', ');
         $json[] = array($usuario["usu_ia_id"], nombreUsuario($usuario["usu_ia_id"]) . " - " . $lista_regiones);
     }
     echo json_encode($json);
 }
    ?>
                                <img width="40px" class="img-circle" alt="" src="<?php 
    echo $imagen["url"];
    ?>
">
                            </div>
                            <div class="col-xs-10">
                                <p>
                                   <?php 
    if ($noticia["visto"] == 0) {
        ?>
 <span class="badge blue">¡Nueva!</span> <?php 
    }
    ?>
 <strong><?php 
    echo ucwords(strtolower(nombreUsuario($noticia["id_usuario"])));
    ?>
</strong>: <?php 
    echo $noticia["nombre"];
    ?>
                                </p>
                                <p class="small">
                                    <i class="fa fa-clock-o"></i> <?php 
    echo $noticia["fecha"];
    ?>
                                </p>
                            </div>
                        </div>
                    </a>
                </li>
                <?php 
			</div>
			<div role="main" class="ui-content">
				<h3 class="ui-title">Ultima inconsistencia registrada.</h3>
				<?php 
        $inconsistencia = $db->get("inconsistencias", "*", ["AND" => ["id_control" => $_GET["control"], "id_punto_control" => $reg["id_punto_control"]], "ORDER" => "fecha DESC"]);
        ?>
				<p><?php 
        echo $inconsistencia["descripcion"];
        ?>
</p>
				<p>Equipajes en alerta: <br><?php 
        echo $inconsistencia["detalle"];
        ?>
</p>
				<p>Usuario: <br><?php 
        echo nombreUsuario($db, $inconsistencia["id_usuario"]);
        ?>
</p>
				<a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back">Cerrar</a>
			</div>
		</div>
<?php 
    }
}
?>
	</tbody>
</table>
<?php 
function estatusVuelo($estatus)
{
    if ($estatus == 1) {