Merge branch 'PR107' into develop

This commit is contained in:
Adi Narayana Raju
2016-05-10 17:56:24 +05:30
2 changed files with 13 additions and 5 deletions
@@ -1683,7 +1683,7 @@ public class Loan extends AbstractPersistable<Long> {
public void updateDisbursementDetails(final JsonCommand jsonCommand, final Map<String, Object> actualChanges) {
List<Long> disbursementList = fetchDisbursementIds();
List<Long> loanChargeIds = fetchLoanChargeIds();
List<Long> loanChargeIds = fetchLoanTrancheChargeIds();
int chargeIdLength = loanChargeIds.size();
String chargeIds = null;
// From modify application page, if user removes all charges, we should
@@ -1807,10 +1807,12 @@ public class Loan extends AbstractPersistable<Long> {
}
}
private List<Long> fetchLoanChargeIds() {
private List<Long> fetchLoanTrancheChargeIds() {
List<Long> list = new ArrayList<>();
for (LoanCharge charge : this.charges) {
list.add(charge.getId());
if (charge.isTrancheDisbursementCharge() && charge.isActive()) {
list.add(charge.getId());
}
}
return list;
}
@@ -1027,6 +1027,7 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService {
final MonetaryCurrency monCurrency = new MonetaryCurrency(this.currency.code(), this.currency.decimalPlaces(),
this.currency.currencyInMultiplesOf());
BigDecimal totalPrincipalDisbursed = BigDecimal.ZERO;
BigDecimal disbursementChargeAmount = this.totalFeeChargesDueAtDisbursement;
if (disbursementData == null || disbursementData.isEmpty()) {
periods.add(disbursementPeriod);
totalPrincipalDisbursed = Money.of(monCurrency, this.disbursement.amount()).getAmount();
@@ -1034,6 +1035,11 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService {
if (!this.disbursement.isDisbursed()) {
excludePastUndisbursed = false;
}
for(DisbursementData disbursementData : disbursementData){
if(disbursementData.getChargeAmount() != null){
disbursementChargeAmount = disbursementChargeAmount.subtract(disbursementData.getChargeAmount());
}
}
this.outstandingLoanPrincipalBalance = BigDecimal.ZERO;
}
@@ -1072,11 +1078,11 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService {
principal = principal.add(data.amount());
if (data.getChargeAmount() == null) {
final LoanSchedulePeriodData periodData = LoanSchedulePeriodData.disbursementOnlyPeriod(
data.disbursementDate(), data.amount(), BigDecimal.ZERO, data.isDisbursed());
data.disbursementDate(), data.amount(), disbursementChargeAmount, data.isDisbursed());
periods.add(periodData);
} else {
final LoanSchedulePeriodData periodData = LoanSchedulePeriodData.disbursementOnlyPeriod(
data.disbursementDate(), data.amount(), data.getChargeAmount(), data.isDisbursed());
data.disbursementDate(), data.amount(), disbursementChargeAmount.add(data.getChargeAmount()), data.isDisbursed());
periods.add(periodData);
}
this.outstandingLoanPrincipalBalance = this.outstandingLoanPrincipalBalance.add(data.amount());