From 6c60d84a85311561c1eaa84cfd38c7628af05b2e Mon Sep 17 00:00:00 2001 From: nazeer1100126 Date: Wed, 3 May 2017 16:26:59 +0530 Subject: [PATCH] issue 205 for jlg change of disbursement date at time of disbursement --- .../apache/fineract/portfolio/loanaccount/domain/Loan.java | 6 +++++- .../service/LoanWritePlatformServiceJpaRepositoryImpl.java | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) 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 56eba2696..0c3d05dc1 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 @@ -3874,7 +3874,11 @@ public class Loan extends AbstractPersistableCustom { return disbursementDate; } - public LocalDate getWrittenOffDate() { + public void setActualDisbursementDate(Date actualDisbursementDate) { + this.actualDisbursementDate = actualDisbursementDate; + } + + public LocalDate getWrittenOffDate() { LocalDate writtenOffDate = null; if (this.writtenOffOnDate != null) { writtenOffDate = new LocalDate(this.writtenOffOnDate); diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java index abb635391..836b3140a 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java @@ -257,6 +257,7 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf final Loan loan = this.loanAssembler.assembleFrom(loanId); final LocalDate actualDisbursementDate = command.localDateValueOfParameterNamed("actualDisbursementDate"); + // validate ActualDisbursement Date Against Expected Disbursement Date LoanProduct loanProduct = loan.loanProduct(); if(loanProduct.syncExpectedWithDisbursementDate()){ @@ -274,6 +275,7 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf checkForProductMixRestrictions(loan); LocalDate recalculateFrom = null; + loan.setActualDisbursementDate(actualDisbursementDate.toDate()); ScheduleGeneratorDTO scheduleGeneratorDTO = this.loanUtilService.buildScheduleGeneratorDTO(loan, recalculateFrom); // validate actual disbursement date against meeting date @@ -678,6 +680,7 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf final ApplicationCurrency applicationCurrency = this.applicationCurrencyRepository.findOneWithNotFoundDetection(currency); final LocalDate recalculateFrom = null; + loan.setActualDisbursementDate(null); ScheduleGeneratorDTO scheduleGeneratorDTO = this.loanUtilService.buildScheduleGeneratorDTO(loan, recalculateFrom); final Map changes = loan.undoDisbursal(scheduleGeneratorDTO, existingTransactionIds,