Commit Graph
2349 Commits
Author SHA1 Message Date
Jaanu423andClaude Sonnet 5 0207cf85a3 feat(ctsclearing): single-panel signature verification for inward cheques
Publish Image in Docker Hub / build (push) Canceled after 0s
build-run / Run Lint, Build and Deploy (push) Canceled after 0s
Playwright E2E Tests / Run Playwright Tests (push) Canceled after 0s
Tests / testRigor (push) Canceled after 0s
Adds a rich decide dialog for clerks verifying inward CTS cheques: cheque
images, all automatic validation results, and a mandatory signature-check
gate built from the account's mode of operation and joint holders (backed
by a new SignatoryService reusing the existing signature/document fetch
pattern from the cashier module).

Also adds a fullscreen compare mode: the cheque opens large with a shelf
of every mandatory signer's stored signature, which can be dragged onto
the cheque, resized, made semi-transparent, and zoomed, for a real
side-by-side signature match instead of squinting at a thumbnail.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-22 12:25:20 +05:30
Jaanu423andClaude Sonnet 5 6d205c0ed2 feat(clearing): add CTS/NACH clearing UI with real NPCI batch sessions
Playwright E2E Tests / Run Playwright Tests (push) Canceled after 0s
Tests / testRigor (push) Canceled after 0s
build-run / Run Lint, Build and Deploy (push) Canceled after 0s
Publish Image in Docker Hub / build (push) Canceled after 0s
- CTS clearing module: inward batches (validate/pass/return), outward presentment
  capture, positive pay, settlement, reconciliation
- Outward Clearing merged into one screen: Pending Cheques + Batches tabs (a real
  clearing session per NPCI submission, either the 2-hourly job or manual send),
  drill into a batch to settle/dishonour its cheques
- Date-range, text, and quick (Today/Yesterday/All) filters with pagination across
  inward batches, outward presentments, outward batches, and batch detail
- NACH clearing module (mandates, batches, transaction decisioning)
- Shell/sidenav wiring for both new modules

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-21 15:57:45 +05:30
Jaanu423andClaude Sonnet 5 ed2a40a8bf fix(chequebook,cashier): surface real hold/lien amount instead of fake placeholders
build-run / Run Lint, Build and Deploy (push) Canceled after 0s
Publish Image in Docker Hub / build (push) Canceled after 0s
Playwright E2E Tests / Run Playwright Tests (push) Canceled after 0s
Tests / testRigor (push) Canceled after 0s
- Savings account general tab now shows the real lien/user hold
  (savingsAmountOnHold) alongside the existing guarantor hold (onHoldFunds).
- Cashier transaction-entry "Transfer Hold" / "Tr. Hold" now bind to the real
  freezeAmount instead of a hardcoded 0.00 placeholder; "Freeze Amount" itself
  reverted to 0.00 per request. withdrawableAmount no longer double-subtracts
  the hold for savings accounts (whose availableBalance is already
  hold-adjusted server-side), while current accounts (whose availableBalance
  is not) still get the client-side subtraction they need.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-16 15:06:58 +05:30
Jaanu423andClaude Sonnet 5 24b1d7c087 fix(cashier,chequebook): surface real backend errors; skip redundant balance check on token disbursement
Cashier token-based withdrawal disbursement was re-running the balance/min-balance
checks against the already-approved amount, which always failed since the manager
approval had already deducted the balance — the check now skips for that case
(clerk-created requests still get the full validation).

