FINERACT-2355: Fix charge off and loan charge for zero installments

This commit is contained in:
Oleksii Novikov
2025-09-03 12:55:58 +02:00
committed by Adam Saghy
parent 7378aea0b2
commit 33c74abeb7
4 changed files with 61 additions and 3 deletions
@@ -1973,8 +1973,11 @@ public class AdvancedPaymentScheduleTransactionProcessor extends AbstractLoanRep
}
});
final Money amountToEditLastInstallment = loanTransaction.getLoan().getPrincipal().minus(installments.stream()
.filter(i -> !i.isAdditional()).map(LoanRepaymentScheduleInstallment::getPrincipal).reduce(ZERO, BigDecimal::add));
final Money amountToEditLastInstallment = loanTransaction.getLoan().getPrincipal().minus(installments.stream() //
.filter(i -> i.getPrincipal() != null) //
.filter(i -> !i.isAdditional()) //
.map(LoanRepaymentScheduleInstallment::getPrincipal) //
.reduce(ZERO, BigDecimal::add));
BigDecimal principalBalance = amountToEditLastInstallment.getAmount();
for (int i = installments.size() - 1; i > 0 && BigDecimal.ZERO.compareTo(principalBalance) != 0; i--) {