@Util public static void formFirmaPFRender( Long idSolicitud, Long idRegistroModificacion, Long idRegistro) { Messages.keep(); redirect( "SolicitudPresentarModificacionFAPController.index", "editar", idSolicitud, idRegistroModificacion, idRegistro); }
@Util public static void guardarPCERender( Long idSolicitud, Long idCEconomico, Long idCEconomicosManuales) { TipoEvaluacion tipoEvaluacion = TipoEvaluacion.all().first(); Integer duracion = tipoEvaluacion.duracion - 1; if (!Messages.hasMessages()) { Messages.ok("Página editada correctamente"); Messages.keep(); redirect( "PaginaCEconomicosCopiaController.index", controllers.PaginaCEconomicosCopiaController.getAccion(), idSolicitud, idCEconomico, duracion); } Messages.keep(); redirect( "PaginaCEconomicoManualCopiaController.index", "editar", idSolicitud, idCEconomico, idCEconomicosManuales); }
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"); } }
public static void editar(Long idTableKeyValue, TableKeyValue tableKeyValue) { checkAuthenticity(); if (!permiso("update")) { Messages.error("No tiene permisos suficientes para realizar la acción"); } TableKeyValue dbTableKeyValue = null; if (!Messages.hasErrors()) { dbTableKeyValue = getTableKeyValue(idTableKeyValue); } if (!Messages.hasErrors()) { TableKeyValue.setValue(dbTableKeyValue.table, dbTableKeyValue.key, tableKeyValue.value); } if (!Messages.hasErrors()) { renderJSON(utils.RestResponse.ok("Registro actualizado correctamente")); } else { Messages.keep(); abrir("editar", idTableKeyValue); } }
@Util public static void save(Long idEvaluacion) { Map<String, Long> ids = (Map<String, Long>) tags.TagMapStack.top("idParams"); if (secure.checkGrafico("guardarEvaluacion", "editable", "editar", ids, null)) { boolean actionSave = params.get("save") != null; boolean actionPdf = params.get("pdf") != null; boolean actionEnd = params.get("end") != null; if (!(actionSave || actionPdf || actionEnd)) { // No se específico una acción notFound("Acción no especificada"); } Evaluacion evaluacion = Evaluacion.findById(params.get("evaluacion.id", Long.class)); if (evaluacion == null) { notFound("Fallo al recuperar la evaluación"); } if (!evaluacion.estado.equals(EstadosEvaluacionEnum.enTramite.name())) { Messages.error("No se puede guardar porque esta evaluación ya ha sido finalizada"); Messages.keep(); index(evaluacion.id, "leer"); } // Comentarios if (evaluacion.tipo.comentariosAdministracion) { evaluacion.comentariosAdministracion = params.get("evaluacion.comentariosAdministracion"); } if (evaluacion.tipo.comentariosSolicitante) { evaluacion.comentariosSolicitante = params.get("evaluacion.comentariosSolicitante"); } boolean guardarMaximo = false; // Criterios de evaluacion for (Criterio criterio : evaluacion.criterios) { String param = "criterio[" + criterio.id + "]"; String key = param + ".valor"; Double valor = params.get(key, Double.class); if (criterio.tipo.claseCriterio.equals("manual") || criterio.tipo.claseCriterio.equals("automod")) { // Únicamente valida cuando se va a finalizar // la verificación if (actionEnd || actionSave) { if (actionEnd) validation.required(key, valor); // TODO validaciones de tamaño máximo if (criterio.tipo.valorMaximo != null && valor != null && criterio.tipo.valorMaximo.compareTo(valor) < 0) { // validation.addError(key, "El valor "+valor+" es superior al valor máximo permitido: // "+criterio.tipo.valorMaximo); Messages.warning( "El valor del criterio manual '" + criterio.tipo.jerarquia + " - " + criterio.tipo.nombre + "' (" + FapFormat.formatMoneda(valor) + ") es superior al permitido en ese tipo de criterio: " + FapFormat.formatMoneda(criterio.tipo.valorMaximo)); if (actionEnd) { criterio.valor = criterio.tipo.valorMaximo; guardarMaximo = true; } } if (criterio.tipo.valorMinimo != null && valor != null && criterio.tipo.valorMinimo.compareTo(valor) > 0) { Messages.warning( "El criterio manual/automod " + criterio.tipo.jerarquia + " (" + FapFormat.formatMoneda(valor) + ") no llega al mínimo valor permitido: " + criterio.tipo.valorMinimo + ". Se ha establecido como valor a 0,00"); if (actionEnd) criterio.valor = 0.0; } } if (!validation.hasErrors()) { if (guardarMaximo) guardarMaximo = false; else criterio.valor = valor; } } if (!validation.hasErrors()) { // Comentarios if (criterio.tipo.comentariosAdministracion) { criterio.comentariosAdministracion = params.get(param + ".comentariosAdministracion"); } if (criterio.tipo.comentariosSolicitante) { criterio.comentariosSolicitante = params.get(param + ".comentariosSolicitante"); } } } if (!validation.hasErrors()) { boolean admin = "administradorgestor".contains(AgenteController.getAgente().rolActivo); BaremacionService.calcularTotales(evaluacion, admin); for (Criterio criterio : evaluacion.criterios) { if (criterio.tipo.claseCriterio.equals("auto")) { if (actionEnd || actionSave) { if (criterio.tipo.valorMaximo != null && criterio.valor != null && criterio.tipo.valorMaximo.compareTo(criterio.valor) < 0) { if (actionSave) Messages.warning( "El criterio automático '" + criterio.tipo.jerarquia + " - " + criterio.tipo.nombre + "' (" + FapFormat.formatMoneda(criterio.valor) + ") sobrepasaba el máximo valor permitido. Se ha establecido como valor, su valor máximo posible: " + FapFormat.formatMoneda(criterio.tipo.valorMaximo)); criterio.valor = criterio.tipo.valorMaximo; } if (criterio.tipo.valorMinimo != null && criterio.valor != null && criterio.tipo.valorMinimo.compareTo(criterio.valor) > 0) { Messages.warning( "El criterio automático " + criterio.tipo.jerarquia + " (" + criterio.valor + ") no llega al mínimo valor permitido: " + FapFormat.formatMoneda(criterio.tipo.valorMinimo) + ". Se ha establecido como valor a 0,00"); criterio.valor = 0.0; } } } } if (!Messages.hasErrors()) { BaremacionService.calcularTotales(evaluacion, true, true); } evaluacion.save(); } else { flash(evaluacion); } if (actionSave || actionEnd) { if (actionEnd && !validation.hasErrors()) { // Si no hubo errores anteriores, se comprueba si existen validaciones propias de la // aplicacion botonFinalizar(); if (!Messages.hasErrors()) { evaluacion.estado = EstadosEvaluacionEnum.evaluada.name(); evaluacion.save(); Messages.ok( "La evaluación del expediente " + evaluacion.solicitud.expedienteAed.idAed + " finalizó correctamente"); ConsultarEvaluacionesController.index(); } } if (actionSave && !validation.hasErrors()) { Messages.ok( "La evaluación del expediente " + evaluacion.solicitud.expedienteAed.idAed + " se guardó correctamente"); } Messages.keep(); redirect("fap.FichaEvaluadorController.index", evaluacion.id, "editar"); } } else { play.Logger.error("No se cumple el permiso \"guardarEvaluacion\" con ids: " + ids); forbidden(); } }