コード例 #1
0
  /**
   * 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";
  }
コード例 #2
0
  /**
   * 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;
  }
コード例 #3
0
  /**
   * 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());
  }
コード例 #4
0
  /**
   * 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;
  }