@Util // Este @Util es necesario porque en determinadas circunstancias crear(..) llama a editar(..). public static void frmRegistrar( Long idSolicitud, Long idRegistroModificacion, Long idRegistro, String botonRegistrar) { checkAuthenticity(); if (!permisoFrmRegistrar("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); 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 { PresentacionModificacionFapController.invoke("beforeRegistro", idSolicitud); } catch (Throwable e1) { log.error("Hubo un problema al invocar los métodos beforeRegistro: " + e1.getMessage()); Messages.error("Error al validar elementos previos al Registro"); } } if (!Messages.hasErrors()) { try { TramiteBase tramite = PresentacionModificacionFapController.invoke("getTramiteObject", idSolicitud); try { dbRegistro.fasesRegistro.borrador = true; dbRegistro.fasesRegistro.firmada = true; tramite.registrar(); if (dbRegistro.fasesRegistro.clasificarAed) { tramite.cambiarEstadoSolicitud(); registroModificacion.fechaRegistro = dbRegistro.informacionRegistro.fechaRegistro; registroModificacion.save(); } else { play.Logger.error( "No se registro la solicitud de modificación correctamente por lo que no se cambiara el estado de la misma."); Messages.error("Error al intentar sólo registrar."); } if (!Messages.hasErrors()) { try { PresentacionModificacionFapController.invoke("afterRegistro", idSolicitud); } catch (Throwable e1) { log.error( "Hubo un problema al invocar los métodos afterRegistro: " + e1.getMessage()); Messages.error("Error al validar elementos posteriores al registro"); } } } catch (RegistroServiceException e) { log.error( "Error al intentar registrar en la presentacion en frmRegistrar: " + e.getMessage()); Messages.error("Error al intentar sólo registrar"); } } catch (Throwable e1) { log.error( "Error al invocar al TramiteBase en frmRegistrar de SolicitudPresentarModificacionFAPController: " + e1.getMessage()); Messages.error("Error al intentar sólo registrar"); } } if (!Messages.hasErrors()) { SolicitudPresentarModificacionFAPController.frmRegistrarValidateRules(); } if (!Messages.hasErrors()) { dbSolicitud.save(); Messages.ok("Solicitud Registrada correctamente"); log.info( "Acción Editar de página: " + "gen/SolicitudPresentarModificacionFAP/SolicitudPresentarModificacionFAP.html" + " , intentada con éxito"); redirect("PresentarFAPController.index", "editar", idSolicitud, dbSolicitud.registro.id); } else log.info( "Acción Editar de página: " + "gen/SolicitudPresentarModificacionFAP/SolicitudPresentarModificacionFAP.html" + " , intentada sin éxito (Problemas de Validación)"); SolicitudPresentarModificacionFAPController.frmRegistrarRender( idSolicitud, idRegistroModificacion, idRegistro); }
@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); }
@Util // Este @Util es necesario porque en determinadas circunstancias crear(..) llama a editar(..). public static void formFirmaRepresentante( Long idSolicitud, Long idRegistroModificacion, Long idRegistro, String firma, String firmarRepresentante) { checkAuthenticity(); if (!permisoFormFirmaRepresentante("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 { PresentacionModificacionFapController.invoke("beforeFirma", idSolicitud); } catch (Throwable e1) { log.error( "Hubo un problema al invocar los métodos beforeFirma, en la firma con representantes: " + e1.getMessage()); Messages.error("Error al validar elementos previos a la firma de representante"); } } if (!Messages.hasErrors()) { try { TramiteBase tramite = PresentacionModificacionFapController.invoke("getTramiteObject", idSolicitud); tramite.firmar(firma); } catch (Throwable e1) { log.error( "Hubo un problema al firmar con representante en presentacion: " + e1.getMessage()); Messages.error("Error al intentar firmar el representante"); } } if (!Messages.hasErrors()) { try { PresentacionModificacionFapController.invoke("afterFirma", idSolicitud); } catch (Throwable e1) { log.error( "Hubo un problema al invocar los métodos afterFirma, en la firma con representantes: " + e1.getMessage()); Messages.error("Error al validar elementos posteriores a la firma de representante"); } } if (!Messages.hasErrors()) { SolicitudPresentarModificacionFAPController.formFirmaRepresentanteValidateRules(firma); } if (!Messages.hasErrors()) { Messages.ok("Solicitud Firmada 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.formFirmaRepresentanteRender( idSolicitud, idRegistroModificacion, idRegistro); }