Injection Schedule — schedule Work Orders onto machine × day × shift, approve the schedule and create Injection WIs per shift

Fine Chemical (FC) · MES module · v0.4 · 09/10/2026 · Standard flow — for implementation, testing and development

Process Flow (swimlane)

MES · Injection Schedule — the Planner schedules Work Orders onto machine × day × shift, the Supervisor approves, Release creates Injection WIs per shiftPhaseInputPlannerProduction SupervisorOutputException — Big Plan Revision · short close · WO cancelledNot yetYesManualAuto AssignYesNoYes — keep schedulingNoNoPassresubmitYesNoMaster data: Machine ·Capacity CalendarMaster dataWork Order RELEASED(Routing includes Injection)Detail Plan I/J Plan(Big Plan RELEASED)Machine maintenance schedule(Machine Maintenance)Mold stock by size(Mold Qty)Shift POP result(Daily Injection by Shift)Big Plan short-closed(I/J Plan)WO cancelled(Work Order / WI)Start▣ Injection ScheduleOpen Injection ScheduleWeb▣ Injection SchedulePut the WO on theunscheduled listSystem (auto)Big Plan of the DetailPlan RELEASED?▣ Injection ScheduleTake quantities by sizeDetail PlanSystem (auto)▣ Injection ScheduleSelect an unscheduled WOWebManual orAuto Assign?▣ Injection SchedulePick a machine × day × shift cellWeb▣ Injection ScheduleEnter Mold Qty by sizeWeb▣ Injection ScheduleCalculate Planned PairSystem (auto)▣ Injection ScheduleRun Auto AssignWeb▣ Injection ScheduleSpread Remaining overfree shiftsSystem (auto)Shift overcapacity?▣ Injection ScheduleWarn Over capacitySystem (auto)▣ Injection ScheduleSave Shift PlanWebPlanner schedulesanother WO?▣ Injection ScheduleSubmit injection scheduleWeb▣ Injection ScheduleReview injection scheduleWebApproval passed?▣ Injection ScheduleReject injection scheduleWeb▣ Injection ScheduleApprove injection scheduleWeb▣ Injection ScheduleRelease injection scheduleWeb▣ Injection ScheduleSinh WI Injection theo caSystem (auto)▣ Machine LoadingUpdate Machine LoadingSystem (auto)▣ Injection ScheduleEdit Shift PlanWeb▣ Injection ScheduleUpdate Actual Pair· RemainingSystem (auto)Actual Pair <Planned Pair?Big Plan Revision▣ Injection ScheduleLock new shifts for the WOSystem (auto)WO shifts to remove▣ Injection ScheduleRemove unrun WO shiftsSystem (auto)EndEndEndWO waits for Big Plan RELEASED— cannot schedule yetSchedule back to DRAFT+ Reject reason for the PlannerWI Injection theo WO ×machine × day × shift → DailyInjection by ShiftMachine Loading Report(machine load by day × shift)Shortfall back to the WO'sRemaining → Planner reschedulesShift met Planned PairScheduled shifts kept ·no new shifts until re-approvedUnrun shifts removed ·board freedThe Planner opens the injection machine × shift scheduling board. Action: PRODUCTION menu › Injection Schedule ("Machine × shift board · adjust planned pairs and record actual output"); filter date range (7d) · Factory; "Board View" / "Grid View" / "Auto Assign" buttons. System: board of machines INJ-01 … INJ-14 × day × shift; each cell is "Free", a scheduled WO, or "Maintenance". Source: prototype v0.23The system lists the WOs that need injection as waiting to be scheduled. System: RELEASED Work Orders with an Injection process in their Routing appear in the "Unscheduled Work Orders" panel. System: releasing a WO does not create Injection WIs — they are created only when the Planner releases the schedule here, one WI per shift. Source: Q-20260923-19 (G) · convention Q5Has the Big Plan holding the WO's Detail Plan been released? Yes: Big Plan RELEASED → take quantities per size from the Detail Plan and schedule. Not yet: the WO waits and cannot be scheduled. System: one Detail Plan (I/J Plan) maps to one WO; only the Big Plan carries a status. Test: - Big Plan DRAFT → the WO cannot be scheduled Source: Q-20260923-19 (A, F) · Q-20261009-08 · prototype v0.86The system takes quantities per size and mold count from the WO's Detail Plan. System: the Detail Plan provides "SIZE REMAINING" per size, Need Mold Q'ty, Estimated Date against I/J ETC. Result: the WO card shows "WO-… · <Model Color> · <n> pairs · <n> molds" with PLANNED · ACTUAL · REMAINING · OVER CAPACITY. Source: Q-20260923-19 (A) · prototype v0.23The Planner picks a WO that still has unscheduled quantity. Action: "Unscheduled Work Orders" panel › click the WO card. System: each size shows its unscheduled "SIZE REMAINING". Source: prototype v0.23Does the Planner schedule shift by shift or let the system spread it? Manual: pick a machine × day × shift cell. Auto Assign: the system spreads Remaining over free shifts. Source: prototype v0.23The Planner picks the machine, day and shift for the WO. Action: click a "Free" cell on the board, or "+ Add another shift plan" in Grid View. Blocked when: the cell is "Maintenance" (machine maintenance) — cannot be scheduled. Open: the prototype still labels shifts "Morning (AM)" / "Afternoon (PM)" — to be changed to Day / Night. Source: Q-20260923-07 · prototype v0.23The Planner enters the molds used per size in the shift. Action: shift dialog › "Planned Date" · "Shift" · "Machine" · "Work Order" · "Mold Qty" per size. System: several WOs may share one machine shift, up to capacity ("Several WOs can share one machine shift, up to <capacity> pairs."). Source: prototype v0.23The system calculates the shift's planned pairs. System: Planned Pair = MIN(Remaining Qty, Mold Qty × <pairs / mold>); any cell can be edited ("edit any cell to adjust it manually"). Shows Molds Used · Planned This Shift · Remaining After Plan · Current load. Test: - Remaining 100, Mold Qty 20 × 3 pairs = 60 → Planned Pair 60 - Remaining 40, Mold Qty 20 × 3 pairs = 60 → Planned Pair 40 Source: prototype v0.23The Planner lets the system spread the remaining quantity over free shifts. Action: "Auto Assign" button › "Auto Assign to Machines" dialog › pick "Machines" · "Start date" (optional) · "Shift" · Scope "This WO" / "All unscheduled" › "Preview". Source: prototype v0.23The system spreads Remaining over the free shifts of the selected machines. System: uses free cells only, skipping "Maintenance" ("remaining qty is spread over the free shifts"). Blocked when: no free shift — "No free machine shift found for the selected options." Source: prototype v0.23Does the shift exceed machine capacity? Yes: shift total Planned Pair > machine capacity (Capacity Calendar) → warning. No: save as normal. Test: - Capacity 600, Planned 600 → no warning - Capacity 600, Planned 601 → warning Source: Q-20260923-02The system warns that the shift will be over capacity. System: message "Saving will leave this shift over capacity."; the button becomes "Save Anyway". Result: warning only, not blocked; the "OVER CAPACITY" KPI goes up. Source: Q-20260923-02 · prototype v0.23The Planner saves the scheduled shift. Action: "Save Shift Plan" button ("Update Shift Plan" when editing). Result: schedule → DRAFT; no Injection WI yet. "Manual Shift Plans" grid: one row = one machine + one shift + one WO ("One row = one machine + one shift + one WO."). Source: Q-20260923-08 · prototype v0.23Will the Planner schedule another WO? Yes: go back and pick an unscheduled WO. No: send the scheduled part for approval. System: Remaining need not be fully scheduled before sending; the rest stays in "Unscheduled Work Orders" for later. Source: Q-20260923-08The Planner sends the scheduled part to the Production Supervisor for approval. When: schedule is DRAFT. Action: Submit. Result: schedule → PENDING APPROVAL; the unscheduled part stays in "Unscheduled Work Orders". Open: prototype v0.23 has no Submit button yet. Source: Q-20260923-08The Production Supervisor reviews the schedule before deciding. When: schedule is PENDING APPROVAL. Action: check the board WO × machine × shift, Planned Pair, Over capacity cells, Estimated Date against I/J ETC. Source: Q-20260923-08 · BRD §7The Supervisor decides whether the schedule is acceptable. Pass: approve → the Planner releases the schedule. No: reject with a reason → the schedule goes back to DRAFT for the Planner. System: an Over capacity warning does not block approval by itself. Source: Q-20260923-08 · Q-20260923-02The Production Supervisor rejects the schedule with a reason. Action: Reject — reason is mandatory. Result: schedule → DRAFT; the reason is shown to the Planner. Blocked when: no reason entered. Test: - Reject without a reason → cannot save Source: Q-20260923-08The Production Supervisor approves the injection schedule. Action: Approve. Result: schedule → APPROVED; the Planner may release it ("Release WO / Generate WI: Planner Y · Supervisor Approve"). Source: BRD §7 · Q-20260923-08The Planner releases the approved injection schedule. When: schedule is APPROVED. Action: Release. Result: schedule → RELEASED; only now are Injection WIs created. Test: - An APPROVED schedule not yet released → no Injection WI exists Source: Q-20260923-08 · convention Q5The system creates one Injection WI for each released shift. Result: one RELEASED Injection WI per Shift Plan row (machine + shift + WO), carrying Mold Qty and Planned Pair per size, linked to the WO "Work Instructions" tab; the WI shows on the operator dashboard ("Released WI appears on operator dashboard by work center, machine, shift and priority."). System: Save / Submit / Approve do not create WIs. Test: - Release a schedule with 3 Shift Plan rows → 3 Injection WIs Source: BRD §6.2 Step 5 · Q-20260923-19 (G) · convention Q5The system updates the machine loading report with the new schedule. System: the Machine Loading screen is read-only ("Machine Loading Report — Read-only injection loading by date and Shift A/B."); cell states Running · Planned · Idle · Maintenance · Over Capacity; "Daily Print" / "Refresh" buttons. Open: Machine Loading still labels shifts "Shift A/B" — to be changed to Day / Night. Source: prototype v0.23 · Q-20260923-07The Planner fixes the shifts according to the rejection reason and sends again. When: schedule is DRAFT after Reject. Action: change machine / shift / Mold Qty › "Update Shift Plan" › Submit. Result: schedule → PENDING APPROVAL. Source: Q-20260923-08The system records the shift's actual pairs and recalculates what is left to inject. System: "Actual Pair" is read-only, taken from the shift POP ("Actual Pair is read-only — it comes from the shift POP / Curing Confirmation"); Variance = Actual − Planned; the shortfall returns to the WO Remaining. Open: is Actual taken from the CONFIRMED shift POP or from the Curing Confirmed quantity? Source: Q-20260923-08 · Q-20260923-11 · prototype v0.23Did the shift produce less than planned? Yes: Actual Pair < Planned Pair → the shortfall returns to the WO Remaining for rescheduling. No: the shift met its Planned Pair. Test: - Planned 60, Actual 55 → WO Remaining grows by 5 Source: Q-20260923-08 · Q-20260923-11The system locks new shifts for the WO while its Big Plan is under Revision. When: Big Plan RELEASED → DRAFT at I/J Plan (Revision). Result: already scheduled shifts stay; no new shift for that Detail Plan's WO until the Big Plan is re-released; the Planner then adjusts to the new figures. Test: - Big Plan under Revision → the WO card cannot take a new shift Source: Q-20260923-11The system removes the WO's unstarted shifts when the Big Plan is short-closed or the WO is cancelled. Result: Shift Plan rows without POP (any status) are removed from the board; the RELEASED Injection WIs of those shifts → CANCELLED; shifts with POP stay; the shortfall no longer appears in "Unscheduled Work Orders". Test: - A WO with 3 shifts, 1 with POP → cancel the WO → 1 shift left on the board Source: Q-20260923-11 · convention Q5
Startwhere the flow begins
Endevery Start reaches at least one End
Process steptop strip = screen used, colored tag = platform
Decisionevery outgoing branch carries its condition
Data / documentinputs in the Input lane, results in the Output lane
Main flowthe required order of steps
Tags on a boxMaster dataWebSystem (auto)