Cheque book request submission now shows the actual backend error message
(e.g. insufficient-balance rejections) instead of a generic fallback string.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-16 11:19:28 +05:30
Jaanu423andClaude Sonnet 5 0cc79ccd57 feat(clerk): add clerk-facing Cheque Book screen and shell nav wiring
Adds a customer-account-scoped Cheque Book view under Clerk > Account
Facilities (list + leaf detail, with stop-payment/report-lost/mark-used/
return actions), reachable via a new hover dropdown on the Account
Facilities nav item. Also refreshes the Account Facilities page layout,
and carries over a few chequebook service/detail-dialog fixes from the
back-office module (used-leaf display, leaf-lookup dialog polish).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 16:08:43 +05:30
Jaanu423 7abfa394df feat(chequebook): add cheque book module with Maker-Checker workflow
Adds cheque series creation, stock receive, cheque leaf request/lookup,
and stop-payment/lost-reporting flows with Maker-Checker approval and
a checker-inbox tab for pending chequebook requests.
2026-07-15 11:02:46 +05:30
Jaanu423andClaude Sonnet 4.6 b9856a1c93 feat(products): restrict currency dropdown to INR only for all product types
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-09 16:34:13 +05:30
Jaanu423andClaude Sonnet 4.6 d72155a74a merge(release): merge feature/minor-update into release/share-account-module
Combines share-account-module UI changes with minor-update features.
Resolved .env.ts conflict keeping newer version (260707/8a1b7d5d).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-09 13:43:47 +05:30
Jaanu423andClaude Sonnet 4.6 3d65900fc4 feat(election): Chairman/VC auto-resolution, member vote panel, read-only committee summary
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-09 11:02:32 +05:30
Jaanu423andClaude Sonnet 4.6 93f4b9b03f feat(election): dynamic designations, vote remark with voice input, and modal vote panel
- Designations loaded dynamically from DirectorDesignation m_code via new API endpoint
- Director board dropdown and committee board validation now use DB-driven designation list
- Mandatory designation check in committee creation driven by is_mandatory flag from m_code_value
- Vote summary panel converted from side drawer to centered modal with backdrop blur
- Voting page: remark textarea shown on Approve/Reject with Web Speech API voice input
- Voice input supports Hindi (hi-IN) and English (en-IN) with language toggle
- NgZone fix: speech callbacks wrapped in zone.run() so Angular change detection fires correctly
- Speech recognition uses continuous=true so user can dictate full remarks before stopping

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 18:24:18 +05:30
keshav898966 96c4a28c0f table changes on Maker-Checker workflow for Products, with approval-based updates and product locking to prevent concurrent edits 2026-07-06 17:54:27 +05:30
Jaanu423andClaude Sonnet 4.6 8a1b7d5d6c feat(election): relational agenda items, PDF download, email redesign, and nav fixes
- Replace flat agenda text field with relational agenda items (add/remove rows)
- Fix edit form pre-populating saved agenda using [value]+(input) binding
- Add PDF download button: opens print-ready window with full meeting details
- Redesign meeting invite email: table-based layout, compact header, amber agenda
  box with numbered badges, two-column footer
- Fix stale email agenda bug: refresh entity after agenda save to bypass EclipseLink
  L1 identity map cache
