Commit Graph
35 Commits
Author SHA1 Message Date
keshav898966 d00eac0aa1 pending account terminate feature develop 2026-07-01 17:19:38 +05:30
keshav898966 bc980d2059 share link drop down yes/no on ui 2026-06-26 11:15:10 +05:30
Jaanu423andClaude Sonnet 4.6 260fabaa48 feat(accounts): add Modify Application for rejected Current/Savings/FD/RD accounts
- Add 'Modify Application' button in kebab menu for rejected accounts (all 4 types)
- Rewrite edit components with tab-based UI matching create form
- Pre-populate all create-time values in edit form: product, account status,
  customer segment, account type, joint holders, nominees, introducer,
  deposit account link, senior citizen rate, tenure, flags (msme/balanceSwap/autoDebit)
- Fix edit mode detection using accountNo presence
- Add preselectedIntroducer @Input to IntroducerSearchComponent for pre-fill
- Support both camelCase and lowercase keys for joint holders (MySQL queryForList)
- Fix account number display: actual accountNo before previewAccountNo
- Fix cbsAccountType restore: cbsAccountType only, avoid Fineract enum object
- Add nominees fetch via /clients/{id}/nominees API in all 4 edit components
- Fix RD/FD Interest Rate Chart: SimpleChanges to prevent reset race condition
- Pre-check Senior Citizen checkbox in edit form from isSeniorCitizen DB field
- Auto-calculate rate when tenure pre-filled in edit mode
- FD calculator: use backend calculate-fd-interest API for all compounding types
- Support interestCompoundingPeriodInMonths=0 (daily) in FD calculator API

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 10:36:40 +05:30
Jaanu423andClaude Sonnet 4.6 1aa46397a6 feat(search): restrict client search to INDIVIDUAL only for nominee, introducer, joint holders
- nominee-form: searchByText now passes legalFormType='INDIVIDUAL' for both
  nominee search and guardian search — prevents entities/companies appearing
- introducer-search: same INDIVIDUAL filter applied
- add-related-client-dialog: INDIVIDUAL filter for joint account holders,
  partners, and members search

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 21:26:31 +05:30
Jaanu423andClaude Sonnet 4.6 4ffeb6ee92 feat(cashier): add morning transfer & previous-day settlement hard block
- validateCashierHasMorningTransfer() blocks deposits & withdrawals when no today's cash transfer received
- validatePreviousDayClosed() blocks all transactions when previous day unsettled
- morningTransferReceived field added to cashier-day-status API response
- Warning banners shown in Savings, Current, FD, RD transaction forms
- Submit button disabled when either condition is active
- getCashierTotalCash SQL fixed: dm.denomination_value -> dm.denomination

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 13:14:29 +05:30
Jaanu423andClaude Sonnet 4.6 f291e4da5b feat(cashier): denomination overdraft validation, exchange detail fix, cash exchange in reports
- Savings/Current/FD/RD withdrawal forms: card-style overdraft warning when
  requested denomination count exceeds cashier stock; submit blocked on overdraft
- Cash History detail view: show both RECEIVED and GIVEN denomination breakdowns
  for Cash Exchange (previously only RECEIVED side was displayed)
- Closing Cash Report: add Cash Exchanges section (denomination-wise received/given/net)
- Excess Transaction Report: include cash exchanges >= threshold with Type badge
  (Exchange/Txn) and ID Proof column for RBI/AML compliance
- cashier-shared.scss: etr-badge and closing-exchange-head styles
- Cash Exchange entry: overdraft warning redesigned to cx-overdraft-card BEM layout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 10:10:17 +05:30
Jaanu423andClaude Sonnet 4.6 7ccaffa7f1 feat: cashier denomination-wise opening & closing balance panels in all deposit/withdrawal forms
OVERVIEW
--------
Added real-time cashier cash position display inside the denomination breakdown
panel of all 4 transaction entry screens: Savings, Current Account, Recurring
Deposit, and Fixed Deposit. Shows opening balance at the top and projected
closing balance at the bottom after factoring in the current transaction.

BACKEND INTEGRATION
-------------------
- New CashierService (src/app/cashier/cashier.service.ts)
  getCashierPositionForMe(asOfDate?) calls GET /cashreports/cashier-position/me
  Returns denomination-wise opening cash position for the logged-in cashier user.
  Non-cashier users receive empty denominations array; UI hides panels silently.

