From ebfe13f9c2a9becd3416026610f0173b4f427850 Mon Sep 17 00:00:00 2001 From: Chandrika Date: Thu, 23 Apr 2015 15:37:27 -0400 Subject: [PATCH] MIFOSX-1988 Total Disburse amount is updated based on the tranche amounts disbursed. --- .../mifosplatform/portfolio/loanaccount/domain/Loan.java | 8 ++++++-- .../LoanWritePlatformServiceJpaRepositoryImpl.java | 4 +++- 2 files changed, 9 insertions(+), 3 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 59659581f..51d094a88 100755 --- 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 @@ -2186,11 +2186,15 @@ public class Loan extends AbstractPersistable { if (this.loanProduct().isMultiDisburseLoan()) { Collection loanDisburseDetails = this.getDisbursementDetails(); BigDecimal setPrincipalAmount = BigDecimal.ZERO; + BigDecimal totalAmount = BigDecimal.ZERO; for (LoanDisbursementDetails disbursementDetails : loanDisburseDetails) { - setPrincipalAmount = setPrincipalAmount.add(disbursementDetails.principal()); + if(disbursementDetails.actualDisbursementDate() != null){ + setPrincipalAmount = setPrincipalAmount.add(disbursementDetails.principal()); + } + totalAmount = totalAmount.add(disbursementDetails.principal()); } this.loanRepaymentScheduleDetail.setPrincipal(setPrincipalAmount); - if (setPrincipalAmount.compareTo(this.approvedPrincipal) == 1) { + if (totalAmount.compareTo(this.approvedPrincipal) == 1) { final String errorMsg = "Loan can't be disbursed,disburse amount is exceeding approved principal "; throw new LoanDisbursalException(errorMsg, "disburse.amount.must.be.less.than.approved.principal", principalDisbursed, this.approvedPrincipal); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java index 85df6e395..90841c6da 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java @@ -2680,7 +2680,9 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf Collection loanDisburseDetails = loan.getDisbursementDetails(); BigDecimal setAmount = BigDecimal.ZERO; for (LoanDisbursementDetails details : loanDisburseDetails) { - setAmount = setAmount.add(details.principal()); + if(details.actualDisbursementDate() != null){ + setAmount = setAmount.add(details.principal()); + } } loan.repaymentScheduleDetail().setPrincipal(setAmount);