From d32aeabe66b2d4aec99afe74dae7b5ee1feca517 Mon Sep 17 00:00:00 2001 From: nazeer1100126 Date: Thu, 9 Mar 2017 15:25:58 +0530 Subject: [PATCH] FINERACT-117 : Tranche disbursement charge % disbursed amount is displaying as -ve amount if the 2nd tranche disbursed is with lesser amount and charge was waived before 2nd disbursement --- .../fineract/portfolio/loanaccount/domain/Loan.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) 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 8b5a7076617..c747760fe95 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 @@ -2570,14 +2570,15 @@ private void updateLoanRepaymentPeriodsDerivedFields(final LocalDate actualDisbu * Ability to regenerate the repayment schedule based on the loans current * details/state. */ - public void regenerateRepaymentSchedule(final ScheduleGeneratorDTO scheduleGeneratorDTO, AppUser currentUser) { - + public void regenerateRepaymentSchedule(final ScheduleGeneratorDTO scheduleGeneratorDTO, final AppUser currentUser) { final LoanScheduleModel loanSchedule = regenerateScheduleModel(scheduleGeneratorDTO); - + if (loanSchedule == null) { return; } updateLoanSchedule(loanSchedule, currentUser); - Set charges = this.charges(); - for (LoanCharge loanCharge : charges) { - recalculateLoanCharge(loanCharge, scheduleGeneratorDTO.getPenaltyWaitPeriod()); + final Set charges = this.charges(); + for (final LoanCharge loanCharge : charges) { + if (!loanCharge.isWaived()) { + recalculateLoanCharge(loanCharge, scheduleGeneratorDTO.getPenaltyWaitPeriod()); + } } }