/** * Actualiza una notificación de tipo Rotavirus * * @param idNotificacion de la notificación a actualizar * @param persona a quien pertenece la notificación * @throws Exception */ public void updateNotificacion(String idNotificacion, SisPersona persona) throws Exception { DaNotificacion noti; if (idNotificacion != null) { // DaNotificacion noti = daNotificacionService.getNotifById(idNotificacion); noti.setMunicipioResidencia(persona.getMunicipioResidencia()); noti.setDireccionResidencia(persona.getDireccionResidencia()); daNotificacionService.updateNotificacion(noti); } }
/** * 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; } }
/** * 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(); } }
/** * Guardar datos de una notificación rotavirus (agregar o actualizar) * * @param request con los datos de la notificación * @param response con el resultado de la acción * @throws ServletException * @throws IOException */ @RequestMapping( value = "save", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = "application/json") protected void save(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String json = ""; String resultado = ""; String idNotificacion = ""; try { logger.debug("Guardando datos de Ficha Rotavirus"); BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF8")); json = br.readLine(); FichaRotavirus fichaRotavirus = jSonToFichaRotavirus(json); if (fichaRotavirus.getDaNotificacion() == null) { DaNotificacion noti = guardarNotificacion(json, request); fichaRotavirus.setDaNotificacion(noti); } else { if (fichaRotavirus.getFechaInicioDiarrea() != null) { fichaRotavirus .getDaNotificacion() .setFechaInicioSintomas(fichaRotavirus.getFechaInicioDiarrea()); daNotificacionService.updateNotificacion(fichaRotavirus.getDaNotificacion()); } } rotaVirusService.saveOrUpdate(fichaRotavirus); idNotificacion = fichaRotavirus.getDaNotificacion().getIdNotificacion(); } catch (Exception ex) { logger.error(ex.getMessage(), ex); ex.printStackTrace(); resultado = messageSource.getMessage("msg.error.save.rota", null, null); resultado = resultado + ". \n " + ex.getMessage(); } finally { Map<String, String> map = new HashMap<String, String>(); map.put("mensaje", resultado); map.put("idNotificacion", idNotificacion); String jsonResponse = new Gson().toJson(map); response.getOutputStream().write(jsonResponse.getBytes()); response.getOutputStream().close(); } }