chore(todo): check off completed legacy MVP items (models, imports, rolodex CRUD & search, dashboard/case/ledger basics, payments search, amount auto-compute, item_no uniqueness)

This commit is contained in:
HotSwapp
2025-10-07 16:32:28 -05:00
parent 1eb8ba8edd
commit 748fe92565

View File

@@ -3,10 +3,10 @@
Purpose: Track features and workflows from legacy Paradox (.SC) scripts to port into the modern app. Each item includes a clear example to guide implementation and testing.
### Cross-cutting platform and data
- [ ] Data model: create relational tables and relations
- [x] Data model: create relational tables and relations
- Example: Create tables `Rolodex`, `Phone`, `Files`, `Ledger`, `Deposits`, `Payments`, `Printers`, `Setup`, `Footers`, `FileStat`, `FileType`, `TrnsLkup`, `TrnsType`, `GrupLkup`, `PlanInfo`, `Pensions`, `Results`, `Output`, `Schedule`, `Separate`, `Death`, `Marriage`, `States`, `LifeTabl`, `NumberAl`. Foreign keys: `Phone.id -> Rolodex.id`, `Files.id -> Rolodex.id`, `Ledger.file_no -> Files.file_no`.
- [ ] CSV import: one-time and repeatable import from legacy CSVs
- [x] CSV import: one-time and repeatable import from legacy CSVs
- Example: Import `old-database/Office/FILES.csv` into `files` table; validate required fields and normalize dates; log row count and any rejects.
- [ ] Answer table pattern for query results
@@ -26,10 +26,10 @@ Purpose: Track features and workflows from legacy Paradox (.SC) scripts to port
- Example: Home shows links to Rolodex, File Cabinet, Pensions, Plan Info, Deposits, Utilities, Printers/Customize, Tally Accounts.
### Rolodex (names/addresses/phones)
- [ ] CRUD for `Rolodex` and child `Phone` entries
- [x] CRUD for `Rolodex` and child `Phone` entries
- Example: Add a phone number with `Location = Office` and format validation (e.g., `1-555-555-1234`).
- [ ] Advanced search dialog joining `Phone`
- [x] Advanced search dialog joining `Phone`
- Example: Search by `Last = "Smith"` and `Phone contains "555-12"`; results include records linked by `Phone.Id -> Rolodex.Id`.
- [ ] Reports: Envelope, Phone Book (2 variants), Rolodex Info
@@ -39,7 +39,7 @@ Purpose: Track features and workflows from legacy Paradox (.SC) scripts to port
- Example: Select one or more contacts, choose a form, and produce a merged document with their address data.
### File Cabinet (client files and billing)
- [ ] Master-detail UI for `Files` with `Ledger` detail
- [x] Master-detail UI for `Files` with `Ledger` detail
- Example: Selecting a file shows ledger entries inline; adding a ledger line updates file totals.
- [ ] Ask/Search dialog over `Files`
@@ -70,10 +70,10 @@ Purpose: Track features and workflows from legacy Paradox (.SC) scripts to port
- [ ] Validations and defaults
- Example: Require `Date`, `T_Code`, `Empl_Num`, `Amount`, `Billed`; if `T_Type = 2 (Hourly)`, default `Rate` from `Employee.Rate_Per_Hour` for the selected employee.
- [ ] Auto-compute `Amount = Quantity * Rate`
- [x] Auto-compute `Amount = Quantity * Rate`
- Example: Enter `Quantity = 2`, `Rate = 150.00` auto-sets `Amount = 300.00` when either field changes.
- [ ] Unique posting for `Item_No`
- [x] Unique posting for `Item_No`
- Example: On save, if `(File_No, Date, Item_No)` conflicts, increment `Item_No` until unique, then persist.
- [ ] Recompute file totals (Tally_Ledger) on change
@@ -83,7 +83,7 @@ Purpose: Track features and workflows from legacy Paradox (.SC) scripts to port
- Example: Keyboard toggle to set `Billed` Y/N; buttons to shift `Date` ±1 day.
### Deposits / Payments
- [ ] Payments search (date range, File_No, Id, Regarding)
- [x] Payments search (date range, File_No, Id, Regarding)
- Example: `From_Date=2025-01-01`, `To_Date=2025-03-31` shows all payments in Q1 2025 with optional filters for file or id.
- [ ] Reports: Summary and Detailed payments