- Remove permission wrapper from Election sidenav item; add routerLink to toolbar

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-06 16:54:04 +05:30
Jaanu423andClaude Sonnet 4.6 e952bc546f feat(election): committee meeting UI — schedule/edit drawer, online/offline mode toggle, soft delete
- committee-board: collapsible meetings section per card, Schedule Meeting button, meeting list with status chips and join links
- Meeting form drawer: ONLINE (platform, link, ID, password) vs OFFLINE (venue, address, city) mode toggle
- Actions: edit/complete/cancel for SCHEDULED; delete (soft) for all statuses on active committees
- election.service.ts: getMeetings, scheduleMeeting, updateMeeting, patchMeetingStatus, deleteMeeting
- election-audit-log: meeting action metas (SCHEDULE_MEETING, UPDATE_MEETING, CANCEL_MEETING, COMPLETE_MEETING, DELETE_MEETING + FAILEDs), COMMITTEE entity action list updated

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-06 10:18:00 +05:30
Jaanu423andClaude Sonnet 4.6 3e51eae4b5 feat(election): audit log — add DIRECTOR_APPOINTMENT and COMMITTEE entity types with full action coverage
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-03 17:23:08 +05:30
Jaanu423andClaude Sonnet 4.6 83e9fc9e68 feat(election): committee management module with image upload, zoom viewer, and member profiles
- Add Committee Board component: create/edit committees with profile image upload
- Image viewer: redesigned zoom dialog with frosted glass toolbar, SVG icons, dark theme
- Committee profile image: circular upload ring, full-size zoom via ImagePreviewDialogComponent
- Member photos: clickable avatars open zoom viewer in both stacked and list views
- Backend: committee API service methods (CRUD, members, dissolve, current directors)
- Route and navigation link added to election dashboard

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-03 16:38:42 +05:30
keshav898966 1ea4cfe8d8 implemented a Maker-Checker workflow for Products, with approval-based updates and product locking to prevent concurrent edits 2026-07-03 15:08:47 +05:30
Jaanu423andClaude Sonnet 4.6 c4387c5c79 feat(election): candidate lock UI, director board grouping, collapsible elections, and member photos
- Candidate board: lock Remove and Change Symbol buttons when voting is active (VOTING_OPEN/CLOSED/RESULT_DECLARED/CANCELLED)
- Director board: group directors by election with Current/Past badges, sorted newest first
- Past election groups collapsed by default; click header to expand/collapse with chevron animation
- Show first 6 directors, expand button for remaining members
- Load member photos in director cards via clientImage API (fallback to initials)
- 4-column responsive grid for director cards

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-03 13:44:05 +05:30
Jaanu423andClaude Sonnet 4.6 228df2f32c feat(election): election duration, director tenure auto-fill, and board UX improvements
- Add durationYears field to election config with Board Active Until display on dashboard
- Auto-fill director tenure start (from resultDate) and end (from durationEndDate) when election has duration set; both fields readonly with Auto badge
- Hide Status field on new appointment form (only shown on edit)
- Change Remove button from hard delete to soft delete (status REMOVED) with audit-safe confirm
- Fix isTenureExpired() template call replaced with precomputed isExpired property

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-03 12:24:50 +05:30
Jaanu423andClaude Sonnet 4.6 a44238774f feat(election): Board of Directors module — appoint, manage, and track elected directors
- New director-board component: 2-step drawer (pick WON candidate → fill appointment details)
- Pending appointments section: highlights WON candidates not yet given a designation
- mat-datepicker for all date fields; tenure end auto-fills to +5 years from start
- Frontend validation: required field indicators + inline mat-error on submit attempt
- Past dates disabled via [min]="today" on all date pickers
- mat-select for Designation and Status (CBS outline style)
- Election service: appointDirector, updateDirector, deleteDirector, getDirectors, getPendingDirectors
- Route added: /election/directors; nav link in election dashboard
- Error handler: suppress 404 toast for /election/directors (backend not yet deployed guard)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-02 12:47:33 +05:30
Jaanu423andClaude Sonnet 4.6 bc513e7c89 feat(election): modern results dashboard with donut chart, KPI panel, and symbol fix
- Full redesign: backdrop blobs, KPI metrics panel, split-layout card (donut + candidates list)
- Donut chart (CSS conic-gradient) per post showing vote share by candidate color
- Winner spotlight banner; unopposed candidate celebration card
- Fixed loadSymbols() timing bug: results iterated unconditionally, candidates use hasSymbol guard
- Added fetchAndCacheSymbol() helper; loadSymbols() called after declareResults()
- Fixed saveManualCounts -> saveManualVoteCounts method name mismatch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 18:34:27 +05:30
keshav898966 d00eac0aa1 pending account terminate feature develop 2026-07-01 17:19:38 +05:30
Jaanu423andClaude Sonnet 4.6 f2f2338c78 feat(election): remove election type field, simplify post to Director only, hide empty eligibility section
- Removed Election Type dropdown from config form (hardcoded DIRECTOR in payload)
- Post name options reduced to Director only, Add Post button removed
- Eligibility section in nomination-apply hidden when no criteria configured

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 16:50:52 +05:30
Jaanu423andClaude Sonnet 4.6 ed54db2e74 feat(election): manual vote entry, results declaration, remove electronic voting
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 15:10:48 +05:30
Jaanu423andClaude Sonnet 4.6 4666a476fd feat(election): structured audit log details UI
Replaced raw JSON pre dump with readable key-value rows.
PASS/FAIL/WON values show as green badge, FAIL/REJECT/CANCELLED as red.
Manual vote counts shown as table with Candidate/Post/Votes/Previous columns.
Winner results shown as separate table with Post/Winner/Votes.
Added DETAIL_LABELS for 50+ field keys covering all audit action types.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 15:01:48 +05:30
Jaanu423andClaude Sonnet 4.6 a915259ba1 feat(election): candidate analysis enhancements + overall shareholder analysis page
- candidate-analysis: add family voter influence donut chart (% of total shareholders)
- candidate-analysis: sub-caste breakdown by client lastname
- candidate-analysis: religion profile with candidate match (★) highlighting
- candidate-analysis: remove active savings holders metric, expand grid to 3 cols
- shareholder-analysis: new standalone page showing demographic analysis of all active shareholders (11 charts across gender, age, religion, caste, sub-caste, occupation, education, marital, share-holding, tenure, area)
- candidate-board: add 'Overall Analysis' button navigating to shareholder analysis page
- election-routing: lazy-load route for :electionId/shareholders/analysis
- election.service: add getOverallShareholderAnalysis() API call

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 18:31:40 +05:30
Jaanu423andClaude Sonnet 4.6 78b87fb6ce feat(election): compact candidate analysis UI + savings card enhancements
- Reduce all spacing/padding/font sizes for denser layout (hero, KPI strip, section headers, cards, donuts, legends, influence metrics, loan stats)
- Fix Savings Account Depth card: remove empty space (justify-content flex-start), fix donut notch on single segment, add 3-stat grid (active/no-savings/penetration%) and insight note
- Remove Chart.js borderWidth/borderRadius on single-segment donuts to eliminate white gap artefact

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 12:29:17 +05:30
Jaanu423andClaude Sonnet 4.6 dac169ae15 feat(election): candidate voter analysis — Chart.js charts, cross-dimension insights
- New CandidateAnalysisComponent with Chart.js doughnut charts for all
  demographic/financial/social dimensions (gender, age, area, caste,
  sub-caste, religion, occupation, share-holding, tenure, loan, education,
  marital status, monthly income, savings account depth)
