/** * Peticiones para cargar la visualizacion de un registro. * * @param map Contenedor de informacion para la vista * @param request Peticion * @param personaForm Formulario con los datos de la vista * @return Componente tile al que se redirige */ @RequestMapping(value = "/persona/startViewPersona") public String startViewOperadorJuego( Map<String, Object> map, HttpServletRequest request, PersonaForm personaForm) { LOGGER.debug("startViewPersona"); try { request.getSession().setAttribute("buscarPersona", 1); String id = RequestUtil.getStringParameter(request, "idPersona"); id = id.replace(' ', '+'); String decId = new TimestampEncrypter().decryptAndValidate(id, 1000 * viewTimeout); PersonaQueryBean personaQueryBean = new PersonaQueryBean(); personaQueryBean.setIdPersona(Long.valueOf(decId)); PersonaBean personaBean = personaService.getPersonaById(Long.valueOf(decId)); if (personaBean == null) { return "redirect:/app/persona/startPersona"; } personaBeanToPersonaForm(personaForm, personaBean); request.getSession().setAttribute("persona", personaForm); if ((personaForm.getListaProhibiciones() != null) && (personaForm.getListaProhibiciones().size() > 0)) { request .getSession() .setAttribute("listaProhibiciones", personaForm.getListaProhibiciones()); } else { request.getSession().setAttribute("listaProhibiciones", null); } personaForm.setDetalleProhibiciones(Utilidades.processProhibicionesList(personaForm)); // Rellenando el map de la vista fillInitialMap(map, "personaForm"); } catch (Exception e) { LOGGER.error(e.getMessage()); return Constantes.ERRORPAGE; } return "tiles/showPersona"; }
/** * Peticion para exportar la etiqueta de una persona * * @param request Peticion * @param response Respuesta * @return Componente tile al que se redirige (si es correcta la generación del pdf se devuelve * null) */ @RequestMapping(value = "/persona/etiquetaPersona") public String etiquetaPersona(HttpServletRequest request, HttpServletResponse response) { // Generar el informe en formato Excel PersonaQueryBean personaQueryBean = new PersonaQueryBean(); String idPersona = (String) RequestUtil.getStringParameter(request, "idPersona"); personaQueryBean.setIdPersona(Long.valueOf(idPersona)); String username = (String) SecurityAccess.getUserInformation().getUsername(); String reportName = "etiquetasPersonasReport"; String reportTitle = this.messageSource.getMessage("page.breadcrumb.persona", null, WebCoreUtils.getLocale()); String reportType = "PDF"; String fullReportName = null; String contentType = null; try { fullReportName = "etiquetaPersonaReport.pdf"; contentType = "application/pdf"; byte[] byteArray = this.personaService.etiquetaPersona( username, personaQueryBean, reportType, reportName, reportTitle); response.reset(); response.setContentType(contentType); response.setHeader( "Content-disposition", "attachment" + ";filename=\"" + fullReportName + "\""); response.addHeader("Pragma", "no cache"); response.addHeader("Cache-control", "private, must-revalidate"); ServletOutputStream outstream = response.getOutputStream(); outstream.write(byteArray); outstream.flush(); outstream.close(); } catch (IOException e) { LOGGER.error(e.getMessage()); return "app/errorPage"; } return null; }
/** * Metodo privado que rellena el Formulario de busqueda con los datos provenientes del bean de * consulta a la base de datos * * @param searchPersonaForm, Formulario vacío * @param personaQueryBean, Objeto con los datos provenientes de base de datos */ private void toSearchForm( SearchPersonaForm searchPersonaForm, PersonaQueryBean personaQueryBean) { searchPersonaForm.setApellido1(personaQueryBean.getApellido1()); searchPersonaForm.setApellido2(personaQueryBean.getApellido2()); searchPersonaForm.setCodPostal(Utilidades.stringOrNull(personaQueryBean.getCodPostal())); searchPersonaForm.setDomicilio(personaQueryBean.getDomicilio()); searchPersonaForm.setEmail(personaQueryBean.getEmail()); searchPersonaForm.setEstadoCarta(personaQueryBean.getEstadoCarta()); searchPersonaForm.setEstadoEtiqueta(personaQueryBean.getEstadoEtiqueta()); searchPersonaForm.setExpedProhibicion(personaQueryBean.getExpedProhibicion()); searchPersonaForm.setFechaNacimientoDesde( Utilidades.fromDateOrNull(personaQueryBean.getFechaNacimientoDesde())); searchPersonaForm.setFechaNacimientoHasta( Utilidades.fromDateOrNull(personaQueryBean.getFechaNacimientoHasta())); searchPersonaForm.setIdMunicipio(Utilidades.stringOrNull(personaQueryBean.getIdMunicipio())); searchPersonaForm.setIdPais(Utilidades.stringOrNull(personaQueryBean.getIdPais())); searchPersonaForm.setIdPersona(Utilidades.stringOrNull(personaQueryBean.getIdPersona())); searchPersonaForm.setNombre(personaQueryBean.getNombre()); searchPersonaForm.setNumDocIdent(personaQueryBean.getNumDocIdent()); searchPersonaForm.setObservaciones(personaQueryBean.getObservaciones()); searchPersonaForm.setSexo(personaQueryBean.getSexo()); searchPersonaForm.setTelefono(personaQueryBean.getTelefono()); if (personaQueryBean.getDuracion() != null) { if (personaQueryBean.getDuracion().length() == 2) { searchPersonaForm.setDurAnos(personaQueryBean.getDuracion()); } else if (personaQueryBean.getDuracion().length() == 4) { searchPersonaForm.setDurAnos(personaQueryBean.getDuracion().substring(0, 2)); searchPersonaForm.setDurMeses(personaQueryBean.getDuracion().substring(2, 4)); } } searchPersonaForm.setIdTipoProhibicion( Utilidades.stringOrNull(personaQueryBean.getIdTipoProhibicion())); searchPersonaForm.setIdSituacion(Utilidades.stringOrNull(personaQueryBean.getIdSituacion())); searchPersonaForm.setIdCausaProhibicion( Utilidades.stringOrNull(personaQueryBean.getIdCausaProhibicion())); searchPersonaForm.setFechaProhibicionDesde( Utilidades.fromDateOrNull(personaQueryBean.getFechaProhibicionDesde())); searchPersonaForm.setFechaProhibicionHasta( Utilidades.fromDateOrNull(personaQueryBean.getFechaProhibicionHasta())); searchPersonaForm.setFechaSituacionDesde( Utilidades.fromDateOrNull(personaQueryBean.getFechaSituacionDesde())); searchPersonaForm.setFechaSituacionHasta( Utilidades.fromDateOrNull(personaQueryBean.getFechaSituacionHasta())); searchPersonaForm.setObsProhibicion(personaQueryBean.getObsProhibicion()); }
/** * Peticion para exportar el pdf de detalle de una persona * * @param request Peticion * @param response Respuesta * @return Componente tile al que se redirige (si es correcta la generación del pdf se devuelve * null) */ @RequestMapping(value = "/persona/exportPersona") public String exportPersona(HttpServletRequest request, HttpServletResponse response) { // Generar el informe en formato Excel PersonaQueryBean personaQueryBean = new PersonaQueryBean(); String idPersona = (String) RequestUtil.getStringParameter(request, "idPersona"); personaQueryBean.setIdPersona(Long.valueOf(idPersona)); String username = (String) SecurityAccess.getUserInformation().getUsername(); String reportName = "personaDetalleReport"; String reportTitle = this.messageSource.getMessage("page.breadcrumb.persona", null, WebCoreUtils.getLocale()); String reportType = RequestUtil.getStringParameter(request, "exportType", null); String fullReportName = null; String contentType = null; try { if (reportType != null) { if (!reportType.equalsIgnoreCase("Exportar")) { if (reportType.equalsIgnoreCase("XLS")) { fullReportName = "personaDetalleReport.xls"; contentType = "application/xls"; } else if (reportType.equalsIgnoreCase("PDF")) { fullReportName = "personaDetalleReport.pdf"; contentType = "application/pdf"; } else if (reportType.equalsIgnoreCase("DOCX")) { fullReportName = "personaDetalleReport.doc"; contentType = "application/doc"; } else { throw new CoreException("error.export"); } byte[] byteArray = this.personaService.exportPersona( username, personaQueryBean, reportType, reportName, reportTitle); response.reset(); response.setContentType(contentType); response.setHeader( "Content-disposition", "attachment" + ";filename=\"" + fullReportName + "\""); response.addHeader("Pragma", "no cache"); response.addHeader("Cache-control", "private, must-revalidate"); ServletOutputStream outstream = response.getOutputStream(); outstream.write(byteArray); outstream.flush(); outstream.close(); } else { LOGGER.error("Error en el formato de tipo de exportacion; " + reportType); return Constantes.ERRORPAGE; } } else { throw new CoreException("error.request.export"); } } catch (IOException e) { LOGGER.error(e.getMessage()); return "app/errorPage"; } return null; }