Repository: incubator-fineract Updated Branches: refs/heads/develop bb4799f58 -> 9c27413cf
MIFOSX-2400 : fix for overdue charges on payment time Project: http://git-wip-us.apache.org/repos/asf/incubator-fineract/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-fineract/commit/a13a8079 Tree: http://git-wip-us.apache.org/repos/asf/incubator-fineract/tree/a13a8079 Diff: http://git-wip-us.apache.org/repos/asf/incubator-fineract/diff/a13a8079 Branch: refs/heads/develop Commit: a13a80794fabe8bba6dc6e359006d7ab594f649d Parents: bb4799f Author: pramod <[email protected]> Authored: Mon Feb 15 16:01:32 2016 +0530 Committer: pramod <[email protected]> Committed: Mon Feb 15 16:01:32 2016 +0530 ---------------------------------------------------------------------- .../fineract/portfolio/loanaccount/domain/Loan.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/a13a8079/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java index dc37c7f..b59d4dc 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java @@ -1596,15 +1596,14 @@ public class Loan extends AbstractPersistable<Long> { private void recalculateLoanCharge(final LoanCharge loanCharge, final int penaltyWaitPeriod) { BigDecimal amount = BigDecimal.ZERO; - if (loanCharge.isOverdueInstallmentCharge()) { - amount = calculateOverdueAmountPercentageAppliedTo(loanCharge, penaltyWaitPeriod); - } else { - amount = calculateAmountPercentageAppliedTo(loanCharge); - } - BigDecimal chargeAmt = BigDecimal.ZERO; BigDecimal totalChargeAmt = BigDecimal.ZERO; if (loanCharge.getChargeCalculation().isPercentageBased()) { + if (loanCharge.isOverdueInstallmentCharge()) { + amount = calculateOverdueAmountPercentageAppliedTo(loanCharge, penaltyWaitPeriod); + } else { + amount = calculateAmountPercentageAppliedTo(loanCharge); + } chargeAmt = loanCharge.getPercentage(); if (loanCharge.isInstalmentFee()) { totalChargeAmt = calculatePerInstallmentChargeAmount(loanCharge); @@ -1621,7 +1620,7 @@ public class Loan extends AbstractPersistable<Long> { private BigDecimal calculateOverdueAmountPercentageAppliedTo(final LoanCharge loanCharge, final int penaltyWaitPeriod) { LoanRepaymentScheduleInstallment installment = loanCharge.getOverdueInstallmentCharge().getInstallment(); - LocalDate graceDate = LocalDate.now().minusDays(penaltyWaitPeriod); + LocalDate graceDate = DateUtils.getLocalDateOfTenant().minusDays(penaltyWaitPeriod); Money amount = Money.zero(getCurrency()); if (graceDate.isAfter(installment.getDueDate())) { amount = calculateOverdueAmountPercentageAppliedTo(installment, loanCharge.getChargeCalculation());
