Merge branch 'PR107' into develop
This commit is contained in:
+5
-3
@@ -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;
|
||||
}
|
||||
|
||||
+8
-2
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user