You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by na...@apache.org on 2016/03/22 10:37:53 UTC
[1/2] incubator-fineract git commit: FINERACT-64 issues resolved
Repository: incubator-fineract
Updated Branches:
refs/heads/develop dd736852f -> c1af84dd4
FINERACT-64 issues resolved
Project: http://git-wip-us.apache.org/repos/asf/incubator-fineract/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-fineract/commit/db367216
Tree: http://git-wip-us.apache.org/repos/asf/incubator-fineract/tree/db367216
Diff: http://git-wip-us.apache.org/repos/asf/incubator-fineract/diff/db367216
Branch: refs/heads/develop
Commit: db367216a9f5fa54938362d5e2edfbf40ea59660
Parents: 04fe104
Author: venkatconflux <ve...@confluxtechnologies.com>
Authored: Mon Mar 21 18:19:05 2016 +0530
Committer: venkatconflux <ve...@confluxtechnologies.com>
Committed: Mon Mar 21 18:19:05 2016 +0530
----------------------------------------------------------------------
.../portfolio/loanaccount/domain/Loan.java | 22 +++++++++++++++-----
.../service/LoanChargeAssembler.java | 15 ++++++++-----
2 files changed, 27 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/db367216/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
----------------------------------------------------------------------
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 5697c9e..ebc2b6c 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
@@ -856,7 +856,7 @@ public class Loan extends AbstractPersistable<Long> {
if (loanCharge.isOverdueInstallmentCharge()) { return loanCharge.getAmountPercentageAppliedTo(); }
switch (loanCharge.getChargeCalculation()) {
case PERCENT_OF_AMOUNT:
- amount = getPrincpal().getAmount();
+ amount = getDerivedAmountForCharge(loanCharge);
break;
case PERCENT_OF_AMOUNT_AND_INTEREST:
final BigDecimal totalInterestCharged = getTotalInterest();
@@ -1074,7 +1074,7 @@ public class Loan extends AbstractPersistable<Long> {
if (loanCharge.getId() == null) {
LoanTrancheDisbursementCharge loanTrancheDisbursementCharge = null;
loanCharge.update(this);
- if (this.loanProduct.isMultiDisburseLoan()) {
+ if (this.loanProduct.isMultiDisburseLoan() && loanCharge.isTrancheDisbursementCharge()) {
loanCharge.getTrancheDisbursementCharge().getloanDisbursementDetails().updateLoan(this);
for (final LoanDisbursementDetails loanDisbursementDetails : this.disbursementDetails) {
if (loanCharge.getTrancheDisbursementCharge().getloanDisbursementDetails().getId() == null) {
@@ -2576,7 +2576,7 @@ public class Loan extends AbstractPersistable<Long> {
updateLoanSchedule(loanSchedule, currentUser);
Set<LoanCharge> charges = this.charges();
for (LoanCharge loanCharge : charges) {
- recalculateLoanCharge(loanCharge, scheduleGeneratorDTO.getPenaltyWaitPeriod());
+ recalculateLoanCharge(loanCharge, scheduleGeneratorDTO.getPenaltyWaitPeriod());
}
}
@@ -2640,7 +2640,9 @@ public class Loan extends AbstractPersistable<Long> {
final Integer installmentNumber = null;
for (final LoanCharge charge : charges()) {
Date actualDisbursementDate = getActualDisbursementDate(charge);
- if (charge.getCharge().getChargeTimeType() == ChargeTimeType.DISBURSEMENT.getValue()
+ if ((charge.getCharge().getChargeTimeType() == ChargeTimeType.DISBURSEMENT.getValue()
+ && disbursedOn.equals(new LocalDate(actualDisbursementDate)) && actualDisbursementDate != null
+ && !charge.isWaived() && !charge.isFullyPaid())
|| (charge.getCharge().getChargeTimeType() == ChargeTimeType.TRANCHE_DISBURSEMENT.getValue()
&& disbursedOn.equals(new LocalDate(actualDisbursementDate)) && actualDisbursementDate != null
&& !charge.isWaived() && !charge.isFullyPaid())) {
@@ -5530,7 +5532,7 @@ public class Loan extends AbstractPersistable<Long> {
}
private Date getActualDisbursementDate(final LoanCharge loanCharge) {
- Date actualDisbursementDate = null;
+ Date actualDisbursementDate = this.actualDisbursementDate;
if (loanCharge.isDueAtDisbursement() && loanCharge.isActive()) {
LoanTrancheDisbursementCharge trancheDisbursementCharge = loanCharge.getTrancheDisbursementCharge();
if (trancheDisbursementCharge != null) {
@@ -5698,5 +5700,15 @@ public class Loan extends AbstractPersistable<Long> {
}
return nextRepaymentDate;
}
+
+ public BigDecimal getDerivedAmountForCharge(LoanCharge loanCharge) {
+ BigDecimal amount = BigDecimal.ZERO;
+ if (isMultiDisburmentLoan() && (loanCharge.getCharge().getChargeTimeType() == ChargeTimeType.DISBURSEMENT.getValue())) {
+ amount = getApprovedPrincipal();
+ } else {
+ amount = getPrincpal().getAmount();
+ }
+ return amount;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/db367216/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeAssembler.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeAssembler.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeAssembler.java
index 8095142..13b3839 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeAssembler.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeAssembler.java
@@ -162,8 +162,11 @@ public class LoanChargeAssembler {
final LoanCharge loanCharge = LoanCharge.createNewWithoutLoan(chargeDefinition, principal, amount,
chargeTime, chargeCalculation, dueDate, chargePaymentModeEnum, numberOfRepayments);
loanCharges.add(loanCharge);
- loanTrancheDisbursementCharge = new LoanTrancheDisbursementCharge(loanCharge, disbursementDetail);
- loanCharge.updateLoanTrancheDisbursementCharge(loanTrancheDisbursementCharge);
+ if (loanCharge.isTrancheDisbursementCharge()) {
+ loanTrancheDisbursementCharge = new LoanTrancheDisbursementCharge(loanCharge,
+ disbursementDetail);
+ loanCharge.updateLoanTrancheDisbursementCharge(loanTrancheDisbursementCharge);
+ }
} else {
if (disbursementDetail.expectedDisbursementDateAsLocalDate().equals(expectedDisbursementDate)) {
final LoanCharge loanCharge = LoanCharge.createNewWithoutLoan(chargeDefinition,
@@ -171,9 +174,11 @@ public class LoanChargeAssembler {
disbursementDetail.expectedDisbursementDateAsLocalDate(), chargePaymentModeEnum,
numberOfRepayments);
loanCharges.add(loanCharge);
- loanTrancheDisbursementCharge = new LoanTrancheDisbursementCharge(loanCharge,
- disbursementDetail);
- loanCharge.updateLoanTrancheDisbursementCharge(loanTrancheDisbursementCharge);
+ if (loanCharge.isTrancheDisbursementCharge()) {
+ loanTrancheDisbursementCharge = new LoanTrancheDisbursementCharge(loanCharge,
+ disbursementDetail);
+ loanCharge.updateLoanTrancheDisbursementCharge(loanTrancheDisbursementCharge);
+ }
}
}
}
[2/2] incubator-fineract git commit: Merge branch 'FINERACT64' into
develop
Posted by na...@apache.org.
Merge branch 'FINERACT64' into develop
Project: http://git-wip-us.apache.org/repos/asf/incubator-fineract/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-fineract/commit/c1af84dd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-fineract/tree/c1af84dd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-fineract/diff/c1af84dd
Branch: refs/heads/develop
Commit: c1af84dd4b951c8fed3b365ae906c06d9c0de4e7
Parents: dd73685 db36721
Author: Nazeer Hussain Shaik <na...@confluxtechnologies.com>
Authored: Tue Mar 22 14:59:41 2016 +0530
Committer: Nazeer Hussain Shaik <na...@confluxtechnologies.com>
Committed: Tue Mar 22 14:59:41 2016 +0530
----------------------------------------------------------------------
.../portfolio/loanaccount/domain/Loan.java | 22 +++++++++++++++-----
.../service/LoanChargeAssembler.java | 15 ++++++++-----
2 files changed, 27 insertions(+), 10 deletions(-)
----------------------------------------------------------------------