OPENING BALANCE CARD (top of denomination panel)
-------------------------------------------------
- Loaded on ngOnInit() via loadOpeningPosition() in all 4 component .ts files
- Notes and Coins displayed in separate labeled pill sections
- Each pill shows: Rs{value} x{count} format
- Card is hidden entirely if the logged-in user is not a cashier

CLOSING BALANCE CARD (below tally / Apply button)
--------------------------------------------------
- Computed getter closingDenoms() merges opening position with entered denominations
  deposit:    closingCount = openCount + enteredCount
  withdrawal: closingCount = openCount - enteredCount
- Notes and Coins in separate labeled pill sections (identical format to opening)
- Entered/changed denominations (delta != 0): full opacity + bold font weight
- Untouched denominations (delta = 0): 38% opacity, clearly dimmed, no borders
- closingTotal = openingTotal +/- denominationTotal shown in card header
- Card turns green for positive closing balance, red for negative

COMPONENTS UPDATED
------------------
- savings-account-transactions       (.ts / .html / .scss)
- current-account-transactions       (.ts / .html / .scss)
- deposit-recurring-deposits-account (.ts / .html / .scss)
- fixed-deposits-cash-transaction    (.ts / .html / .scss)

CASHIER MODULE (new - src/app/cashier/)
-----------------------------------------
Full cashier workspace module added to the app:
- cashier.service.ts          API calls (position, transfers, settlement, etc.)
- cashier.module.ts           Angular module declaration
- cashier-routing.module.ts   Lazy-loaded routes
- cashier-position/           Cashier cash position dashboard
- cash-exchange-entry/        Cash exchange denomination entry
- cash-history/               Transaction history per cashier
- cash-settlement/            End-of-day cash settlement
- cash-transfer/              Vault-to-cashier cash transfer
- inter-cashier-transfer/     Transfer between cashier drawers
- reconciliation/             Cash reconciliation with GL
- closing-cash-report/        Closing balance report
- currency-exchange-detail/   Currency exchange breakdown
- excess-transaction-report/  Excess/short transaction report
Module wired into app.module.ts and shell nav (shell.component.html).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 17:39:31 +05:30
Jaanu423andClaude Opus 4.7 555d9fb4b7 feat: send denominationId in deposit payload + block submit on denomination mismatch
- All 4 deposit forms (Current/Savings/FD/RD) now send denominationId +
  denominationValue in denominationBreakdown so the backend can persist rows.
- Submit is disabled when a denomination breakdown is entered but its total
  does not match the transaction amount.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:37:19 +05:30
Jaanu423andClaude Opus 4.7 89e17f561f feat: dynamic denomination breakdown in deposit forms + savings menu scroller
Deposit forms (Current/Savings/FD/RD) now load cash denominations from
the Denomination Master instead of a hardcoded list:
- active + discontinued denominations fetched via /denominationmaster
- discontinued rows hidden by default behind a "Show discontinued" toggle,
  rendered faded and disabled (cannot be counted) when revealed
- rows sorted by value descending; redesigned as a Denom/Qty/Amount table
  with circular coin chips and per-row amount (faded at zero)
Also: savings account-actions menu now scrolls (max-height + grouped
sections mirror the current-account menu) and renders all action items.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 13:19:23 +05:30
Jaanu423andClaude Sonnet 4.6 33b01d667d feat: fix standing instructions action buttons for all account types
- Wire up Edit/View/Delete buttons with click handlers in all 4 HTML templates
  (Current Account, Savings, Fixed Deposit, Recurring Deposit)
- Remove broken [routerLink] from Recurring Deposit HTML
- Add viewInstruction() and editInstruction() methods to all 4 tab components
- Use navigateByUrl with absolute path built from this.router.url to avoid
  Angular multi-level .. navigation bug (was producing literal .. in URL)
  CA/Savings/RD: basePath + /transfer-funds/:id/view|edit
  FD: basePath + /transactions/account-transfers/:id/view|edit
- Fix deleteStandingInstruction() to refresh table after delete in all tabs
- Fix AccountTransfersService.deleteStandingInstrucions to use
  PUT ?command=delete instead of HTTP DELETE (backend soft-delete only)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 11:42:18 +05:30
Jaanu423andClaude Sonnet 4.6 ae414c620e feat: standing instructions UI - view redesign, edit pre-fill fix, current account tab improvements
- Redesign view-standing-instructions with sectioned layout (General Info, From Account,
  To Account, Transfer Settings, Recurrence) using info-grid/info-row CSS pattern with
  color-coded status badge
