diff --git a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java index 98cfa8d1..11b0fc10 100644 --- a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java +++ b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java @@ -368,5 +368,6 @@ public class GepafinConstant { public static final String APPLICATION_PER_CALL="applicationPerCall"; public static final String APPLICATION_PER_STATUS="applicationPerStatus"; public static final String CALL_EXPIRED="call.expired"; + public static final String AMOUNT_REQUEST_SHOULD_GREATED_THEN_ZERO = "amount.request.should.greated.then.zero"; } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java index e894acb5..de86e69f 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java @@ -1258,6 +1258,9 @@ public class ApplicationDao { if (Boolean.FALSE.equals(ApplicationStatusTypeEnum.DRAFT.getValue().equals(applicationEntity.getStatus()))) { throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.APPLICATION_NOT_IN_DRAFT_STATUS)); } + if (applicationEntity.getAmountRequested() == null || applicationEntity.getAmountRequested().compareTo(BigDecimal.ZERO) <= 0 ) { + throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.AMOUNT_REQUEST_SHOULD_GREATED_THEN_ZERO)); + } List flowEdgesList = flowEdgesRepository.findByCallId(applicationEntity.getCall().getId()); Long totalSteps = flowFormDao.calculateTotalSteps(flowEdgesList); Integer completedSteps = flowFormDao.getCompletedSteps(applicationEntity); diff --git a/src/main/resources/message_en.properties b/src/main/resources/message_en.properties index 101f74f9..3762684a 100644 --- a/src/main/resources/message_en.properties +++ b/src/main/resources/message_en.properties @@ -348,3 +348,4 @@ notification.updated.successfully=Notification updated successfully. user.with.company.not.found = User with company not found for user or company. amount.accepted.required=Amount accepted is required while approving the application. call.expired=Call has been expired. +amount.request.should.greated.then.zero=Requested amount should not be empty and should be greater than zero. diff --git a/src/main/resources/message_it.properties b/src/main/resources/message_it.properties index c5b07696..4223b4f1 100644 --- a/src/main/resources/message_it.properties +++ b/src/main/resources/message_it.properties @@ -343,3 +343,4 @@ user.action.fetched.successfully = Dettagli sull'azione dell'utente recuperati c action.context.labels.fetched.successfully = Etichette del contesto dell'azione recuperate correttamente. amount.accepted.required=L'importo accettato � obbligatorio durante l'approvazione della domanda. call.expired=La chiamata � scaduta. +amount.request.should.greated.then.zero=L'importo richiesto non deve essere vuoto e deve essere maggiore di zero.