CC-61:validate holiday only once while doing repayment through collection sheet
This commit is contained in:
+7
-2
@@ -32,6 +32,7 @@ import org.mifosplatform.portfolio.account.domain.AccountTransferDetails;
|
|||||||
import org.mifosplatform.portfolio.account.domain.AccountTransferRepository;
|
import org.mifosplatform.portfolio.account.domain.AccountTransferRepository;
|
||||||
import org.mifosplatform.portfolio.account.domain.AccountTransferTransaction;
|
import org.mifosplatform.portfolio.account.domain.AccountTransferTransaction;
|
||||||
import org.mifosplatform.portfolio.account.domain.AccountTransferType;
|
import org.mifosplatform.portfolio.account.domain.AccountTransferType;
|
||||||
|
import org.mifosplatform.portfolio.loanaccount.data.HolidayDetailDTO;
|
||||||
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
|
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
|
||||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanAccountDomainService;
|
import org.mifosplatform.portfolio.loanaccount.domain.LoanAccountDomainService;
|
||||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransaction;
|
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransaction;
|
||||||
@@ -145,10 +146,12 @@ public class AccountTransfersWritePlatformServiceImpl implements AccountTransfer
|
|||||||
final Long toLoanAccountId = command.longValueOfParameterNamed(toAccountIdParamName);
|
final Long toLoanAccountId = command.longValueOfParameterNamed(toAccountIdParamName);
|
||||||
final Loan toLoanAccount = this.loanAccountAssembler.assembleFrom(toLoanAccountId);
|
final Loan toLoanAccount = this.loanAccountAssembler.assembleFrom(toLoanAccountId);
|
||||||
|
|
||||||
|
final Boolean isHolidayValidationDone = false;
|
||||||
|
final HolidayDetailDTO holidayDetailDto = null;
|
||||||
final boolean isRecoveryRepayment = false;
|
final boolean isRecoveryRepayment = false;
|
||||||
final LoanTransaction loanRepaymentTransaction = this.loanAccountDomainService.makeRepayment(toLoanAccount,
|
final LoanTransaction loanRepaymentTransaction = this.loanAccountDomainService.makeRepayment(toLoanAccount,
|
||||||
new CommandProcessingResultBuilder(), transactionDate, transactionAmount, paymentDetail, null, null,
|
new CommandProcessingResultBuilder(), transactionDate, transactionAmount, paymentDetail, null, null,
|
||||||
isRecoveryRepayment, isAccountTransfer);
|
isRecoveryRepayment, isAccountTransfer, holidayDetailDto, isHolidayValidationDone);
|
||||||
|
|
||||||
final AccountTransferDetails accountTransferDetails = this.accountTransferAssembler.assembleSavingsToLoanTransfer(command,
|
final AccountTransferDetails accountTransferDetails = this.accountTransferAssembler.assembleSavingsToLoanTransfer(command,
|
||||||
fromSavingsAccount, toLoanAccount, withdrawal, loanRepaymentTransaction);
|
fromSavingsAccount, toLoanAccount, withdrawal, loanRepaymentTransaction);
|
||||||
@@ -304,9 +307,11 @@ public class AccountTransfersWritePlatformServiceImpl implements AccountTransfer
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
final boolean isRecoveryRepayment = false;
|
final boolean isRecoveryRepayment = false;
|
||||||
|
final Boolean isHolidayValidationDone=false;
|
||||||
|
final HolidayDetailDTO holidayDetailDto=null;
|
||||||
loanTransaction = this.loanAccountDomainService.makeRepayment(toLoanAccount, new CommandProcessingResultBuilder(),
|
loanTransaction = this.loanAccountDomainService.makeRepayment(toLoanAccount, new CommandProcessingResultBuilder(),
|
||||||
accountTransferDTO.getTransactionDate(), accountTransferDTO.getTransactionAmount(),
|
accountTransferDTO.getTransactionDate(), accountTransferDTO.getTransactionAmount(),
|
||||||
accountTransferDTO.getPaymentDetail(), null, null, isRecoveryRepayment, isAccountTransfer);
|
accountTransferDTO.getPaymentDetail(), null, null, isRecoveryRepayment, isAccountTransfer,holidayDetailDto,isHolidayValidationDone);
|
||||||
}
|
}
|
||||||
|
|
||||||
accountTransferDetails = this.accountTransferAssembler.assembleSavingsToLoanTransfer(accountTransferDTO, fromSavingsAccount,
|
accountTransferDetails = this.accountTransferAssembler.assembleSavingsToLoanTransfer(accountTransferDTO, fromSavingsAccount,
|
||||||
|
|||||||
+13
-11
@@ -2845,24 +2845,26 @@ public class Loan extends AbstractPersistable<Long> {
|
|||||||
public ChangedTransactionDetail makeRepayment(final LoanTransaction repaymentTransaction,
|
public ChangedTransactionDetail makeRepayment(final LoanTransaction repaymentTransaction,
|
||||||
final LoanLifecycleStateMachine loanLifecycleStateMachine, final List<Long> existingTransactionIds,
|
final LoanLifecycleStateMachine loanLifecycleStateMachine, final List<Long> existingTransactionIds,
|
||||||
final List<Long> existingReversedTransactionIds, boolean isRecoveryRepayment, final ScheduleGeneratorDTO scheduleGeneratorDTO,
|
final List<Long> existingReversedTransactionIds, boolean isRecoveryRepayment, final ScheduleGeneratorDTO scheduleGeneratorDTO,
|
||||||
final AppUser currentUser) {
|
final AppUser currentUser, Boolean isHolidayValidationDone) {
|
||||||
|
HolidayDetailDTO holidayDetailDTO = null;
|
||||||
LoanEvent event = null;
|
LoanEvent event = null;
|
||||||
if (isRecoveryRepayment) {
|
if (isRecoveryRepayment) {
|
||||||
event = LoanEvent.LOAN_RECOVERY_PAYMENT;
|
event = LoanEvent.LOAN_RECOVERY_PAYMENT;
|
||||||
} else {
|
} else {
|
||||||
event = LoanEvent.LOAN_REPAYMENT_OR_WAIVER;
|
event = LoanEvent.LOAN_REPAYMENT_OR_WAIVER;
|
||||||
}
|
}
|
||||||
|
if (!isHolidayValidationDone) {
|
||||||
HolidayDetailDTO holidayDetailDTO = scheduleGeneratorDTO.getHolidayDetailDTO();
|
holidayDetailDTO = scheduleGeneratorDTO.getHolidayDetailDTO();
|
||||||
|
}
|
||||||
validateAccountStatus(event);
|
validateAccountStatus(event);
|
||||||
validateActivityNotBeforeClientOrGroupTransferDate(event, repaymentTransaction.getTransactionDate());
|
validateActivityNotBeforeClientOrGroupTransferDate(event, repaymentTransaction.getTransactionDate());
|
||||||
validateActivityNotBeforeLastTransactionDate(event, repaymentTransaction.getTransactionDate());
|
validateActivityNotBeforeLastTransactionDate(event, repaymentTransaction.getTransactionDate());
|
||||||
validateRepaymentDateIsOnHoliday(repaymentTransaction.getTransactionDate(), holidayDetailDTO.isAllowTransactionsOnHoliday(),
|
if (!isHolidayValidationDone) {
|
||||||
holidayDetailDTO.getHolidays());
|
validateRepaymentDateIsOnHoliday(repaymentTransaction.getTransactionDate(), holidayDetailDTO.isAllowTransactionsOnHoliday(),
|
||||||
validateRepaymentDateIsOnNonWorkingDay(repaymentTransaction.getTransactionDate(), holidayDetailDTO.getWorkingDays(),
|
holidayDetailDTO.getHolidays());
|
||||||
holidayDetailDTO.isAllowTransactionsOnNonWorkingDay());
|
validateRepaymentDateIsOnNonWorkingDay(repaymentTransaction.getTransactionDate(), holidayDetailDTO.getWorkingDays(),
|
||||||
|
holidayDetailDTO.isAllowTransactionsOnNonWorkingDay());
|
||||||
|
}
|
||||||
existingTransactionIds.addAll(findExistingTransactionIds());
|
existingTransactionIds.addAll(findExistingTransactionIds());
|
||||||
existingReversedTransactionIds.addAll(findExistingReversedTransactionIds());
|
existingReversedTransactionIds.addAll(findExistingReversedTransactionIds());
|
||||||
|
|
||||||
@@ -4366,7 +4368,7 @@ public class Loan extends AbstractPersistable<Long> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validateRepaymentDateIsOnNonWorkingDay(final LocalDate repaymentDate, final WorkingDays workingDays,
|
public void validateRepaymentDateIsOnNonWorkingDay(final LocalDate repaymentDate, final WorkingDays workingDays,
|
||||||
final boolean allowTransactionsOnNonWorkingDay) {
|
final boolean allowTransactionsOnNonWorkingDay) {
|
||||||
if (!allowTransactionsOnNonWorkingDay) {
|
if (!allowTransactionsOnNonWorkingDay) {
|
||||||
if (!WorkingDaysUtil.isWorkingDay(workingDays, repaymentDate)) {
|
if (!WorkingDaysUtil.isWorkingDay(workingDays, repaymentDate)) {
|
||||||
@@ -4376,7 +4378,7 @@ public class Loan extends AbstractPersistable<Long> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validateRepaymentDateIsOnHoliday(final LocalDate repaymentDate, final boolean allowTransactionsOnHoliday,
|
public void validateRepaymentDateIsOnHoliday(final LocalDate repaymentDate, final boolean allowTransactionsOnHoliday,
|
||||||
final List<Holiday> holidays) {
|
final List<Holiday> holidays) {
|
||||||
if (!allowTransactionsOnHoliday) {
|
if (!allowTransactionsOnHoliday) {
|
||||||
if (HolidayUtil.isHoliday(repaymentDate, holidays)) {
|
if (HolidayUtil.isHoliday(repaymentDate, holidays)) {
|
||||||
|
|||||||
+2
-1
@@ -10,6 +10,7 @@ import java.math.BigDecimal;
|
|||||||
import org.joda.time.LocalDate;
|
import org.joda.time.LocalDate;
|
||||||
import org.mifosplatform.infrastructure.core.data.CommandProcessingResultBuilder;
|
import org.mifosplatform.infrastructure.core.data.CommandProcessingResultBuilder;
|
||||||
import org.mifosplatform.portfolio.calendar.domain.CalendarInstance;
|
import org.mifosplatform.portfolio.calendar.domain.CalendarInstance;
|
||||||
|
import org.mifosplatform.portfolio.loanaccount.data.HolidayDetailDTO;
|
||||||
import org.mifosplatform.portfolio.loanaccount.data.ScheduleGeneratorDTO;
|
import org.mifosplatform.portfolio.loanaccount.data.ScheduleGeneratorDTO;
|
||||||
import org.mifosplatform.portfolio.paymentdetail.domain.PaymentDetail;
|
import org.mifosplatform.portfolio.paymentdetail.domain.PaymentDetail;
|
||||||
|
|
||||||
@@ -17,7 +18,7 @@ public interface LoanAccountDomainService {
|
|||||||
|
|
||||||
LoanTransaction makeRepayment(Loan loan, CommandProcessingResultBuilder builderResult, LocalDate transactionDate,
|
LoanTransaction makeRepayment(Loan loan, CommandProcessingResultBuilder builderResult, LocalDate transactionDate,
|
||||||
BigDecimal transactionAmount, PaymentDetail paymentDetail, String noteText, String txnExternalId,
|
BigDecimal transactionAmount, PaymentDetail paymentDetail, String noteText, String txnExternalId,
|
||||||
final boolean isRecoveryRepayment, boolean isAccountTransfer);
|
final boolean isRecoveryRepayment, boolean isAccountTransfer, HolidayDetailDTO holidatDetailDto, Boolean isHolidayValidationDone);
|
||||||
|
|
||||||
LoanTransaction makeRefund(Long accountId, CommandProcessingResultBuilder builderResult, LocalDate transactionDate,
|
LoanTransaction makeRefund(Long accountId, CommandProcessingResultBuilder builderResult, LocalDate transactionDate,
|
||||||
BigDecimal transactionAmount, PaymentDetail paymentDetail, String noteText, String txnExternalId);
|
BigDecimal transactionAmount, PaymentDetail paymentDetail, String noteText, String txnExternalId);
|
||||||
|
|||||||
+23
-10
@@ -132,9 +132,17 @@ public class LoanAccountDomainServiceJpa implements LoanAccountDomainService {
|
|||||||
@Override
|
@Override
|
||||||
public LoanTransaction makeRepayment(final Loan loan, final CommandProcessingResultBuilder builderResult,
|
public LoanTransaction makeRepayment(final Loan loan, final CommandProcessingResultBuilder builderResult,
|
||||||
final LocalDate transactionDate, final BigDecimal transactionAmount, final PaymentDetail paymentDetail, final String noteText,
|
final LocalDate transactionDate, final BigDecimal transactionAmount, final PaymentDetail paymentDetail, final String noteText,
|
||||||
final String txnExternalId, final boolean isRecoveryRepayment, boolean isAccountTransfer) {
|
final String txnExternalId, final boolean isRecoveryRepayment, boolean isAccountTransfer, HolidayDetailDTO holidayDetailDto, Boolean isHolidayValidationDone) {
|
||||||
AppUser currentUser = getAppUserIfPresent();
|
AppUser currentUser = getAppUserIfPresent();
|
||||||
checkClientOrGroupActive(loan);
|
checkClientOrGroupActive(loan);
|
||||||
|
List<Holiday> holidays = null;
|
||||||
|
WorkingDays workingDays = null;
|
||||||
|
boolean allowTransactionsOnHoliday = false;
|
||||||
|
boolean allowTransactionsOnNonWorkingDay = false;
|
||||||
|
HolidayDetailDTO holidayDetailDTO = null;
|
||||||
|
if(holidayDetailDto != null){
|
||||||
|
holidayDetailDTO = holidayDetailDto;
|
||||||
|
}
|
||||||
this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.LOAN_MAKE_REPAYMENT,
|
this.businessEventNotifierService.notifyBusinessEventToBeExecuted(BUSINESS_EVENTS.LOAN_MAKE_REPAYMENT,
|
||||||
constructEntityMap(BUSINESS_ENTITY.LOAN, loan));
|
constructEntityMap(BUSINESS_ENTITY.LOAN, loan));
|
||||||
|
|
||||||
@@ -165,12 +173,13 @@ public class LoanAccountDomainServiceJpa implements LoanAccountDomainService {
|
|||||||
txnExternalId, currentDateTime, currentUser);
|
txnExternalId, currentDateTime, currentUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
final boolean allowTransactionsOnHoliday = this.configurationDomainService.allowTransactionsOnHolidayEnabled();
|
if(!isHolidayValidationDone){
|
||||||
final List<Holiday> holidays = this.holidayRepository.findByOfficeIdAndGreaterThanDate(loan.getOfficeId(),
|
allowTransactionsOnHoliday = this.configurationDomainService.allowTransactionsOnHolidayEnabled();
|
||||||
transactionDate.toDate(), HolidayStatusType.ACTIVE.getValue());
|
holidays = this.holidayRepository.findByOfficeIdAndGreaterThanDate(loan.getOfficeId(),
|
||||||
final WorkingDays workingDays = this.workingDaysRepository.findOne();
|
transactionDate.toDate(), HolidayStatusType.ACTIVE.getValue());
|
||||||
final boolean allowTransactionsOnNonWorkingDay = this.configurationDomainService.allowTransactionsOnNonWorkingDayEnabled();
|
workingDays = this.workingDaysRepository.findOne();
|
||||||
|
allowTransactionsOnNonWorkingDay = this.configurationDomainService.allowTransactionsOnNonWorkingDayEnabled();
|
||||||
|
}
|
||||||
CalendarInstance restCalendarInstance = null;
|
CalendarInstance restCalendarInstance = null;
|
||||||
CalendarInstance compoundingCalendarInstance = null;
|
CalendarInstance compoundingCalendarInstance = null;
|
||||||
ApplicationCurrency applicationCurrency = null;
|
ApplicationCurrency applicationCurrency = null;
|
||||||
@@ -191,12 +200,16 @@ public class LoanAccountDomainServiceJpa implements LoanAccountDomainService {
|
|||||||
calculatedRepaymentsStartingFromDate = getCalculatedRepaymentsStartingFromDate(loan.getDisbursementDate(), loan,
|
calculatedRepaymentsStartingFromDate = getCalculatedRepaymentsStartingFromDate(loan.getDisbursementDate(), loan,
|
||||||
calendarInstance);
|
calendarInstance);
|
||||||
|
|
||||||
isHolidayEnabled = this.configurationDomainService.isRescheduleRepaymentsOnHolidaysEnabled();
|
if(!isHolidayValidationDone){
|
||||||
|
isHolidayEnabled = this.configurationDomainService.isRescheduleRepaymentsOnHolidaysEnabled();
|
||||||
|
}
|
||||||
overdurPenaltyWaitPeriod = this.configurationDomainService.retrievePenaltyWaitPeriod();
|
overdurPenaltyWaitPeriod = this.configurationDomainService.retrievePenaltyWaitPeriod();
|
||||||
recalculateFrom = transactionDate;
|
recalculateFrom = transactionDate;
|
||||||
}
|
}
|
||||||
HolidayDetailDTO holidayDetailDTO = new HolidayDetailDTO(isHolidayEnabled, holidays, workingDays, allowTransactionsOnHoliday,
|
if(!isHolidayValidationDone){
|
||||||
|
holidayDetailDTO = new HolidayDetailDTO(isHolidayEnabled, holidays, workingDays, allowTransactionsOnHoliday,
|
||||||
allowTransactionsOnNonWorkingDay);
|
allowTransactionsOnNonWorkingDay);
|
||||||
|
}
|
||||||
FloatingRateDTO floatingRateDTO = constructFloatingRateDTO(loan);
|
FloatingRateDTO floatingRateDTO = constructFloatingRateDTO(loan);
|
||||||
|
|
||||||
final ScheduleGeneratorDTO scheduleGeneratorDTO = new ScheduleGeneratorDTO(loanScheduleFactory, applicationCurrency,
|
final ScheduleGeneratorDTO scheduleGeneratorDTO = new ScheduleGeneratorDTO(loanScheduleFactory, applicationCurrency,
|
||||||
@@ -205,7 +218,7 @@ public class LoanAccountDomainServiceJpa implements LoanAccountDomainService {
|
|||||||
|
|
||||||
final ChangedTransactionDetail changedTransactionDetail = loan.makeRepayment(newRepaymentTransaction,
|
final ChangedTransactionDetail changedTransactionDetail = loan.makeRepayment(newRepaymentTransaction,
|
||||||
defaultLoanLifecycleStateMachine(), existingTransactionIds, existingReversedTransactionIds, isRecoveryRepayment,
|
defaultLoanLifecycleStateMachine(), existingTransactionIds, existingReversedTransactionIds, isRecoveryRepayment,
|
||||||
scheduleGeneratorDTO, currentUser);
|
scheduleGeneratorDTO, currentUser, isHolidayValidationDone);
|
||||||
|
|
||||||
saveLoanTransactionWithDataIntegrityViolationChecks(newRepaymentTransaction);
|
saveLoanTransactionWithDataIntegrityViolationChecks(newRepaymentTransaction);
|
||||||
|
|
||||||
|
|||||||
+27
-3
@@ -779,11 +779,12 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf
|
|||||||
}
|
}
|
||||||
final Loan loan = this.loanAssembler.assembleFrom(loanId);
|
final Loan loan = this.loanAssembler.assembleFrom(loanId);
|
||||||
final PaymentDetail paymentDetail = this.paymentDetailWritePlatformService.createAndPersistPaymentDetail(command, changes);
|
final PaymentDetail paymentDetail = this.paymentDetailWritePlatformService.createAndPersistPaymentDetail(command, changes);
|
||||||
|
final Boolean isHolidayValidationDone = false;
|
||||||
|
final HolidayDetailDTO holidayDetailDto = null;
|
||||||
boolean isAccountTransfer = false;
|
boolean isAccountTransfer = false;
|
||||||
final CommandProcessingResultBuilder commandProcessingResultBuilder = new CommandProcessingResultBuilder();
|
final CommandProcessingResultBuilder commandProcessingResultBuilder = new CommandProcessingResultBuilder();
|
||||||
this.loanAccountDomainService.makeRepayment(loan, commandProcessingResultBuilder, transactionDate, transactionAmount,
|
this.loanAccountDomainService.makeRepayment(loan, commandProcessingResultBuilder, transactionDate, transactionAmount,
|
||||||
paymentDetail, noteText, txnExternalId, isRecoveryRepayment, isAccountTransfer);
|
paymentDetail, noteText, txnExternalId, isRecoveryRepayment, isAccountTransfer, holidayDetailDto, isHolidayValidationDone);
|
||||||
|
|
||||||
return commandProcessingResultBuilder.withCommandId(command.commandId()) //
|
return commandProcessingResultBuilder.withCommandId(command.commandId()) //
|
||||||
.withLoanId(loanId) //
|
.withLoanId(loanId) //
|
||||||
@@ -802,6 +803,29 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf
|
|||||||
if (repaymentCommand == null) { return changes; }
|
if (repaymentCommand == null) { return changes; }
|
||||||
List<Long> transactionIds = new ArrayList<>();
|
List<Long> transactionIds = new ArrayList<>();
|
||||||
boolean isAccountTransfer = false;
|
boolean isAccountTransfer = false;
|
||||||
|
HolidayDetailDTO holidayDetailDTO = null;
|
||||||
|
Boolean isHolidayValidationDone = false;
|
||||||
|
final boolean allowTransactionsOnHoliday = this.configurationDomainService.allowTransactionsOnHolidayEnabled();
|
||||||
|
for(final SingleRepaymentCommand singleLoanRepaymentCommand : repaymentCommand){
|
||||||
|
if(singleLoanRepaymentCommand != null){
|
||||||
|
Loan loans = this.loanRepository.findOne(singleLoanRepaymentCommand.getLoanId());
|
||||||
|
final List<Holiday> holidays = this.holidayRepository.findByOfficeIdAndGreaterThanDate(loans.getOfficeId(),
|
||||||
|
singleLoanRepaymentCommand.getTransactionDate().toDate());
|
||||||
|
final WorkingDays workingDays = this.workingDaysRepository.findOne();
|
||||||
|
final boolean allowTransactionsOnNonWorkingDay = this.configurationDomainService.allowTransactionsOnNonWorkingDayEnabled();
|
||||||
|
boolean isHolidayEnabled = false;
|
||||||
|
isHolidayEnabled = this.configurationDomainService.isRescheduleRepaymentsOnHolidaysEnabled();
|
||||||
|
holidayDetailDTO = new HolidayDetailDTO(isHolidayEnabled, holidays, workingDays, allowTransactionsOnHoliday,
|
||||||
|
allowTransactionsOnNonWorkingDay);
|
||||||
|
loans.validateRepaymentDateIsOnHoliday(singleLoanRepaymentCommand.getTransactionDate(), holidayDetailDTO.isAllowTransactionsOnHoliday(),
|
||||||
|
holidayDetailDTO.getHolidays());
|
||||||
|
loans.validateRepaymentDateIsOnNonWorkingDay(singleLoanRepaymentCommand.getTransactionDate(), holidayDetailDTO.getWorkingDays(),
|
||||||
|
holidayDetailDTO.isAllowTransactionsOnNonWorkingDay());
|
||||||
|
isHolidayValidationDone = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
for (final SingleRepaymentCommand singleLoanRepaymentCommand : repaymentCommand) {
|
for (final SingleRepaymentCommand singleLoanRepaymentCommand : repaymentCommand) {
|
||||||
if (singleLoanRepaymentCommand != null) {
|
if (singleLoanRepaymentCommand != null) {
|
||||||
final Loan loan = this.loanAssembler.assembleFrom(singleLoanRepaymentCommand.getLoanId());
|
final Loan loan = this.loanAssembler.assembleFrom(singleLoanRepaymentCommand.getLoanId());
|
||||||
@@ -812,7 +836,7 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf
|
|||||||
final CommandProcessingResultBuilder commandProcessingResultBuilder = new CommandProcessingResultBuilder();
|
final CommandProcessingResultBuilder commandProcessingResultBuilder = new CommandProcessingResultBuilder();
|
||||||
LoanTransaction loanTransaction = this.loanAccountDomainService.makeRepayment(loan, commandProcessingResultBuilder,
|
LoanTransaction loanTransaction = this.loanAccountDomainService.makeRepayment(loan, commandProcessingResultBuilder,
|
||||||
bulkRepaymentCommand.getTransactionDate(), singleLoanRepaymentCommand.getTransactionAmount(), paymentDetail,
|
bulkRepaymentCommand.getTransactionDate(), singleLoanRepaymentCommand.getTransactionAmount(), paymentDetail,
|
||||||
bulkRepaymentCommand.getNote(), null, isRecoveryRepayment, isAccountTransfer);
|
bulkRepaymentCommand.getNote(), null, isRecoveryRepayment, isAccountTransfer, holidayDetailDTO, isHolidayValidationDone);
|
||||||
transactionIds.add(loanTransaction.getId());
|
transactionIds.add(loanTransaction.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user