From cbb2bd7c58146040c2c4a65253921e10e833ca2a Mon Sep 17 00:00:00 2001 From: Jaanu423 Date: Wed, 17 Jun 2026 14:46:26 +0530 Subject: [PATCH] feat(bank-transfer): convert bank transfer to maker-checker approval flow - submitBankTransfer() now calls submit() with requestType='BANK_TRANSFER' instead of the immediate-execution /banktransfer endpoint - Confirm dialog updated: 'Submit for Approval' instead of 'Execute Transfer' - disbursement-review: isBankTransferMode getter, separate DR/CR entry tables, 'Approve Bank Transfer' button label, correct isCollectionMode guard - Disbursement Requests checker inbox: Type badge (Bank Transfer/Collection/ Disbursement) column, GL column shows 'Intra-bank transfer' for BT requests - Checker inbox tab renamed to 'Disbursement & Transfers' Co-Authored-By: Claude Sonnet 4.6 --- src/app/cashier/clerk-disbursement.service.ts | 4 + .../transaction-entry.component.html | 22 +- .../transaction-entry.component.ts | 147 +++++++++- .../disbursement-review.component.html | 254 +++++++++++++----- .../disbursement-review.component.ts | 14 +- .../disbursement-requests.component.html | 43 ++- .../checker-inbox-and-tasks.component.html | 2 +- 7 files changed, 401 insertions(+), 85 deletions(-) diff --git a/src/app/cashier/clerk-disbursement.service.ts b/src/app/cashier/clerk-disbursement.service.ts index 79e3b4649..35bdf6c7a 100644 --- a/src/app/cashier/clerk-disbursement.service.ts +++ b/src/app/cashier/clerk-disbursement.service.ts @@ -45,4 +45,8 @@ export class ClerkDisbursementService { reject(id: number, reason: string): Observable { return this.http.post(`/clerk/disbursement-requests/${id}/reject`, { reason }); } + + bankTransfer(data: any): Observable { + return this.http.post('/clerk/disbursement-requests/banktransfer', data); + } } diff --git a/src/app/cashier/transaction-entry/transaction-entry.component.html b/src/app/cashier/transaction-entry/transaction-entry.component.html index 2ed9f8abc..631fdfbca 100644 --- a/src/app/cashier/transaction-entry/transaction-entry.component.html +++ b/src/app/cashier/transaction-entry/transaction-entry.component.html @@ -150,7 +150,12 @@ class="ws-f__ctl" [(ngModel)]="row.acTyp" (click)="$event.stopPropagation()" - (change)="row.acTyp === 'GL' && row.typ !== 'Disbursement' && (row.dbCr = 'Cr')" + (change)=" + row.acTyp === 'GL' && + row.typ !== 'Disbursement' && + row.typ !== 'Enter Bank Transfer' && + (row.dbCr = 'Cr') + " > @for (a of acTypOptions; track a) { @@ -192,7 +197,9 @@ type="button" class="ws-seg__btn ws-seg__btn--dr" [class.ws-seg__btn--active-dr]="row.dbCr === 'Dr'" - [disabled]="row.acTyp === 'GL' && row.typ !== 'Disbursement'" + [disabled]=" + row.acTyp === 'GL' && row.typ !== 'Disbursement' && row.typ !== 'Enter Bank Transfer' + " (click)="row.dbCr = 'Dr'" > DR @@ -1194,7 +1201,12 @@