- Section 4: Multi-Dimension Voter Alignment card showing core base
  (caste + area cross-match), caste %, area %, and savings engagement
- Candidate board: added Analyse button linking to analysis page
- Hero header, KPI strip, 4 dashboard sections with hover charts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 11:53:28 +05:30
keshav898966 9afb177c69 fd account modify working change 2026-06-30 10:11:12 +05:30
Jaanu423andClaude Sonnet 4.6 960e4e181b feat(election): audit log UI with server-side filter, pagination, entity-aware actions
- New ElectionAuditLogComponent: timeline view, expandable JSON details
- Server-side filtering: entityType, action, full-text search (350ms debounce)
- Pagination bar with page size selector (10/20/50 per page)
- Action dropdown filtered by selected entity (CANDIDATE shows only
  candidate actions, NOMINATION shows nomination actions, etc.)
- Entity change resets action filter automatically
- election.service.ts: getAuditLog() sends query params to backend
- Audit Log button added to every election card in dashboard
- Route: /election/:electionId/audit-log

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 13:02:45 +05:30
Jaanu423andClaude Sonnet 4.6 f1b829a100 feat(election): candidate photos/symbols, voting interface, withdrawal, live vote counts
- Candidate board: show client profile photos and election symbols via CBS ContentStore
  (lazy-fetch base64 via GET /election/{id}/candidate/{id}/symbol), zoom/drag viewer
- Candidate board: live vote count badge per candidate (VOTING_OPEN/CLOSED only)
- Election dashboard: total voters/votes chips on VOTING_OPEN election cards
- Voting interface: fix candidates not loading (paged response .content extraction),
  lazy-load candidate photos and symbols, gold-bordered symbol on ballot card
- Nomination withdrawal: implement withdraw button in nomination-detail and nomination-list
- ImagePreviewDialogComponent: DomSanitizer support for data: URLs
- election.service: uploadCandidateSymbol (FormData), getCandidateSymbol, getClientImage,
  getVoteSummary methods
