/** * Anular notificación * * @param idNotificacion a anular * @param request con datos de autenticación * @return String * @throws Exception */ @RequestMapping("/override/{idNotificacion}") public String overrideNoti( @PathVariable("idNotificacion") String idNotificacion, 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 = "redirect:/404"; } if (urlValidacion.isEmpty()) { FichaRotavirus fichaRotavirus = rotaVirusService.getFichaById(idNotificacion); if (fichaRotavirus != null) { DaNotificacion notificacion = fichaRotavirus.getDaNotificacion(); notificacion.setPasivo(true); daNotificacionService.updateNotificacion(notificacion); rotaVirusService.saveOrUpdate(fichaRotavirus); return "redirect:/rotavirus/search/" + fichaRotavirus.getDaNotificacion().getPersona().getPersonaId(); } else { return "redirect:/404"; } } else { return "redirect:/" + urlValidacion; } }
/** * 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); }
@RequestMapping(value = "create", method = RequestMethod.GET) public String initSearchForm(HttpServletRequest request) throws ParseException { logger.debug("Crear/Buscar una ficha de Rotavirus"); 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, false); } catch (Exception e) { e.printStackTrace(); urlValidacion = "404"; } if (urlValidacion.isEmpty()) { return "rotavirus/search"; } else { return urlValidacion; } }
/** * 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(); } }
/** * * Obetener la información de una notificación y cargarla en pantalla para su edición * * @param idNotificacion a cargar * @param request con datos de autenticación * @return ModelAndView * @throws Exception */ @RequestMapping("edit/{idNotificacion}") public ModelAndView editIrag( @PathVariable("idNotificacion") String idNotificacion, HttpServletRequest request) throws Exception { String urlValidacion = ""; boolean autorizado = true; 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()) { if (idNotificacion != null) { FichaRotavirus fichaRotavirus = rotaVirusService.getFichaById(idNotificacion); if (fichaRotavirus != null) { Initialize(); long idUsuario = seguridadService.obtenerIdUsuario(request); // irag.setUsuario(usuarioService.getUsuarioById((int) idUsuario)); if (idUsuario != 0) { autorizado = seguridadService.esUsuarioNivelCentral(idUsuario, ConstantsSecurity.SYSTEM_CODE) || ((fichaRotavirus.getDaNotificacion().getCodSilaisAtencion() != null && fichaRotavirus.getDaNotificacion().getCodUnidadAtencion() != null) && seguridadService.esUsuarioAutorizadoEntidad( (int) idUsuario, ConstantsSecurity.SYSTEM_CODE, fichaRotavirus.getDaNotificacion().getCodSilaisAtencion().getCodigo()) && seguridadService.esUsuarioAutorizadoUnidad( (int) idUsuario, ConstantsSecurity.SYSTEM_CODE, fichaRotavirus.getDaNotificacion().getCodUnidadAtencion().getCodigo())); } entidades = seguridadService.obtenerEntidadesPorUsuario( (int) idUsuario, ConstantsSecurity.SYSTEM_CODE); if (entidades.size() <= 0) { entidades.add(fichaRotavirus.getDaNotificacion().getCodSilaisAtencion()); } Divisionpolitica municipio = divisionPoliticaService.getMunicipiosByUnidadSalud( fichaRotavirus .getDaNotificacion() .getCodUnidadAtencion() .getMunicipio() .getCodigoNacional()); List<Divisionpolitica> munic = divisionPoliticaService.getMunicipiosBySilais( fichaRotavirus.getDaNotificacion().getCodSilaisAtencion().getCodigo()); List<Unidades> uni = null; if (seguridadService.esUsuarioNivelCentral(idUsuario, ConstantsSecurity.SYSTEM_CODE)) { if (fichaRotavirus.getDaNotificacion().getCodSilaisAtencion() != null && fichaRotavirus.getDaNotificacion().getCodUnidadAtencion() != null) { uni = seguridadService.obtenerUnidadesPorUsuarioEntidadMunicipio( (int) idUsuario, fichaRotavirus.getDaNotificacion().getCodSilaisAtencion().getCodigo(), fichaRotavirus .getDaNotificacion() .getCodUnidadAtencion() .getMunicipio() .getCodigoNacional(), ConstantsSecurity.SYSTEM_CODE, HealthUnitType.UnidadesPrimHosp.getDiscriminator()); } } else { if (fichaRotavirus.getDaNotificacion().getCodSilaisAtencion() != null && fichaRotavirus.getDaNotificacion().getCodUnidadAtencion() != null) { uni = seguridadService.obtenerUnidadesPorUsuarioEntidadMunicipio( (int) idUsuario, fichaRotavirus.getDaNotificacion().getCodSilaisAtencion().getCodigo(), fichaRotavirus .getDaNotificacion() .getCodUnidadAtencion() .getMunicipio() .getCodigoNacional(), ConstantsSecurity.SYSTEM_CODE, HealthUnitType.UnidadesPrimHosp.getDiscriminator()); if (!uni.contains(fichaRotavirus.getDaNotificacion().getCodUnidadAtencion())) { uni.add(fichaRotavirus.getDaNotificacion().getCodUnidadAtencion()); } } } // datos persona Divisionpolitica departamentoProce; List<Divisionpolitica> municipiosResi = null; List<Comunidades> comunidades = null; if (fichaRotavirus.getDaNotificacion().getPersona().getMunicipioResidencia() != null) { String municipioResidencia = fichaRotavirus .getDaNotificacion() .getPersona() .getMunicipioResidencia() .getCodigoNacional(); departamentoProce = divisionPoliticaService.getDepartamentoByMunicipi(municipioResidencia); municipiosResi = divisionPoliticaService.getMunicipiosFromDepartamento( departamentoProce.getCodigoNacional()); String comu = fichaRotavirus .getDaNotificacion() .getPersona() .getMunicipioResidencia() .getCodigoNacional(); comunidades = comunidadesService.getComunidades(comu); } mav.addObject("fichaRotavirus", fichaRotavirus); mav.addObject("autorizado", autorizado); mav.addObject("entidades", entidades); mav.addObject("munic", munic); mav.addObject("municipiosResi", municipiosResi); mav.addObject("comunidades", comunidades); mav.addObject("uni", uni); mav.addObject("municipio", municipio); mav.addAllObjects(mapModel); mav.setViewName("rotavirus/create"); } else { mav.setViewName("404"); } } else { mav.setViewName("404"); } } else { mav.setViewName(urlValidacion); } return mav; }
/** * 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; }