FINERACT-1971 Repayment schedule period - Incorrect values after charge with huge amount
This commit is contained in:
committed by
Adam Saghy
parent
d9414a6e7e
commit
22f7972f60
+8
-4
@@ -19,11 +19,13 @@
|
||||
package org.apache.fineract.portfolio.loanaccount.loanschedule.data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.MathContext;
|
||||
import java.time.LocalDate;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import org.apache.fineract.infrastructure.core.service.DateUtils;
|
||||
import org.apache.fineract.infrastructure.core.service.MathUtil;
|
||||
import org.apache.fineract.organisation.monetary.domain.MoneyHelper;
|
||||
|
||||
/**
|
||||
* Immutable data object that represents a period of a loan schedule.
|
||||
@@ -156,11 +158,13 @@ public final class LoanSchedulePeriodData {
|
||||
final BigDecimal totalPaidLateForPeriod, final BigDecimal totalWaived, final BigDecimal totalWrittenOff,
|
||||
final BigDecimal totalCredits, final boolean isDownPayment, final BigDecimal totalAccruedInterest) {
|
||||
|
||||
BigDecimal totalDue = MathUtil.add(principalOriginalDue, interestDue, feeChargesDue, penaltyChargesDue);
|
||||
BigDecimal totalOutstanding = MathUtil.add(principalOutstanding, interestOutstanding, feeChargesOutstanding,
|
||||
final MathContext mc = MoneyHelper.getMathContext();
|
||||
|
||||
BigDecimal totalDue = MathUtil.add(mc, principalOriginalDue, interestDue, feeChargesDue, penaltyChargesDue);
|
||||
BigDecimal totalOutstanding = MathUtil.add(mc, principalOutstanding, interestOutstanding, feeChargesOutstanding,
|
||||
penaltyChargesOutstanding);
|
||||
BigDecimal totalActualCostOfLoanForPeriod = MathUtil.add(interestDue, feeChargesDue, penaltyChargesDue);
|
||||
BigDecimal totalInstallmentAmount = MathUtil.add(principalOriginalDue, interestDue);
|
||||
BigDecimal totalActualCostOfLoanForPeriod = MathUtil.add(mc, interestDue, feeChargesDue, penaltyChargesDue);
|
||||
BigDecimal totalInstallmentAmount = MathUtil.add(mc, principalOriginalDue, interestDue);
|
||||
|
||||
return builder().period(periodNumber) //
|
||||
.fromDate(fromDate) //
|
||||
|
||||
Reference in New Issue
Block a user