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);