public function usuarios_region()
 {
     $lista = $this->_usuario_model->listar();
     foreach ($lista as $usuario) {
         $region = array($usuario["reg_ia_id"]);
         $this->_usuario_region_model->query()->insertOneToMany("id_usuario", "id_region", $usuario["usu_ia_id"], $region);
     }
 }
 /**
  * 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);
 }