diff --git a/TASKS.md b/TASKS.md index f57c49e..47472e6 100644 --- a/TASKS.md +++ b/TASKS.md @@ -142,31 +142,33 @@ - **Deps:** F-009, F-006 | **Est:** 6 hrs | **Status:** ✅ Complete ### C-002: Inventory Summary Views -- [ ] `/(portal)/inventory/page.tsx` — category selector -- [ ] `/(portal)/inventory/[category]/page.tsx` — summary data table -- [ ] Service: `src/services/inventory.ts` - - [ ] `getWorkInProgressSummary(custId, dbName, sub)` - - [ ] `getFinishedGoodsSummary(custId, dbName, sub)` - - [ ] `getProcessedOtherSummary(custId, dbName, sub)` - - [ ] `getUnprocessedSummary(custId, dbName)` — block sub-users - - [ ] `getUnprocessedRRSummary(custId, dbName)` — block sub-users - - [ ] `getProcessedRRSummary(custId, dbName)` — block sub-users -- [ ] V6 procedures: pass `sub` param (0/1 based on user) -- [ ] Row count pre-fetch for detail drill-down (ALLV6 with count flag) -- [ ] Data table with sorting, filtering, export to CSV -- [ ] Click row → navigate to detail view -- **Deps:** F-006, F-009 | **Est:** 12 hrs +- [x] `/(portal)/inventory/page.tsx` — category selector +- [x] `/(portal)/inventory/[category]/page.tsx` — summary data table (all 6 categories) +- [x] Service: `src/services/inventory.ts` + - [x] `getWorkInProgressSummary(custId, dbName, sub)` + - [x] `getFinishedGoodsSummary(custId, dbName, sub)` + - [x] `getProcessedOtherSummary(custId, dbName, sub)` + - [x] `getUnprocessedSummary(custId, dbName)` — block sub-users + - [x] `getUnprocessedRRSummary(custId, dbName)` — block sub-users + - [x] `getProcessedRRSummary(custId, dbName)` — block sub-users +- [x] V6 procedures: pass `sub` param (0/1 based on user) +- [~] Row count pre-fetch for detail drill-down (deferred, can optimize later) +- [x] Data table with sorting, filtering, export to CSV +- [x] Click row → navigate to detail view +- **Deps:** F-006, F-009 | **Est:** 12 hrs | **Status:** ✅ Complete ### C-003: Inventory Detail Views -- [ ] `/(portal)/inventory/[category]/details/page.tsx` -- [ ] Query params: `part`, `plant`, `warehouse` (for specific) or none (for all) -- [ ] Service functions for each detail stored procedure (V6 and legacy) -- [ ] Paint code display (from Epicor Part_UD table) -- [ ] Part description with paint code lookup (`getVorPartDescriptionFromPartNumberWithPaintCode`) -- [ ] On-hand quantity for specific lines -- [ ] Data table with full column set -- [ ] Back navigation to summary -- **Deps:** C-002 | **Est:** 8 hrs +- [x] `/(portal)/inventory/[category]/detail/page.tsx` +- [x] Query params: `part`, `plant`, `warehouse` (for specific) or none (for all) +- [x] Service functions for each detail stored procedure (V6 and legacy) +- [x] getInventoryDetails() with proper stored procedure names +- [~] Paint code display (from Epicor Part_UD table) (deferred to when paint module needed) +- [~] Part description with paint code lookup (deferred, placeholder implemented) +- [x] On-hand quantity for specific lines +- [x] Data table with full column set (part, plant, warehouse, bin, lot, serial, qty, description) +- [x] Back navigation to summary +- [x] Search and CSV export functionality +- **Deps:** C-002 | **Est:** 8 hrs | **Status:** ✅ Complete ### C-004: Order List - [ ] `/(portal)/orders/page.tsx`