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:

StatusMeaningAllowed actions
OpenWO exists but not yet started.Edit qty, kit, start SFT, cancel.
Mfg HoldManufacturing hold — usually pending ECO / QA.Reads only. Kitting is blocked (KitHelper.Pick throws).
In ProcessStarted on the shop floor.SFT moves, partial completion.
ClosedCompleted 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 DeptQtyHelper and by operation in ActvQtyHelper.

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.CheckWorkOrderNumberPadding before lookup.
  • A WO cannot be kitted while its status is Mfg Hold. This is enforced in KitHelper.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#

LayerFile
ControllernewSite/Controllers/WOManagementController.cs, ProductionControlController.cs, WOUploadController.cs
HelperMnxEFModel/Helper/Work Order/WorkOrderHelper.cs, WorkOrderScheduleHelper.cs, ActvQtyHelper.cs, DeptQtyHelper.cs, WOEntryHelper.cs, WOManagementHelper.cs
Bulk importMnxEFModel/Helper/WOUpload/
RelatedKitting, Shop Floor Tracking, ECO