/** * Lista * @return array */ protected function _listar() { if (count($this->_lista_regiones) > 0) { return $this->_oficina_model->listarPorRegiones($this->_lista_regiones); } else { return array(); } }
/** * Servicio para retornar oficinas * de acuerdo a la region */ public function rest() { header('Content-type: application/json'); $params = $this->uri->uri_to_assoc(); $lista_oficinas = array(); $regiones = array(); if (!empty($params["region"]) and $params["region"] != "null") { $regiones = explode(",", $params["region"]); } if (count($regiones) > 0) { $lista_oficinas = $this->oficina_model->listarPorRegiones($regiones); if (is_null($lista_oficinas)) { $lista_oficinas = array(); } } else { $lista_oficinas = $this->oficina_model->listar(); } echo json_encode($lista_oficinas); }
/** * Guardar */ public function save() { $this->load->library(array("mantenedor/usuario/mantenedor_usuario_validar", "form/form_utilitario_select")); $this->load->model('usuario_hospitales_model'); $params = $this->input->post(null, true); $correcto = $this->mantenedor_usuario_validar->esValido($params); if ($correcto) { $data = array("usu_c_rut" => $params["rut"], "usu_c_nombre" => $params["nombre"], "usu_c_apellido_paterno" => $params["apellido_paterno"], "usu_c_apellido_materno" => $params["apellido_materno"], "bo_nacional" => $params["nacional"], "usu_c_email" => $params["email"], "usu_c_telefono" => $params["telefono_fijo"], "usu_c_celular" => $params["telefono_celular"], "crg_ia_id" => $params["cargo"], "est_ia_id" => $params["activo"]); $usuario = $this->usuario_model->getById($params["id"]); if (!is_null($usuario)) { $this->usuario_model->update($data, $usuario->usu_ia_id); $id_usuario = $usuario->usu_ia_id; if ($params["nacional"] == 1) { $lista_regiones = $this->form_utilitario_select->populateMultiselect($this->region_model->listar(), "reg_ia_id"); $this->usuario_region_model->query()->insertOneToMany("id_usuario", "id_region", $id_usuario, $lista_regiones); $lista_oficinas = $this->form_utilitario_select->populateMultiselect($this->oficina_model->listar(), "ofi_ia_id"); $this->usuario_oficina_model->query()->insertOneToMany("usu_ia_id", "ofi_ia_id", $id_usuario, $lista_oficinas); } else { $this->usuario_region_model->query()->insertOneToMany("id_usuario", "id_region", $id_usuario, $params["region"]); $this->usuario_oficina_model->query()->insertOneToMany("usu_ia_id", "ofi_ia_id", $id_usuario, $params['oficinas']); } $this->usuario_rol_model->query()->insertOneToMany("usu_ia_id", "rol_ia_id", $id_usuario, $params["roles"]); $this->usuario_laboratorio_model->query()->insertOneToMany("id_usuario", "id_laboratorio", $id_usuario, $params["laboratorio"]); /* registrar hospital asociado */ if (isset($params['hospital']) and $params['hospital'] > 0) { $arr = array('id_usuario' => $id_usuario, 'id_hospital' => $params['hospital']); $this->usuario_hospitales_model->insert($arr); } $respuesta = array("correcto" => $correcto, "error" => $this->mantenedor_usuario_validar->getErrores()); } else { $valida_rut = $this->usuario_model->getByRut($params["rut"]); if (!$valida_rut) { $data["usu_c_login"] = $this->_getLogin(str_replace(" ", ".", strtolower(substr(trim($params["nombre"]), 0, 1) . "." . trim($params["apellido_paterno"])))); $rut = explode("-", $params["rut"]); $data["usu_c_clave"] = sha1(substr($rut[0], strlen($rut[0]) - 4, 4)); $id_usuario = $this->usuario_model->insert($data); if ($params["nacional"] == 1) { $lista_regiones = $this->form_utilitario_select->populateMultiselect($this->region_model->listar(), "reg_ia_id"); $this->usuario_region_model->query()->insertOneToMany("id_usuario", "id_region", $id_usuario, $lista_regiones); $lista_oficinas = $this->form_utilitario_select->populateMultiselect($this->oficina_model->listar(), "ofi_ia_id"); $this->usuario_oficina_model->query()->insertOneToMany("usu_ia_id", "ofi_ia_id", $id_usuario, $lista_oficinas); } else { $this->usuario_region_model->query()->insertOneToMany("id_usuario", "id_region", $id_usuario, $params["region"]); $this->usuario_oficina_model->query()->insertOneToMany("usu_ia_id", "ofi_ia_id", $id_usuario, $params['oficinas']); } $this->usuario_rol_model->query()->insertOneToMany("usu_ia_id", "rol_ia_id", $id_usuario, $params["roles"]); $this->usuario_laboratorio_model->query()->insertOneToMany("id_usuario", "id_laboratorio", $id_usuario, $params["laboratorio"]); /* registrar hospital asociado */ if (isset($params['hospital']) and $params['hospital'] > 0) { $arr = array('id_usuario' => $id_usuario, 'id_hospital' => $params['hospital']); $this->usuario_hospitales_model->insert($arr); } $respuesta = array("correcto" => $correcto, "error" => $this->mantenedor_usuario_validar->getErrores()); } else { $respuesta = array("correcto" => false, "error" => array("rut" => "Ya existe un usuario con el mismo rut")); } } } else { $respuesta = array("correcto" => $correcto, "error" => $this->mantenedor_usuario_validar->getErrores()); } echo json_encode($respuesta); }