@Util public static void firmarRepresentanteFormFirmaRepresentante( Long idSolicitud, Long idRegistroModificacion, Long idRegistro, String firma) { SolicitudGenerica solicitud = SolicitudPresentarModificacionFAPController.getSolicitudGenerica(idSolicitud); idRegistroModificacion = solicitud.registroModificacion.get(solicitud.registroModificacion.size() - 1).id; RegistroModificacion registroModificacion = RegistroModificacion.findById(idRegistroModificacion); idRegistro = registroModificacion.registro.id; Registro registro = SolicitudPresentarModificacionFAPController.getRegistro(idRegistroModificacion, idRegistro); play.Logger.info("Metodo: firmarRepresentanteFormFirmaRepresentante"); Map<String, Long> ids = (Map<String, Long>) tags.TagMapStack.top("idParams"); Map<String, Object> vars = new HashMap<String, Object>(); if (secure.checkAcceso("editarFirma", "editar", ids, vars)) { if (registro.firmantes.todos == null || registro.firmantes.todos.size() == 0) { registro.firmantes.todos = solicitud.solicitante.calcularFirmantes(); registro.firmantes.save(); } FirmaUtils.firmar(registro.oficial, registro.firmantes.todos, firma, null); } else { // ERROR Messages.error("No tiene permisos suficientes para realizar la acción++"); } if (!Messages.hasErrors()) { registro.fasesRegistro.firmada = true; registroModificacion.save(); registro.save(); } }
public static void index( String accion, Long idSolicitud, Long idRegistroModificacion, Long idRegistro) { if (accion == null) accion = getAccion(); if (!permiso(accion)) { Messages.fatal("No tiene suficientes privilegios para acceder a esta solicitud"); renderTemplate( "gen/SolicitudPresentarModificacionFAP/SolicitudPresentarModificacionFAP.html"); } SolicitudGenerica solicitud = SolicitudPresentarModificacionFAPController.getSolicitudGenerica(idSolicitud); idRegistroModificacion = solicitud.registroModificacion.get(solicitud.registroModificacion.size() - 1).id; RegistroModificacion registroModificacion = SolicitudPresentarModificacionFAPController.getRegistroModificacion( idSolicitud, idRegistroModificacion); idRegistro = registroModificacion.registro.id; Registro registro = null; if ("crear".equals(accion)) { registro = SolicitudPresentarModificacionFAPController.getRegistro(); if (properties.FapProperties.getBoolean("fap.entidades.guardar.antes")) { registro.save(); idRegistro = registro.id; registroModificacion.registro = registro; registroModificacion.save(); accion = "editar"; } } else if (!"borrado".equals(accion)) { registro = SolicitudPresentarModificacionFAPController.getRegistro( idRegistroModificacion, idRegistro); } log.info( "Visitando página: " + "gen/SolicitudPresentarModificacionFAP/SolicitudPresentarModificacionFAP.html"); renderTemplate( "gen/SolicitudPresentarModificacionFAP/SolicitudPresentarModificacionFAP.html", accion, idSolicitud, idRegistroModificacion, idRegistro, solicitud, registroModificacion, registro); }
@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); }