- Fix edit-standing-instructions: remove buggy recurrenceOnMonthDay.push() crash that
  caused all form fields to be empty; add parseISODate() and parseMonthDay() helpers
  handling both ISO string and array formats; add null safety with ?. guards on all fields
- Fix edit form patchValue: fromAccount and toAccount show as 'productName - accountNo'
- Improve current account standing-instructions-tab HTML with ?. null guards
- Add missing i18n keys: General Information, From Account, To Account, Transfer Settings,
  Recurrence Settings, Valid From, Valid Till

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 10:53:52 +05:30
Jaanu423andClaude Sonnet 4.6 1779591b7a feat: sat design for current account, FD, RD deposit/withdrawal pages
- Rebuilt current account deposit/withdrawal with sat two-column layout
- Applied same sat design to FD cash transaction and RD deposit/withdrawal
- Added Deposit action to FD: button config, actions dict, doAction routing
- Both FD Deposit and Withdrawal now render FixedDepositsCashTransaction

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 14:49:45 +05:30
Jaanu423andClaude Sonnet 4.6 547cfd581e feat: Nexora grouped action menu for Current Account, FD, and RD views
- Non-individual clients: hide Nomination Facility & Nominees in create flow,
  skip nominee validation on submit, hide Nominees tab in account view
- Current Account view: replace flat kebab menu with Nexora grouped menu
  (Transact / Restrict / Interest / Admin / Danger zone), scrollable body,
  pinned header, colour-coded icons; add kindOf/iconOf/hasKind helpers
- Fixed Deposit view: same grouped menu using shared cur-action-menu styles
- Recurring Deposit view: same grouped menu with permission directives
- main.scss: add cur-action-menu / cur-menu global styles with MDC flex fix
  for Material 20 (.mat-mdc-menu-item-text)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 13:11:02 +05:30
Jaanu423andClaude Sonnet 4.6 b7d009b22a feat: Nexora UI upgrade for Current Account, FD, and RD account views
- Current Account: hero header with navy gradient, pill tabs, Nexora card layout for general tab, txn-tab/chg-tab table styles, bank statement passbook
- Fixed Deposits: fd-* prefixed hero header, KPI tiles, pill tab nav, nx-card general tab layout, txn-tab transactions, chg-tab charges
- Recurring Deposits: rd-* prefixed hero header with three KPI tiles, pill tab nav, nx-card general tab layout, txn-tab transactions, chg-tab charges
- Fix: removed broken FA4-format icon references from action menu buttons

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 11:02:15 +05:30
Jaanu423andClaude Sonnet 4.6 ad6f629c3f fix: nominee share & joint ownership validation across all account types
- Block 0% nominee share in all steppers (Savings, FD, RD, Current) —
  Add button disabled via isValid, addNominee() guards < 1, nominee-form
  error condition fixed for value=0
- Joint ownership: default primary share 50%, enforce min 1% on blur,
  max 100% on input with DOM clamp via $event, auto-redistribute
  co-holders proportionally when primary share changes,
  isJointOwnershipValid guards each holder >= 1
- Pending/Rejected account tabs: normalize date format to 22 May 2026
  for both array and string date values from API

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 14:05:00 +05:30
Jaanu423andClaude Sonnet 4.6 3370a95235 feat: account charges UI — current account, FD, RD stepper redesign
Redesigned create-account stepper UI for current accounts, fixed deposits,
and recurring deposits: updated layout, preview steps, interest rate chart
step, currency step, and detail step components. Savings preview styling
and currency step also updated.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 12:47:25 +05:30
Jaanu423andClaude Sonnet 4.6 61b0244fa0 feat: senior citizen rate fix, joint ownership cap, FD/RD UI improvements
- Senior citizen interest rate correctly sent in FD/RD create payload
  (isSeniorCitizen, seniorCitizenInterestRate, nominalAnnualInterestRate override)
- Joint account ownership capped at 100%: Add Holder/Partner button disabled
  when 100% reached; dialog enforces remaining share as max across all account types
- FD/RD interest rate chart step: rate calculator with tenure, senior citizen toggle,
  maturity preview