- main.scss: ipd-dialog / ipd-backdrop styles for image preview dialog

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 18:38:11 +05:30
Jaanu423andClaude Sonnet 4.6 9e33392b01 feat(election): server-side pagination + CEO pre-check family loan UI
- election.service.ts: all 3 list APIs now accept page/size params and return PagedResponse
- election-dashboard: server-side paginated elections with statusCounts from backend
- nomination-list: server-side pagination; summary chips use backend totals (all pages)
- candidate-board: server-side pagination; post filter triggers new API call
- nomination-detail: full 8-check CEO pre-check display (director loan, relation accounts, KYC, family KYC, guarantor, AML, family loans)
- nomination-apply: guarantor status section added

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 12:07:38 +05:30
keshav898966 bc980d2059 share link drop down yes/no on ui 2026-06-26 11:15:10 +05:30
keshav898966 f3df626483 teller set in casher 2026-06-24 16:32:37 +05:30
Jaanu423andClaude Sonnet 4.6 71552d6875 feat(election): add guarantor status section to nomination-apply page
Shows whether the selected nominee is a guarantor on any loan, with loan health indicator, borrower details, savings account, guaranteed/released/remaining amounts, and loan timeline.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 13:12:08 +05:30
keshav898966 4660a3eb15 feat(tellers,savings): restrict teller creation, remove cashier vault actions, and add saving share link toggle 2026-06-24 13:11:54 +05:30
Jaanu423andClaude Sonnet 4.6 3d9b0480c6 fix(build): add @use sass:color, remove unused MatDialogTitle import
- family-members-tab.scss: add @use 'sass:color' so color.adjust() resolves at build time
- enroll-dsc-dialog: remove MatDialogTitle from imports — not used in template

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 11:13:57 +05:30
Jaanu423andClaude Sonnet 4.6 e59c3a14af feat(create-client): auto-link family member after client creation
- After creating a client from 'Create as Client' button, automatically
  call PUT /clients/{parentId}/familymembers/{memberId} with the new
  linkedClientId to link the family member record
