From e456aa6c659c85280ab5fb66d86ccaf762d7d982 Mon Sep 17 00:00:00 2001 From: Adam Saghy Date: Tue, 7 Feb 2023 10:43:24 +0100 Subject: [PATCH] FINERACT-1840: Minor fix to avoid business logic collision --- .../apache/fineract/portfolio/loanaccount/domain/Loan.java | 6 +++++- 1 file changed, 5 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 a1307afc2..3e443586c 100644 --- 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 @@ -3509,7 +3509,11 @@ public class Loan extends AbstractAuditableWithUTCDateTimeCustom { public void applyIncomeAccrualTransaction(LocalDate closedDate) { ExternalId externalId = ExternalId.empty(); boolean isExternalIdAutoGenerationEnabled = TemporaryConfigurationServiceContainer.isExternalIdAutoGenerationEnabled(); - if (isPeriodicAccrualAccountingEnabledOnLoanProduct()) { + if (isPeriodicAccrualAccountingEnabledOnLoanProduct() + // to avoid collision with processIncomeAccrualTransactionOnLoanClosure() + // TODO: review after interest calculation implemented + && !(this.loanInterestRecalculationDetails != null + && this.loanInterestRecalculationDetails.isCompoundingToBePostedAsTransaction())) { List updatedAccrualTransactions = retrieveListOfAccrualTransactions(); LocalDate lastAccruedDate = this.getDisbursementDate(); if (!updatedAccrualTransactions.isEmpty()) {