From 7ceb68fec9adfbb58cb916a7077d01b21794172f Mon Sep 17 00:00:00 2001 From: satish-conflux Date: Wed, 15 Feb 2017 18:22:09 +0530 Subject: [PATCH] FINERACT-312 : For Loan with interest recalculation periodic accrual with respect to current date is not getting modified after repayment in Transaction page --- .../apache/fineract/portfolio/loanaccount/domain/Loan.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 b71499778..8b5a70766 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 @@ -1191,7 +1191,9 @@ public class Loan extends AbstractPersistableCustom { penality = penality.plus(loanTransaction.getPenaltyChargesPortion(getCurrency())); if (installment.getFeeChargesCharged(getCurrency()).isLessThan(fee) || installment.getInterestCharged(getCurrency()).isLessThan(interest) - || installment.getPenaltyChargesCharged(getCurrency()).isLessThan(penality)) { + || installment.getPenaltyChargesCharged(getCurrency()).isLessThan(penality) + || (getAccruedTill().isEqual(loanTransaction.getTransactionDate()) && !installment.getDueDate().isEqual( + getAccruedTill()))) { interest = interest.minus(loanTransaction.getInterestPortion(getCurrency())); fee = fee.minus(loanTransaction.getFeeChargesPortion(getCurrency())); penality = penality.minus(loanTransaction.getPenaltyChargesPortion(getCurrency()));