- Show snackbar feedback on success or failure of the auto-link
- nomination-apply now also passes familyMemberId and parentClientId
  in prefill state so auto-link works from the nomination page too

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 10:40:00 +05:30
Jaanu423andClaude Sonnet 4.6 10b301c30c feat(election,family): family member KYC display, collapsible cards, linked/manual badges, create-as-client flow
- nomination-apply: show full KYC for linked family members via nested forkJoin, accordion expand/collapse cards, owner chips on KYC headers, 'Create as Client' button for manual entries
- family-members-tab: show Linked Client / Manual Entry badges, entry type in detail grid, 'Create as Client' button navigating with prefill state
- create-client + client-general-step: accept prefillData @Input from navigation state, patch form fields from family member data
- Add MPL-2.0 headers to all election module files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 17:30:29 +05:30
Jaanu423andClaude Sonnet 4.6 822fa4c68d chore: bump version to 260617
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 18:46:31 +05:30
Jaanu423andClaude Sonnet 4.6 cbb2bd7c58 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 <noreply@anthropic.com>
2026-06-17 14:46:26 +05:30
Jaanu423andClaude Sonnet 4.6 e661161eac feat(clerk): enhance disbursement review and my-requests UI components
- Update disbursement review and my-disbursement-requests components
  with improved layout and additional UI enhancements

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 11:07:01 +05:30
Jaanu423andClaude Sonnet 4.6 6cccb58c04 feat(clerk): add collection flow — multi-DR savings to CR GL with maker-checker
- Transaction entry: detect collection mode (N DR savings → 1 CR GL) and disbursement mode (1 DR GL → N CR savings); build dbCr-tagged payload for backend
- Disbursement review: show 'GL Credit (Target)' / 'Debit Entries' labels for collection; fix double-count by summing only DR entries for collection totals; dynamic approve button text
- My disbursement requests: add DR/CR badge column in expanded credit-entries preview
- My requests / withdrawal-requests: minor consistency updates

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 15:28:27 +05:30
Jaanu423andClaude Sonnet 4.6 efb01d5441 feat(clerk): add GL disbursement maker-checker flow
- Add ClerkDisbursementService for submit/approve/reject HTTP calls
- Add DisbursementRequestsComponent (manager inbox tab under checker tasks)
- Add DisbursementReviewComponent (manager approve/reject detail page)
- Add MyDisbursementRequestsComponent (clerk's own disbursement history)
- Add 'My Disbursements' nav tab to clerk shell navigation header
- Wire routes in cashier-routing and tasks-routing modules
- Add 'My Disbursements' button to transaction-entry clerk footer
- Include accountName in creditEntries payload for manager review display

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 10:43:29 +05:30
Jaanu423andClaude Sonnet 4.6 89d1167145 feat(clerk): add row add/delete buttons for multi-entry transactions
Clerk can now add multiple rows to enter both CR and DR sides of a
GL-to-account transaction. Add button in footer appends a new row;
each row shows a × delete button when more than one row exists.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 15:05:58 +05:30
Jaanu423andClaude Sonnet 4.6 fb1f79c889 feat(clerk): block clerk cash deposits with UI banner and save guard
Clerk cash deposits are not permitted — notes/coins denomination is
cashier vault responsibility. Shows warning banner above footer and
disables Save button when clerk selects cash payment type on a deposit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 14:58:44 +05:30
Jaanu423andClaude Sonnet 4.6 8e64f82c0a feat(cashier): parallelize account fetch, add CA maker-checker deposit and withdrawal routing
- Optimize loadAccountDetails: extract clientId from search result and pass as hint
- fetchAllDetails fast path: parallel forkJoin for account+client calls when clientId known
- openConfirmDialog/confirmSubmit: extend deposit maker-checker to CA and CB account types
- buildDepositPayload: send accountType CURRENT for CA/CB accounts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 12:51:21 +05:30
Jaanu423andClaude Sonnet 4.6 e5d6cd32dc feat(cashier+checker): add cashier deposit maker-checker flow and voucher system
- Add cashier deposit service and submit flow via maker-checker
- New CashierDepositService: submit, approve, reject, list endpoints
- Transaction-entry: cashier SD deposit goes to deposit-requests instead of direct credit
- Checker inbox: new Deposit Requests tab with approve/reject review dialog
- Cashier nav: My Deposit Requests tracking page
- Withdrawal requests: show voucher_no from backend instead of JS-padded id
- clerk-withdrawal.service: disburse denominationData accepts null for non-cash
- Role-based checker enforcement: only manager/head-cashier can approve/reject
- Maker cannot approve own request (self-approval blocked at backend)
- Denomination total validation: breakdown must match transaction amount

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 10:52:35 +05:30
Jaanu423andClaude Sonnet 4.6 61cb09f352 feat(cashier): complete maker-checker withdrawal disbursement flow
- Clerk manually enters token no with today-date unique validation (backend enforced)
- Cashier token lookup: auto-fill amount/account, lock amount field, status-specific errors
- Confirm dialog shows CASH DISBURSEMENT (blue) with no balance re-deduction warning
- Disbursement denomination saved to m_savings_txn_denomination for vault position update
- Block direct cashier withdrawal without approved maker-checker token
- DISBURSED status shown in My Requests and Checker inbox views with cashier/time info
- Remove getNextToken() service method and m_daily_token_counter table (0326 migration)
- Race condition protection: UPDATE WHERE status=APPROVED prevents double disbursement

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 15:57:33 +05:30
Jaanu423andClaude Sonnet 4.6 de420bb8ab feat(cashier): add server-side pagination to GL entries closing report
- Backend: add offset/limit query params to gl-entries endpoint
- Backend: return totalFilteredRecords + pageItems response structure
- Backend: totals (DR/CR) computed from all records regardless of page
- Frontend: integrate mat-paginator with page size options 10/20/50/100
- Frontend: reset offset to 0 on filter change

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 15:52:15 +05:30
Jaanu423andClaude Sonnet 4.6 05cbe21542 feat(cashier): add GL denomination tracking, real-time balance, and enhanced closing report
- Save denomination breakdown for GL journal entries via new /cashier/gl-denomination endpoint
- Add payment type, date/time, teller name columns to GL Entries closing report
- Show GL badge for GL vouchers vs numeric ID for savings transactions
- Add payment type required and denomination overdraft validations for GL transactions
- Fix GL account number display in confirm dialog

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 15:29:50 +05:30