public function finalizarSeguimiento() { $this->load->library(array("module/casos_febriles/validar", "module/casos_febriles/casos_febriles_numero", "Fechas")); header('Content-type: application/json'); $params = $this->input->post(null, true); if ($params['id'] > 0) { /** latitud y longitud **/ $coordenadas = array("lat" => $params["latitud"], "lng" => $params["longitud"]); unset($params["latitud"]); unset($params["longitud"]); /************************/ /** caso febril **/ $caso = $this->_rapanui_dengue_model->getById($params["id"]); unset($params["id"]); /*****************/ /** estado conclusion del caso **/ $id_estado = null; $estado = $this->_rapanui_dengue_estado_model->getById($params["conclusion_del_caso"]); if (!is_null($estado)) { $id_estado = $estado->id; } unset($params["conclusion_del_caso"]); /********************************/ /** enviado a epidemiologia **/ $enviado = 0; if (isset($params["enviado"])) { $enviado = $params["enviado"]; unset($params["enviado"]); } /*****************************/ /** conclusion enfermedades **/ $lista_enfermedades = array(); if (count($params["enfermedades"]) > 0) { foreach ($params["enfermedades"] as $enfermedad) { if ($enfermedad != "") { $lista_enfermedades[] = $enfermedad; } } } unset($params["enfermedades"]); /*****************************/ /** se preparan datos del formulario **/ $arreglo = array(); $fecha_sintomas = ''; foreach ($params as $nombre => $valor) { if ($nombre == "fecha_de_inicio_de_sintomas") { $fecha_sintomas = $valor; } if ($nombre === "comuna") { $this->_id_comuna = $valor; } $nombre = str_replace("_", " ", $nombre); $arreglo[strtoupper($nombre)] = $valor; } /**************************************/ if (is_null($caso)) { $this->casos_febriles_numero->setRegion($this->_id_region); $this->casos_febriles_numero->setComuna($this->_id_comuna); $this->casos_febriles_numero->setContarPorComuna($this->_bo_numero_caso_por_comuna); $id = $this->_rapanui_dengue_model->insert(array("fecha" => date("Y-m-d H:i:s"), "numero_caso" => $this->casos_febriles_numero->getNumero(), "propiedades" => json_encode($arreglo), "coordenadas" => json_encode($coordenadas), "id_region" => $this->_id_region, "id_comuna" => $this->_id_comuna, "id_usuario" => $this->session->userdata("session_idUsuario"), "id_estado" => $id_estado, "enviado_epidemilogico" => $enviado)); $this->casos_febriles_numero->clear(); $this->load->model('casos_febriles_seguimiento_model', '_casos_febriles_seguimiento'); $dia = Fechas::diffDias(Fechas::formatearBaseDatos($fecha_sintomas), date('Y-m-d'), true) + 1; $datos = array('cd_caso_fk' => $id, 'fc_fecha_seguimiento' => date('Y-m-d H:i:s'), 'cd_usuario_fk' => $this->session->userdata("session_idUsuario"), 'gl_diagnostico_seguimiento' => json_encode($arreglo), 'cd_dia_seguimiento' => $dia); $insertar = $this->_casos_febriles_seguimiento->insert($datos); } else { $this->_rapanui_dengue_model->update(array("propiedades" => json_encode($arreglo), "coordenadas" => json_encode($coordenadas), "id_estado" => $id_estado, "enviado_epidemilogico" => $enviado), $caso->id); $id = $caso->id; } if (count($params["enfermedades"]) > 0) { $this->_casos_febriles_enfermedades_model->query()->insertOneToMany("id_caso_febril", "id_enfermedad", $id, $lista_enfermedades); } echo json_encode(array("error" => array(), "correcto" => true)); } else { echo json_encode(array("error" => $this->validar->getErrores(), "correcto" => false)); } }