From c353eb8a9c799d63a3d3d407d964f7b2f352a6f9 Mon Sep 17 00:00:00 2001 From: Attila Budai Date: Mon, 8 Sep 2025 19:12:12 +0200 Subject: [PATCH] WEB-295: change transaction to undowriteoff for writeoff transaction instead of undo --- .../transactions-tab/transactions-tab.component.ts | 14 +++++++++++++- .../view-transaction/view-transaction.component.ts | 8 +++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/app/loans/loans-view/transactions-tab/transactions-tab.component.ts b/src/app/loans/loans-view/transactions-tab/transactions-tab.component.ts index aabcbf988..1e37a7769 100644 --- a/src/app/loans/loans-view/transactions-tab/transactions-tab.component.ts +++ b/src/app/loans/loans-view/transactions-tab/transactions-tab.component.ts @@ -335,6 +335,14 @@ export class TransactionsTabComponent implements OnInit { command = 'undo-charge-off'; operationDate = this.settingsService.businessDate; payload = {}; + } else if (this.isWriteOff(transaction.type)) { + command = 'undowriteoff'; + payload = { + transactionDate: this.dateUtils.formatDate(operationDate && new Date(operationDate), dateFormat), + transactionAmount: 0, + dateFormat, + locale + }; } else { payload = { transactionDate: this.dateUtils.formatDate(operationDate && new Date(operationDate), dateFormat), @@ -357,7 +365,7 @@ export class TransactionsTabComponent implements OnInit { undoTransactionAccountDialogRef.afterClosed().subscribe((response: { confirm: any }) => { if (response.confirm) { let transactionId = transaction.id; - if (this.isChargeOff(transaction.type)) { + if (this.isChargeOff(transaction.type) || command === 'undowriteoff' || this.isWriteOff(transaction.type)) { transactionId = null; } this.loansService @@ -399,6 +407,10 @@ export class TransactionsTabComponent implements OnInit { return transactionType.chargeoff || transactionType.code === 'loanTransactionType.chargeOff'; } + isWriteOff(transactionType: LoanTransactionType): boolean { + return transactionType.writeOff || transactionType.code === 'loanTransactionType.writeOff'; + } + private isDownPayment(transactionType: LoanTransactionType): boolean { return transactionType.downPayment || transactionType.code === 'loanTransactionType.downPayment'; } diff --git a/src/app/loans/loans-view/transactions/view-transaction/view-transaction.component.ts b/src/app/loans/loans-view/transactions/view-transaction/view-transaction.component.ts index 7065d5f61..576cc451c 100644 --- a/src/app/loans/loans-view/transactions/view-transaction/view-transaction.component.ts +++ b/src/app/loans/loans-view/transactions/view-transaction/view-transaction.component.ts @@ -200,6 +200,10 @@ export class ViewTransactionComponent implements OnInit { return true; } + isWriteOff(transactionType: LoanTransactionType): boolean { + return transactionType.writeOff || transactionType.code === 'loanTransactionType.writeOff'; + } + /** * Undo the loans transaction */ @@ -267,8 +271,10 @@ export class ViewTransactionComponent implements OnInit { dateFormat, locale }; + const command = this.isWriteOff(this.transactionType) ? 'undowriteoff' : 'undo'; + const transactionId = command === 'undowriteoff' ? null : this.transactionData.id; this.loansService - .executeLoansAccountTransactionsCommand(accountId, 'undo', data, this.transactionData.id) + .executeLoansAccountTransactionsCommand(accountId, command, data, transactionId) .subscribe(() => { this.router.navigate(['../'], { relativeTo: this.route }); });