Merge pull request #1358 from chandrikamohith/MIFOSX-1988

MIFOSX-1988 Total Disburse amount is updated based on the tranche amount...
This commit is contained in:
Vishwas Babu A J
2015-04-23 12:47:23 -07:00
2 changed files with 9 additions and 3 deletions
@@ -2186,11 +2186,15 @@ public class Loan extends AbstractPersistable<Long> {
if (this.loanProduct().isMultiDisburseLoan()) {
Collection<LoanDisbursementDetails> 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);
@@ -2680,7 +2680,9 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf
Collection<LoanDisbursementDetails> 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);