From 152937042aeeaf287b61b3bb8aad80bbdb945ffd Mon Sep 17 00:00:00 2001 From: Pramod Nuthakki Date: Thu, 31 Oct 2013 22:37:56 +0530 Subject: [PATCH] added reprocess of schedule for add and remove of loan charge --- .../portfolio/loanaccount/domain/Loan.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java index 81eeb5cf2..10559abb0 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java @@ -439,7 +439,8 @@ public class Loan extends AbstractPersistable { // transactions existingTransactionIds.addAll(findExistingTransactionIds()); existingReversedTransactionIds.addAll(findExistingReversedTransactionIds()); - + final LoanRepaymentScheduleProcessingWrapper wrapper = new LoanRepaymentScheduleProcessingWrapper(); + wrapper.reprocess(getCurrency(), getDisbursementDate(), this.repaymentScheduleInstallments, setOfLoanCharges()); if (!loanCharge.isDueAtDisbursement()) { final List allNonContraTransactionsPostDisbursement = retreiveListOfTransactionsPostDisbursement(); changedTransactionDetail = loanRepaymentScheduleTransactionProcessor.handleTransaction(getDisbursementDate(), @@ -448,11 +449,7 @@ public class Loan extends AbstractPersistable { mapEntry.getValue().updateLoan(this); } // this.loanTransactions.addAll(changedTransactionDetail.getNewTransactionMappings().values()); - } else { - // just reprocess the loan schedule only for now. - final LoanRepaymentScheduleProcessingWrapper wrapper = new LoanRepaymentScheduleProcessingWrapper(); - wrapper.reprocess(getCurrency(), getDisbursementDate(), this.repaymentScheduleInstallments, setOfLoanCharges()); - } + } updateLoanSummaryDerivedFields(); return changedTransactionDetail; @@ -569,6 +566,8 @@ public class Loan extends AbstractPersistable { final boolean removed = setOfLoanCharges().remove(loanCharge); if (removed) { + final LoanRepaymentScheduleProcessingWrapper wrapper = new LoanRepaymentScheduleProcessingWrapper(); + wrapper.reprocess(getCurrency(), getDisbursementDate(), this.repaymentScheduleInstallments, setOfLoanCharges()); updateSummaryWithTotalFeeChargesDueAtDisbursement(deriveSumTotalOfChargesDueAtDisbursement()); }