From 6c1db9f4fbb3f1747b7de05d4f7b1ac0e4da7892 Mon Sep 17 00:00:00 2001 From: Sander van der Heyden Date: Mon, 17 Mar 2014 12:05:45 +0100 Subject: [PATCH 1/3] MIFOSX-995 - Fixed Grace periods --- .../portfolio/loanaccount/domain/Loan.java | 10 +++++----- .../loanschedule/domain/LoanApplicationTerms.java | 13 ++++++------- .../domain/LoanProductRelatedDetail.java | 12 ++++++++++++ 3 files changed, 23 insertions(+), 12 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 0de599d0f..2fba56205 100644 --- 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 @@ -1940,11 +1940,11 @@ public class Loan extends AbstractPersistable { loanVariationTermsData.add(data); } - final LoanApplicationTerms loanApplicationTerms = LoanApplicationTerms.assembleFrom(applicationCurrency, loanTermFrequency, - loanTermPeriodFrequencyType, getDisbursementDate(), getExpectedFirstRepaymentOnDate(), - calculatedRepaymentsStartingFromDate, getInArrearsTolerance(), this.loanRepaymentScheduleDetail, - this.loanProduct.isMultiDisburseLoan(), this.fixedEmiAmount, disbursementData, this.maxOutstandingLoanBalance, - loanVariationTermsData); + final LoanApplicationTerms loanApplicationTerms = LoanApplicationTerms + .assembleFrom(applicationCurrency, loanTermFrequency, loanTermPeriodFrequencyType, getDisbursementDate(), + getExpectedFirstRepaymentOnDate(), calculatedRepaymentsStartingFromDate, getInArrearsTolerance(), + this.loanRepaymentScheduleDetail, this.loanProduct.isMultiDisburseLoan(), this.fixedEmiAmount, disbursementData, + this.maxOutstandingLoanBalance,loanVariationTermsData, getInterestChargedFromDate()); final LoanScheduleModel loanSchedule = loanScheduleGenerator.generate(mc, applicationCurrency, loanApplicationTerms, charges(), isHolidayEnabled, holidays, workingDays); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java index e40d2977b..906cf1c91 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java @@ -126,9 +126,9 @@ public final class LoanApplicationTerms { public static LoanApplicationTerms assembleFrom(final ApplicationCurrency applicationCurrency, final Integer loanTermFrequency, final PeriodFrequencyType loanTermPeriodFrequencyType, final LocalDate expectedDisbursementDate, final LocalDate repaymentsStartingFromDate, final LocalDate calculatedRepaymentsStartingFromDate, - final Money inArrearsTolerance, final LoanProductRelatedDetail loanProductRelatedDetail, final boolean multiDisburseLoan, - final BigDecimal emiAmount, final List disbursementDatas, final BigDecimal maxOutstandingBalance, - final List emiAmountVariations) { + final Money inArrearsTolerance, final LoanProductRelatedDetail loanProductRelatedDetail, + final boolean multiDisburseLoan,final BigDecimal emiAmount,final List disbursementDatas, + final BigDecimal maxOutstandingBalance,final List emiAmountVariations, final LocalDate interestChargedFromDate) { final Integer numberOfRepayments = loanProductRelatedDetail.getNumberOfRepayments(); final Integer repaymentEvery = loanProductRelatedDetail.getRepayEvery(); @@ -143,10 +143,9 @@ public final class LoanApplicationTerms { final Money principalMoney = loanProductRelatedDetail.getPrincipal(); // - final Integer graceOnPrincipalPayment = 0; - final Integer graceOnInterestPayment = 0; - final Integer graceOnInterestCharged = 0; - final LocalDate interestChargedFromDate = null; + final Integer graceOnPrincipalPayment = loanProductRelatedDetail.graceOnPrincipalPayment() ; + final Integer graceOnInterestPayment = loanProductRelatedDetail.graceOnInterestPayment() ; + final Integer graceOnInterestCharged = loanProductRelatedDetail.graceOnInterestCharged(); return new LoanApplicationTerms(applicationCurrency, loanTermFrequency, loanTermPeriodFrequencyType, numberOfRepayments, repaymentEvery, repaymentPeriodFrequencyType, amortizationMethod, interestMethod, interestRatePerPeriod, diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProductRelatedDetail.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProductRelatedDetail.java index 196674782..62447f9e5 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProductRelatedDetail.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProductRelatedDetail.java @@ -163,6 +163,18 @@ public class LoanProductRelatedDetail implements LoanProductMinimumRepaymentSche public void setPrincipal(BigDecimal principal) { this.principal = principal; } + + public Integer graceOnInterestCharged() { + return this.graceOnInterestCharged; + } + + public Integer graceOnInterestPayment() { + return this.graceOnInterestPayment; + } + + public Integer graceOnPrincipalPayment() { + return this.graceOnPrincipalPayment; + } public Money getInArrearsTolerance() { return Money.of(this.currency, this.inArrearsTolerance); From 074c0a9fb5f82d5f84b9019a671101e7c8b03118 Mon Sep 17 00:00:00 2001 From: Vishwas Babu A J Date: Tue, 18 Mar 2014 01:28:23 -0700 Subject: [PATCH 2/3] Update CHANGELOG.md for 1.20.1 Release --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index babfb882c..5c31ad3c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ See VERSIONING (https://github.com/openMF/mifosx/blob/master/VERSIONING.md) for Releases =============== +1. 18 Mar 2014 - 1.20.1.RELEASE 1. 16 Mar 2014 - 1.20.0.RELEASE 1. 04 Mar 2014 - 1.19.0.RELEASE 1. 23 Feb 2014 - 1.18.0.RELEASE @@ -61,6 +62,13 @@ Releases 1. 05 April 2013 - 0.11.0.beta +1.20.1.RELEASE +============= +Bug Release + +Bugs + - [MIFOSX-995] - Grace periods not working when actualDisbursementDate != expectedDisbursementDate + 1.20.0.RELEASE ============= Feature Release From 5e9e43e1f470a58a06b9727f46be5e6e0c7acf58 Mon Sep 17 00:00:00 2001 From: Vishwas Babu A J Date: Tue, 18 Mar 2014 01:30:32 -0700 Subject: [PATCH 3/3] Updates for 1.20.1 Release --- api-docs/apiLive.htm | 2 +- mifosng-provider/gradle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api-docs/apiLive.htm b/api-docs/apiLive.htm index f6701aeac..64afcbfce 100644 --- a/api-docs/apiLive.htm +++ b/api-docs/apiLive.htm @@ -90,7 +90,7 @@
- +

Overview

diff --git a/mifosng-provider/gradle.properties b/mifosng-provider/gradle.properties index f5d1454b3..d4afb64ed 100644 --- a/mifosng-provider/gradle.properties +++ b/mifosng-provider/gradle.properties @@ -1,4 +1,4 @@ -releaseVersion=1.20.0.RELEASE +releaseVersion=1.20.1.RELEASE