- FD/RD preview step improvements
- Base FD interest rate chart component added under fixed-deposit-products
- Base recurring deposit interest rate chart component removed (replaced)
- Savings account details step: joint holder improvements
- Products routing and module updated for base FD rate chart

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 21:15:45 +05:30
Nitesh YadavandClaude Sonnet 4.6 3df7d100df feat: add nominee, auto-debit, charges UI for SB/CA/FD/RD accounts; enforce required fields
- SB/CA/FD/RD Currency Step: add Nomination Facility toggle with multi-nominee form
  (NomineeFormComponent), auto-debit facility toggle, dormancy alert panel
- SB/CA/FD/RD Preview Step: display nominees list, auto-debit status, dormancy info
- FD/RD create component: validate Deposit Tenure, Monthly Installment (RD), and
  Customer Segment are filled before submit; show clear alert messages on missing fields
- FD account details step: remove duplicate Currency section (already shown in
  Currency & Account Status Configuration step)
- CA/SB create component: handle duplicate externalId API error with user-friendly alert
  instead of raw error display

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 08:08:08 +05:30
Nitesh Yadav 6753ab1d56 charges add module add in the saving account and current account 2026-05-18 10:11:41 +05:30
Nitesh Yadav 52e216fbe5 update rd,fd,saving and current product update validation end date and and this all account nominee facility code 2026-05-15 12:53:47 +05:30
Nitesh YadavandClaude Sonnet 4.6 d0370781e8 update loan product code and rd,fd,saving,current account validation add
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 07:40:04 +05:30
Nitesh Yadav ed45c8637e merege code this branch /feature/UI-DSC-MFA 2026-05-13 10:49:25 +05:30
AdityaandClaude Opus 4.7 d175354f88 feat(mfa): DSC as own factor type + fix selector collisions
- access-control: register DSC enrollment under factorType='DSC' instead of
  the legacy 'TOKEN' alias, hydrate / disable paths match on the same code.
  Pill labels in the picker and Hardware Token panel updated to 'Type · DSC'.
  service.ts MfaFactorType union adds 'DSC'.
- two-factor-authentication: initialise the delivery-method form at field
  declaration instead of inside ngOnInit so Angular's first change-detection
  pass doesn't fire 'Cannot find control' before the form is built.
- Rename duplicate component selectors that were tripping NG0912 at runtime:
  mifosx-notes-tab -> mifosx-{centers,clients,current-account,groups,loans,
  savings}-notes-tab; mifosx-unassign-staff-dialog -> mifosx-{clients,groups}-
  unassign-staff-dialog. Selectors aren't referenced in templates (route /
  dialog open), so the rename has no usage-site impact.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 18:07:14 +05:30
Nitesh Yadav 4d421e8066 merge feature/update_code and feature/UI-MFA-Product branch code 2026-05-11 11:36:56 +05:30
Nitesh Yadav 22c9375a55 feat: client general tab and current account details step updates 2026-04-29 15:25:50 +05:30
Nitesh Yadav bbbf3b9e8a feat: merge updates - current account, savings, recurring deposits and shared components 2026-04-29 15:20:31 +05:30
Nitesh Yadav f2a5035c8b feat: current account details step and client general tab updates 2026-04-29 15:10:26 +05:30
Nitesh Yadav 0d3d83799b save saving ui update and current account update priview section 2026-04-28 16:22:26 +05:30
Nitesh Yadav 31b2490f09 feat: update savings/current/rd account UI flows 2026-04-28 13:16:07 +05:30
Nitesh YadavandClaude Sonnet 4.6 f917467b68 add editable Account Type and Customer Segment dropdowns in product classification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 15:48:05 +05:30
Nitesh Yadav e4516934a7 saving account,current account and rd account modify based on new update 2026-04-27 10:55:03 +05:30
Nitesh Yadav 5fb25edca5 add gl mapping in the saving product,current product,rd product and also add genrate account no all three 2026-04-26 02:11:28 +05:30
Nitesh Yadav fbaec18552 update code account saving,current,RD 2026-04-24 16:24:28 +05:30
Nitesh Yadav fc1c5126fc saving , current and RD account code update 2026-04-22 18:28:14 +05:30
AdityaandClaude Opus 4.6 0a32d7135e feat: add Current Account module, DIP verification, charges integration, and translations
- Current Account module with full CRUD, transactions, charges, hold/release, block/unblock
- Current Products management under Products module
- DIP mobile number verification with real API call to /lookup/check
- Sanctions verification dialog
- Charges support for Current Account (chargeAppliesTo=5) in create/edit
- Fixed permissions from SAVINGSACCOUNT to CURRENTACCOUNT across all current account components
- Added all missing translation keys for Current Account in en-US.json

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 18:23:37 +05:30