FINERACT-2201: [Bug] - Negative numbers in case of progressive interest bearing loans - Reamortization

This commit is contained in:
Soma Sörös
2025-03-12 12:33:42 +00:00
committed by Adam Saghy
parent 1fb5e3da43
commit a28b9332b9
3 changed files with 584 additions and 4 deletions
@@ -26,6 +26,7 @@ import java.util.List;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.fineract.infrastructure.core.service.MathUtil;
import org.apache.fineract.organisation.monetary.data.CurrencyData;
import org.apache.fineract.portfolio.loanaccount.data.LoanSummaryData;
import org.apache.fineract.portfolio.loanaccount.data.LoanTransactionBalance;
@@ -118,10 +119,7 @@ public class ProgressiveLoanSummaryDataProvider extends CommonLoanSummaryDataPro
if (dueAmounts != null) {
BigDecimal interestPaid = nextUnpaidInAdvanceInstallment.getInterestPaid();
BigDecimal dueInterest = dueAmounts.getDueInterest().getAmount();
if (interestPaid == null) {
return dueInterest;
}
return dueInterest.subtract(interestPaid);
return MathUtil.subtractToZero(dueInterest, interestPaid);
}
}
}