FINERACT-2326: Do not remove external id if transaction got not replayed
This commit is contained in:
+8
-5
@@ -125,11 +125,14 @@ public class LoanAccrualActivityProcessingServiceImpl implements LoanAccrualActi
|
||||
protected void createNewTransaction(LoanTransaction loanTransaction, LoanTransaction newLoanTransaction,
|
||||
ChangedTransactionDetail changedTransactionDetail) {
|
||||
loanTransaction.reverse();
|
||||
loanTransaction.updateExternalId(null);
|
||||
newLoanTransaction.copyLoanTransactionRelations(loanTransaction.getLoanTransactionRelations());
|
||||
// Adding Replayed relation from newly created transaction to reversed transaction
|
||||
newLoanTransaction.getLoanTransactionRelations().add(
|
||||
LoanTransactionRelation.linkToTransaction(newLoanTransaction, loanTransaction, LoanTransactionRelationTypeEnum.REPLAYED));
|
||||
|
||||
if (newLoanTransaction.isNotReversed()) {
|
||||
loanTransaction.updateExternalId(null);
|
||||
newLoanTransaction.copyLoanTransactionRelations(loanTransaction.getLoanTransactionRelations());
|
||||
// Adding Replayed relation from newly created transaction to reversed transaction
|
||||
newLoanTransaction.getLoanTransactionRelations().add(LoanTransactionRelation.linkToTransaction(newLoanTransaction,
|
||||
loanTransaction, LoanTransactionRelationTypeEnum.REPLAYED));
|
||||
}
|
||||
changedTransactionDetail.addTransactionChange(new TransactionChangeData(loanTransaction, newLoanTransaction));
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -92,7 +92,7 @@ public class ProgressiveLoanInterestRefundServiceImpl implements InterestRefundS
|
||||
.reprocessProgressiveLoanTransactions(loan.getDisbursementDate(), relatedRefundTransactionDate, transactionsToReprocess,
|
||||
loan.getCurrency(), installmentsToReprocess, loan.getActiveCharges());
|
||||
final List<LoanTransaction> newTransactions = reprocessResult.getLeft().getTransactionChanges().stream()
|
||||
.map(TransactionChangeData::getNewTransaction).toList();
|
||||
.map(TransactionChangeData::getNewTransaction).toList().stream().filter(LoanTransaction::isNotReversed).toList();
|
||||
loan.getLoanTransactions().addAll(newTransactions);
|
||||
ProgressiveLoanInterestScheduleModel modelAfter = reprocessResult.getRight();
|
||||
|
||||
|
||||
+6
-3
@@ -175,7 +175,8 @@ public class ReprocessLoanTransactionsServiceImpl implements ReprocessLoanTransa
|
||||
final ChangedTransactionDetail changedTransactionDetail = loanTransactionProcessingService
|
||||
.processLatestTransaction(loan.getTransactionProcessingStrategyCode(), loanTransaction, transactionCtx);
|
||||
final List<LoanTransaction> newTransactions = changedTransactionDetail.getTransactionChanges().stream()
|
||||
.map(TransactionChangeData::getNewTransaction).peek(transaction -> transaction.updateLoan(loan)).toList();
|
||||
.map(TransactionChangeData::getNewTransaction).toList().stream().filter(LoanTransaction::isNotReversed)
|
||||
.peek(transaction -> transaction.updateLoan(loan)).toList();
|
||||
loan.getLoanTransactions().addAll(newTransactions);
|
||||
|
||||
loanBalanceService.updateLoanSummaryDerivedFields(loan);
|
||||
@@ -206,10 +207,12 @@ public class ReprocessLoanTransactionsServiceImpl implements ReprocessLoanTransa
|
||||
: new LoanAccrualAdjustmentTransactionBusinessEvent(newTransaction);
|
||||
businessEventNotifierService.notifyPostBusinessEvent(businessEvent);
|
||||
}
|
||||
if (oldTransaction != null) {
|
||||
loanAccountTransfersService.updateLoanTransaction(oldTransaction.getId(), newTransaction);
|
||||
}
|
||||
}
|
||||
|
||||
if (oldTransaction != null) {
|
||||
loanAccountTransfersService.updateLoanTransaction(oldTransaction.getId(), newTransaction);
|
||||
// Create reversal journal entries for old transaction if it exists (reverse-replay scenario)
|
||||
loanJournalEntryPoster.postJournalEntriesForLoanTransaction(oldTransaction, false, false);
|
||||
}
|
||||
@@ -226,7 +229,7 @@ public class ReprocessLoanTransactionsServiceImpl implements ReprocessLoanTransa
|
||||
change.getNewTransaction().updateLoan(loan);
|
||||
}
|
||||
final List<LoanTransaction> newTransactions = changedTransactionDetail.getTransactionChanges().stream()
|
||||
.map(TransactionChangeData::getNewTransaction).toList();
|
||||
.map(TransactionChangeData::getNewTransaction).toList().stream().filter(LoanTransaction::isNotReversed).toList();
|
||||
loan.getLoanTransactions().addAll(newTransactions);
|
||||
loanBalanceService.updateLoanSummaryDerivedFields(loan);
|
||||
loanAccrualActivityProcessingService.recalculateAccrualActivityTransaction(loan, changedTransactionDetail);
|
||||
|
||||
Reference in New Issue
Block a user