Work Orders#
A Work Order (WO) is the production authorization to build a specific quantity of a top-level assembly. It ties together the BOM (what to build), the routing (how to build it), the kit (materials issued), and shop-floor tracking (progress and yields).
Lifecycle#
Statuses on WOMAIN.OPENCLOS:
| Status | Meaning | Allowed actions |
|---|---|---|
Open | WO exists but not yet started. | Edit qty, kit, start SFT, cancel. |
Mfg Hold | Manufacturing hold — usually pending ECO / QA. | Reads only. Kitting is blocked (KitHelper.Pick throws). |
In Process | Started on the shop floor. | SFT moves, partial completion. |
Closed | Completed or cancelled. | Read-only. |
A WO is created either manually (WOEntryHelper) or from an MRP action / SO explosion. It carries a PJ (project) and WONO (work-order number, zero-padded via CheckWorkOrderNumberPadding).
Quantity tracking#
Three quantities are maintained per WO:
- Ordered — the target quantity.
- Kitted — quantity for which components have been allocated (see Kitting).
- Completed — quantity closed out through shop-floor tracking, tracked by department in
DeptQtyHelperand by operation inActvQtyHelper.
Scheduling of promise / start / finish dates is handled by WorkOrderScheduleHelper.
Key business rules#
- Work-order numbers are zero-padded — always pass user input through
WorkOrderHelper.CheckWorkOrderNumberPaddingbefore lookup. - A WO cannot be kitted while its status is
Mfg Hold. This is enforced inKitHelper.Pick. - Cancelling a WO must reverse any outstanding kit reservations (
InvtRes) and unlink partial SFT records. - Serialised assemblies build a serial-genealogy chain via
SerialComponentToAssemblyHelper— when a serialized parent is completed, its serialized children are recorded against it.
Where it lives#
| Layer | File |
|---|---|
| Controller | newSite/Controllers/WOManagementController.cs, ProductionControlController.cs, WOUploadController.cs |
| Helper | MnxEFModel/Helper/Work Order/WorkOrderHelper.cs, WorkOrderScheduleHelper.cs, ActvQtyHelper.cs, DeptQtyHelper.cs, WOEntryHelper.cs, WOManagementHelper.cs |
| Bulk import | MnxEFModel/Helper/WOUpload/ |
| Related | Kitting, Shop Floor Tracking, ECO |