FINERACT-2081: Loan Unpaid Payable Interest fix to include amount paid
This commit is contained in:
committed by
Adam Saghy
parent
ec1c55d022
commit
e967426db7
+7
@@ -26,6 +26,7 @@ import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.fineract.infrastructure.core.service.DateUtils;
|
||||
import org.apache.fineract.infrastructure.core.service.MathUtil;
|
||||
import org.apache.fineract.organisation.monetary.data.CurrencyData;
|
||||
import org.apache.fineract.organisation.monetary.domain.Money;
|
||||
import org.apache.fineract.organisation.monetary.domain.MoneyHelper;
|
||||
@@ -260,6 +261,12 @@ public class LoanSummaryData {
|
||||
remainingDays--;
|
||||
}
|
||||
|
||||
totalAccruedInterest = totalAccruedInterest.subtract(period.getInterestPaid()).subtract(period.getInterestWaived());
|
||||
if (MathUtil.isLessThanZero(totalAccruedInterest)) {
|
||||
// Set Zero If the Interest Paid + Waived is greather than Interest Accrued
|
||||
totalAccruedInterest = BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
return Money.of(currency, totalAccruedInterest).getAmount();
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -4739,7 +4739,7 @@ public class AdvancedPaymentAllocationLoanRepaymentScheduleTest extends BaseLoan
|
||||
addRepaymentForLoan(createdLoanId.get(), 20.50, "30 January 2024");
|
||||
loanDetails = loanTransactionHelper.getLoanDetails(createdLoanId.get());
|
||||
assertEquals(BigDecimal.ZERO, loanDetails.getSummary().getTotalUnpaidPayableDueInterest().stripTrailingZeros());
|
||||
assertEquals(new BigDecimal("0.97"), loanDetails.getSummary().getTotalUnpaidPayableNotDueInterest().stripTrailingZeros());
|
||||
assertEquals(new BigDecimal("0.05"), loanDetails.getSummary().getTotalUnpaidPayableNotDueInterest().stripTrailingZeros());
|
||||
});
|
||||
|
||||
// Not Due and Due Interest
|
||||
|
||||
Reference in New Issue
Block a user