@Util public static void botonSimpleForm(Long idSolicitud, String firma) { // Realizamos la creación del documento y lo subimos al AED Solicitud solicitud = getSolicitud(idSolicitud); if ((solicitud.registro.oficial == null) || (solicitud.registro.oficial.uri == null)) { try { // Genera el documento oficial play.Logger.info("Debemos crear el documento y subirlo al AED"); File oficial = new Report("reports/solicitud_simple.html") .header("reports/header.html") .registroSize() .renderTmpFile(solicitud); solicitud.registro.oficial = new Documento(); solicitud.registro.oficial.tipo = FapProperties.get("fap.aed.tiposdocumentos.solicitud"); solicitud.registro.oficial.descripcion = "Descripción del documento incluida a mano"; gestorDocumentalService.saveDocumentoTemporal(solicitud.registro.oficial, oficial); play.Logger.info("Documento creado y subido al AED: "); play.Logger.info("uri -> " + solicitud.registro.oficial.uri); play.Logger.info("url -> " + solicitud.registro.oficial.urlDescarga); solicitud.save(); } catch (Exception e) { play.Logger.error("Error"); e.printStackTrace(); Messages.error("Error: " + e.getMessage()); } } else { play.Logger.info("Documento YA creado y subido al AED: "); play.Logger.info("uri -> " + solicitud.registro.oficial.uri); play.Logger.info("url -> " + solicitud.registro.oficial.urlDescarga); } }
public static void comprobarFechaLimiteJustificacion(Long idSolicitud) { try { if (FapProperties.get("fap.app.justificacion.fechacierre") != null) { String fechaStr = FapProperties.get("fap.app.justificacion.fechacierre"); DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); DateTime fechaLimite = formatter.parseDateTime(fechaStr); if (fechaLimite.isBeforeNow()) { play.Logger.error( "La justificaacion de la solicitud " + idSolicitud + " no se ha podido presentar (registrar o firmar). La fecha Límite de Justificación ha expirado: " + fechaStr); Messages.keep(); } } } catch (Exception e) { play.Logger.error( "Fallo recuperando y verificando la fecha de cierre de la justificación de la aplicación"); } }
@Util private static String redirectToFirstPage(Long idSolicitud) { // Url Primera pagina de la solicitud String firstPage = FapProperties.get("fap.app.firstPage"); if (firstPage == null) { play.Logger.error( "No está definida la property fap.app.firstPage que identifica la primera página."); Messages.fatal("Se ha producido un error"); } String expedienteUrl = Router.reverse(firstPage + "Controller.index").add("idSolicitud", idSolicitud).url; return expedienteUrl; }
public class TramiteAplicacion extends TramiteSolicitud { private static final String TIPO_TRAMITE = "Solicitud Aplicacion"; private static final String TIPO_REGISTRO = FapProperties.get("fap.aed.tiposdocumentos.solicitud"); private static final String BODY_REPORT = "reports/solicitud.html"; private static final String HEADER_REPORT = "reports/header.html"; private static final String FOOTER_REPORT = "reports/footer-borrador.html"; private static final String MAIL = "solicitudIniciada"; private static final String JUSTIFICANTE_REGISTRO = FapProperties.get("fap.aed.tiposdocumentos.justificanteRegistroSolicitud"); private static final String PREFIJO_JUSTIFICANTE_PDF = FapProperties.get("fap.tramitacion.prefijojustificantepdf.solicitud"); public TramiteAplicacion(SolicitudGenerica solicitud) { super(solicitud); } @Override public Registro getRegistro() { return this.solicitud.registro; } @Override public String getTipoRegistro() { return TramiteAplicacion.TIPO_REGISTRO; } @Override public String getBodyReport() { return TramiteAplicacion.BODY_REPORT; } @Override public String getHeaderReport() { return TramiteAplicacion.HEADER_REPORT; } @Override public String getFooterReport() { return TramiteAplicacion.FOOTER_REPORT; } @Override public String getMail() { return TramiteAplicacion.MAIL; } @Override public String getJustificanteRegistro() { return TramiteAplicacion.JUSTIFICANTE_REGISTRO; } @Override public String getTipoTramite() { return TramiteAplicacion.TIPO_TRAMITE; } @Override public List<Documento> getDocumentos() { return this.solicitud.documentacion.documentos; } @Override public String getPrefijoJustificantePdf() { return PREFIJO_JUSTIFICANTE_PDF; } public void guardar() { this.solicitud.save(); } @Override public List<DocumentoExterno> getDocumentosExternos() { // TODO Auto-generated method stub return null; } }
@Before protected static void injectProperties() throws Exception { renderArgs.put("configfap", FapProperties.get()); }
@Util // Este @Util es necesario porque en determinadas circunstancias crear(..) llama a editar(..). public static void formHabilitarFH( Long idSolicitud, Long idRegistroModificacion, Long idRegistro, String btnHabilitarFH) { checkAuthenticity(); if (!permisoFormHabilitarFH("editar")) { Messages.error("No tiene permisos suficientes para realizar la acción"); } SolicitudGenerica dbSolicitud = SolicitudPresentarModificacionFAPController.getSolicitudGenerica(idSolicitud); idRegistroModificacion = dbSolicitud.registroModificacion.get(dbSolicitud.registroModificacion.size() - 1).id; RegistroModificacion registroModificacion = RegistroModificacion.findById(idRegistroModificacion); idRegistro = registroModificacion.registro.id; Registro dbRegistro = SolicitudPresentarModificacionFAPController.getRegistro(idRegistroModificacion, idRegistro); if (!Messages.hasErrors()) { try { PresentacionModificacionFapController.invoke( "comprobarFechaLimitePresentacion", idSolicitud); } catch (Throwable e1) { log.error( "Hubo un problema al invocar los métodos comprobarFechaLimitePresentacion: " + e1.getMessage()); Messages.error("Error al validar las comprobaciones de la Fecha Límite de Presentación"); } } if (!Messages.hasErrors()) { try { TramiteBase tramite = PresentacionModificacionFapController.invoke("getTramiteObject", idSolicitud); boolean encontrado = false; for (Documento doc : tramite.getDocumentos()) { if (doc.tipo.equals( FapProperties.get("fap.firmaYRegistro.funcionarioHabilitado.tipoDocumento"))) { encontrado = true; break; } } if (!encontrado) { log.error( "El documento que autoriza la firma de un funcionario habilitado no ha sido subido o su tipo no es correcto. Uri del tipo correcto: " + FapProperties.get("fap.firmaYRegistro.funcionarioHabilitado.tipoDocumento")); Messages.error( "El documento que autoriza la firma de un funcionario habilitado no ha sido subido o su tipo no es correcto."); Messages.error( "Asegurese de haber subido el documento pertinente con tipo: " + TableKeyValue.getValue( "tiposDocumentos", FapProperties.get("fap.firmaYRegistro.funcionarioHabilitado.tipoDocumento"))); } } catch (Throwable e) { log.error( "Hubo un problema al intentar verificar la presencia del documento de autorizacion funcionario habilitado: " + e.getMessage()); Messages.error("No se pudo habilitar la firma de un Funcionario"); } } if (!Messages.hasErrors()) { SolicitudPresentarModificacionFAPController.formHabilitarFHValidateRules(); } if (!Messages.hasErrors()) { dbRegistro.habilitaFuncionario = true; dbRegistro.save(); Messages.ok("Se ha habilitado a un funcionario correctamente."); log.info( "Acción Editar de página: " + "gen/SolicitudPresentarModificacionFAP/SolicitudPresentarModificacionFAP.html" + " , intentada con éxito"); } else log.info( "Acción Editar de página: " + "gen/SolicitudPresentarModificacionFAP/SolicitudPresentarModificacionFAP.html" + " , intentada sin éxito (Problemas de Validación)"); SolicitudPresentarModificacionFAPController.formHabilitarFHRender( idSolicitud, idRegistroModificacion, idRegistro); }