Add Operations - External Process page for vendor processing tracking

Two-tab dashboard tracking external labor workflows (e.g., tin plating):
- Tab 1 "At Vendor": Open POs for outside process items (EXTLAB classcode),
  showing vendor, PO#, finished/manufactured/ext labor PNs, qty, ship date,
  expected return (7-day default), days out, and WO demand
- Tab 2 "Awaiting Shipment": WOs with manufactured material issued but no
  open PO for the outside process item, showing days waiting in stockroom

Nav button added to all 11 pages in Operations section (rows 56-60).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-03 14:41:49 -04:00
parent b5e74cebb7
commit a9f0e75e1b
36 changed files with 2240 additions and 1 deletions

View File

@@ -53,6 +53,7 @@ statistics-app/
| Operations | Job Drawing Status | CAD drawing builds from `mpe.inventortools` |
| Operations | Unused Items | Items with no inventory transactions for X days (default 365), filterable via input widget |
| Operations | WO Shortages | 2 tabs: WO shortage details (MTS/MTO) for FA dept top-level WOs; Critical Parts aggregation. Uses `mpe.itematmdept`, `mpe.wogrpext`, `womatl`, `qtynetable()` |
| Operations | External Process | 2 tabs: At Vendor (open POs for outside process items, `item_type='O'`, `classcode_code='EXTLAB'`); Awaiting Shipment (manufactured material issued but no PO released). Uses `poitem`, `pohead`, `womatl`, `classcode`, `itemsrc` |
## Critical Conventions
@@ -75,7 +76,7 @@ Every `widgetId` across all pages must be globally unique. Use short descriptive
- Active page button: `buttonColor` = `{{appsmith.theme.colors.backgroundColor}}` (dynamic binding).
- Inactive buttons: `buttonColor` = `#ffffff` (static, no dynamic binding).
- `parentId` for nav widgets = the Canvas `widgetId` inside that page's `Container1.json` (varies per page — always read it).
- Current nav sections: **Sales** (rows 016), **Engineering** (rows 1834), **Operations** (rows 3656).
- Current nav sections: **Sales** (rows 016), **Engineering** (rows 1834), **Operations** (rows 3660).
### Canvas Widget IDs (for parentId in Container1 children)
@@ -91,6 +92,7 @@ Every `widgetId` across all pages must be globally unique. Use short descriptive
| Operations - Engineering Holds | `eh1canvas01` |
| Operations - Unused Items | `ui1canvas01` |
| Operations - WO Shortages | `ws1canvas01` |
| Operations - External Process | `ep1canvas01` |
### Grid Layout