[BUG-347] Stop interest posting once the loan has moved to overpaid state
This commit is contained in:
+12
@@ -5053,6 +5053,10 @@ public class Loan extends AbstractPersistable<Long> {
|
||||
accrualTransaction);
|
||||
lastCompoundingDate = compoundingDetail.getEffectiveDate();
|
||||
}
|
||||
LoanRepaymentScheduleInstallment lastInstallment = this.repaymentScheduleInstallments.get(this.repaymentScheduleInstallments
|
||||
.size() - 1);
|
||||
reverseTransactionsPostEffectiveDate(incomeTransactions, lastInstallment.getDueDate());
|
||||
reverseTransactionsPostEffectiveDate(accrualTransactions, lastInstallment.getDueDate());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5163,6 +5167,14 @@ public class Loan extends AbstractPersistable<Long> {
|
||||
return null;
|
||||
}
|
||||
|
||||
private void reverseTransactionsPostEffectiveDate(List<LoanTransaction> transactions, LocalDate effectiveDate) {
|
||||
for (LoanTransaction loanTransaction : transactions) {
|
||||
if (loanTransaction.getTransactionDate().isAfter(effectiveDate)) {
|
||||
loanTransaction.reverse();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<LoanInterestRecalcualtionAdditionalDetails> extractInterestRecalculationAdditionalDetails() {
|
||||
List<LoanInterestRecalcualtionAdditionalDetails> retDetails = new ArrayList<>();
|
||||
if (null != this.repaymentScheduleInstallments && this.repaymentScheduleInstallments.size() > 0) {
|
||||
|
||||
Reference in New Issue
Block a user