/** * Si está habilitada la actualización de la persona mediante el componente de persona del MINSA * se actualizan municipio, comunidad y dirección de residencia * * @param municipioResidencia nuevo municipio * @param comunidadResidencia nueva comunidad * @param direccionResidencia nueva dirección * @param personaId persona a actualizar * @param idNotificacion de la persona * @param request con datos de autenticación * @return resultado de la acción * @throws Exception */ @RequestMapping( value = "updatePerson", method = RequestMethod.GET, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<String> updatePerson( @RequestParam(value = "municipioResidencia", required = false) String municipioResidencia, @RequestParam(value = "comunidadResidencia", required = false) String comunidadResidencia, @RequestParam(value = "direccionResidencia", required = false) String direccionResidencia, @RequestParam(value = "personaId", required = false) Integer personaId, @RequestParam(value = "idNotificacion", required = false) String idNotificacion, HttpServletRequest request) throws Exception { logger.debug("Actualizando datos persona"); SisPersona pers = new SisPersona(); InfoResultado infoResultado; if (personaId != null) { pers = personaService.getPersona(personaId); pers.setMunicipioResidencia( divisionPoliticaService.getDivisionPolitiacaByCodNacional(municipioResidencia)); pers.setComunidadResidencia(comunidadesService.getComunidad(comunidadResidencia)); pers.setDireccionResidencia(direccionResidencia); if (ConstantsSecurity.ENABLE_PERSON_COMPONENT) { Persona persona = personaService.ensamblarObjetoPersona(pers); try { personaService.iniciarTransaccion(); infoResultado = personaService.guardarPersona( persona, seguridadService.obtenerNombreUsuario(request)); if (infoResultado.isOk() && infoResultado.getObjeto() != null) { updateNotificacion(idNotificacion, pers); } else throw new Exception( infoResultado.getMensaje() + "----" + infoResultado.getMensajeDetalle()); personaService.commitTransaccion(); } catch (Exception ex) { logger.error(ex.getMessage(), ex); ex.printStackTrace(); try { personaService.rollbackTransaccion(); } catch (Exception e) { e.printStackTrace(); } throw new Exception(ex); } finally { try { personaService.remover(); } catch (Exception e) { e.printStackTrace(); } } } else { updateNotificacion(idNotificacion, pers); } } return createJsonResponse(pers); }
/** * Agrega una notificación de tipo Rotavirus * * @param json con los datos de la ficha * @param request con datos de autenticación * @return DaNotificacion agregada * @throws Exception */ public DaNotificacion guardarNotificacion(String json, HttpServletRequest request) throws Exception { logger.debug("Guardando Notificacion"); DaNotificacion noti = new DaNotificacion(); Integer personaId = null; Integer codSilaisAtencion = null; Integer codUnidadAtencion = null; String urgente = null; JsonObject jObjectJson = new Gson().fromJson(json, JsonObject.class); if (jObjectJson.get("personaId") != null && !jObjectJson.get("personaId").getAsString().isEmpty()) { personaId = jObjectJson.get("personaId").getAsInt(); } if (jObjectJson.get("codSilaisAtencion") != null && !jObjectJson.get("codSilaisAtencion").getAsString().isEmpty()) { codSilaisAtencion = jObjectJson.get("codSilaisAtencion").getAsInt(); } if (jObjectJson.get("codUnidadAtencion") != null && !jObjectJson.get("codUnidadAtencion").getAsString().isEmpty()) { codUnidadAtencion = jObjectJson.get("codUnidadAtencion").getAsInt(); } if (jObjectJson.get("urgente") != null && !jObjectJson.get("urgente").getAsString().isEmpty()) { urgente = jObjectJson.get("urgente").getAsString(); } if (personaId != null) { SisPersona persona = personaService.getPersona(personaId); noti.setPersona(persona); noti.setFechaRegistro(new Timestamp(new Date().getTime())); noti.setCodSilaisAtencion(entidadAdmonService.getSilaisByCodigo(codSilaisAtencion)); noti.setCodUnidadAtencion(unidadesService.getUnidadByCodigo(codUnidadAtencion)); long idUsuario = seguridadService.obtenerIdUsuario(request); noti.setUsuarioRegistro(usuarioService.getUsuarioById((int) idUsuario)); noti.setCodTipoNotificacion(catalogoService.getTipoNotificacion("TPNOTI|RTV")); noti.setMunicipioResidencia(persona.getMunicipioResidencia()); noti.setDireccionResidencia(persona.getDireccionResidencia()); noti.setUrgente(catalogoService.getRespuesta(urgente)); daNotificacionService.addNotification(noti); return noti; } else { throw new Exception(); } }
/** * Custom handler to create a new one. * * @param idPerson the ID of the person * @return a ModelMap with the model attributes for the respective view */ @RequestMapping("new/{idPerson}") public ModelAndView newFicha(@PathVariable("idPerson") long idPerson, HttpServletRequest request) throws Exception { String urlValidacion = ""; try { urlValidacion = seguridadService.validarLogin(request); // si la url esta vacia significa que la validaci�n del login fue exitosa if (urlValidacion.isEmpty()) urlValidacion = seguridadService.validarAutorizacionUsuario( request, ConstantsSecurity.SYSTEM_CODE, true); } catch (Exception e) { e.printStackTrace(); urlValidacion = "404"; } ModelAndView mav = new ModelAndView(); if (urlValidacion.isEmpty()) { boolean autorizado = true; FichaRotavirus fichaRotavirus = new FichaRotavirus(); DaNotificacion noti = new DaNotificacion(); Initialize(); SisPersona persona = personaService.getPersona(idPerson); long idUsuario = seguridadService.obtenerIdUsuario(request); // Si es usuario a nivel central se cargan todas las unidades asociados al SILAIS y municipio if (seguridadService.esUsuarioNivelCentral(idUsuario, ConstantsSecurity.SYSTEM_CODE)) { entidades = entidadAdmonService.getAllEntidadesAdtvas(); } else { entidades = seguridadService.obtenerEntidadesPorUsuario( (int) idUsuario, ConstantsSecurity.SYSTEM_CODE); } if (persona != null) { noti.setPersona(persona); fichaRotavirus.setDaNotificacion(noti); Divisionpolitica departamentoProce = divisionPoliticaService.getDepartamentoByMunicipi( fichaRotavirus .getDaNotificacion() .getPersona() .getMunicipioResidencia() .getCodigoNacional()); List<Divisionpolitica> municipiosResi = divisionPoliticaService.getMunicipiosFromDepartamento( departamentoProce.getCodigoNacional()); List<Comunidades> comunidades = comunidadesService.getComunidades( fichaRotavirus .getDaNotificacion() .getPersona() .getMunicipioResidencia() .getCodigoNacional()); mav.addObject("entidades", entidades); mav.addObject("autorizado", autorizado); mav.addObject("departamentoProce", departamentoProce); mav.addObject("municipiosResi", municipiosResi); mav.addObject("comunidades", comunidades); mav.addObject("fichaRotavirus", fichaRotavirus); mav.addAllObjects(mapModel); mav.setViewName("rotavirus/create"); } else { mav.setViewName("404"); } } else { mav.setViewName(urlValidacion); } return mav; }