|
27 | 27 | import org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder; |
28 | 28 | import org.apache.fineract.infrastructure.event.business.domain.loan.LoanApprovedAmountChangedBusinessEvent; |
29 | 29 | import org.apache.fineract.infrastructure.event.business.service.BusinessEventNotifierService; |
| 30 | +import org.apache.fineract.portfolio.common.service.Validator; |
30 | 31 | import org.apache.fineract.portfolio.loanaccount.api.LoanApiConstants; |
31 | 32 | import org.apache.fineract.portfolio.loanaccount.domain.Loan; |
32 | 33 | import org.apache.fineract.portfolio.loanaccount.domain.LoanApprovedAmountHistory; |
@@ -58,6 +59,12 @@ public CommandProcessingResult modifyLoanApprovedAmount(final Long loanId, final |
58 | 59 |
|
59 | 60 | BigDecimal newApprovedAmount = command.bigDecimalValueOfParameterNamed(LoanApiConstants.amountParameterName); |
60 | 61 |
|
| 62 | + if (newApprovedAmount.compareTo(loan.getApprovedPrincipal()) == 0) { |
| 63 | + Validator.validateOrThrowDomainViolation("loan.approved.amount", |
| 64 | + baseDataValidator -> baseDataValidator.reset().parameter(LoanApiConstants.amountParameterName).value(newApprovedAmount) |
| 65 | + .failWithCode("must.be.different.from.current.approved.amount")); |
| 66 | + } |
| 67 | + |
61 | 68 | LoanApprovedAmountHistory loanApprovedAmountHistory = new LoanApprovedAmountHistory(loan.getId(), newApprovedAmount, |
62 | 69 | loan.getApprovedPrincipal()); |
63 | 70 |
|
@@ -99,6 +106,12 @@ public CommandProcessingResult modifyLoanAvailableDisbursementAmount(Long loanId |
99 | 106 | .add(newAvailableDisbursementAmount); |
100 | 107 | changes.put("newApprovedAmount", newApprovedAmount); |
101 | 108 |
|
| 109 | + if (newApprovedAmount.compareTo(loan.getApprovedPrincipal()) == 0) { |
| 110 | + Validator.validateOrThrowDomainViolation("loan.approved.amount", |
| 111 | + baseDataValidator -> baseDataValidator.reset().parameter(LoanApiConstants.amountParameterName).value(newApprovedAmount) |
| 112 | + .failWithCode("must.be.different.from.current.approved.amount")); |
| 113 | + } |
| 114 | + |
102 | 115 | LoanApprovedAmountHistory loanApprovedAmountHistory = new LoanApprovedAmountHistory(loan.getId(), newApprovedAmount, |
103 | 116 | loan.getApprovedPrincipal()); |
104 | 117 |
|
|
0 commit comments