Status lifecycle

Injection schedule (Shift Plan)DRAFTPENDING APPROVALAPPROVEDRELEASEDSubmitApprove (Supervisor)Release → sinh WI InjectionReject — with reason
◻ DRAFT ◻ PENDING APPROVAL ◻ APPROVED / RELEASED

Input

#InputTypeUsed in step
I-1Machine · Capacity Calendar (machines INJ-01 … INJ-14, capacity per shift)Master dataOpen Injection Schedule; check Over capacity
I-2Work Order RELEASED with an Injection process in its RoutingDocument — Master PlanPut the WO on the unscheduled list
I-3I/J Plan Detail Plan (Big Plan RELEASED) — 1 Detail Plan maps to 1 WO; quantity by size, Need Mold Q'ty, Estimated DateDocument — I/J PlanBig Plan of the Detail Plan RELEASED? · Take per-size quantities from the Detail Plan
I-4Machine maintenance schedule — Maintenance cells cannot be scheduledModule Machine MaintenancePick a machine × day × shift cell
I-5Mold stock by size (Mold Qty)Mold stock — Mold ManagementEnter Mold Qty by size
I-6Shift POP result (Actual Pair)Production result — Daily Injection by ShiftUpdate Actual Pair · Remaining
I-7Big Plan short-closed — the shortfall will not be producedDocument — I/J PlanRemove unrun WO shifts
I-8WO cancelledDocument — Work Order / WIRemove unrun WO shifts

Step ↔ screen

StepRoleScreen · UI button
Open Injection Schedule · Select an unscheduled WOPlannerInjection Schedule · Board View / Grid View · khung Unscheduled Work Orders
Pick a machine × day × shift cell · Enter Mold Qty by sizePlannerInjection Schedule · Free cell on the board / + Add another shift plan
Run Auto AssignPlannerInjection Schedule · Auto Assign → Auto Assign to Machines (Preview)
Save Shift PlanPlannerInjection Schedule · Save Shift Plan / Save Anyway
Submit injection schedule · Release injection schedule · Edit Shift PlanPlannerInjection Schedule (prototype v0.23 has no Submit / Release button yet)
Review · Approve · Reject injection scheduleProduction SupervisorInjection Schedule (prototype v0.23 has no Approve / Reject button yet)
Add WO to the waiting-to-schedule list · Take per-size quantities from the Detail Plan · Calculate Planned Pair · Spread Remaining over free shifts · Over capacity warning · Generate per-shift Injection WI · Update Actual Pair · Remaining · Lock further shifts for the WO · Remove unrun WO shiftsSystem (auto)Injection Schedule
Update Machine LoadingSystem (auto)Machine Loading (Machine Loading Report — read-only, Daily Print, Refresh)

Output

#OutputProduced when
O-1WO waits for Big Plan RELEASED — cannot schedule yetThe WO has no Detail Plan, or the Big Plan holding it is not yet RELEASED
O-2Schedule back to DRAFT + Reject reason for the PlannerProduction Supervisor Reject
O-3Injection WI per WO × machine × day × shift → Daily Injection by ShiftSchedule APPROVED, the Planner presses Release → RELEASED — only Release generates WIs, one WI per shift
O-4Machine Loading Report — machine load by day × shift (Running · Planned · Idle · Maintenance · Over Capacity)Each time the schedule is released
O-5Shortfall back to the WO's Remaining → the Planner reschedulesActual Pair (POP) < the shift's Planned Pair
O-6Shift met Planned PairActual Pair ≥ Planned Pair
O-7Scheduled shifts kept · no more shifts until the Big Plan is released againThe Planner creates a Big Plan Revision on I/J Plan (RELEASED → DRAFT)
O-8Unrun shifts removed · board freed (Injection WI RELEASED of that shift → CANCELLED)Big Plan short-closed or WO cancelled; shifts with POP are kept

Glossary

GlossaryMeaning in this flow
Shift PlanOne schedule row = one machine + one shift + one WO
Detail PlanA split of the Big Plan at I/J Plan; each maps to one WO and provides quantities per size
Big PlanOverall injection plan at I/J Plan, the only level with a status
Mold QtyMolds used for one size in the shift
Planned Pair · Actual PairPlanned pairs of the shift · actual pairs from POP
SIZE REMAININGQuantity of the size not yet scheduled
CapacityMachine pairs / shift from the Capacity Calendar
WI InjectionInjection work instruction for one shift, created on schedule release
POPPoint of Production — output reported per shift
Machine LoadingRead-only machine load report by day × shift