4. 工单全生命周期管理
在多工厂协同场景下,工单不是一张静态的“生产任务单”,而是一个有明确状态、有严格流转条件、有责任归属的业务对象。它从销售订单或计划需求下发开始,经过工单创建、派工、报工、完工,最终关闭,每一步都对应着不同的数据写入、权限校验和业务约束。理解这条状态链,是保证多工厂之间“同一张工单、同一套口径、同一个结果”的基础。
一、工单状态机的整体结构
工单全生命周期可以抽象为一组状态节点和受控迁移。典型状态包括:已创建(Created)、已下达(Released)、已派工(Dispatched)、生产中(In Process)、已完工(Completed)、已关闭(Closed),以及异常分支中的已挂起(On Hold)和已取消(Cancelled)。状态之间不是任意跳转,而是由“触发事件 + 前置条件 + 校验规则”共同决定。
例如,工单从“已创建”进入“已下达”,必须满足物料清单(BOM)已确认、工艺路线已绑定、目标工厂产能已预留;从“已派工”进入“生产中”,必须完成首件报工或开工确认;从“已完工”进入“已关闭”,必须完成全部报工数量核对、质量检验结论录入、物料消耗与产出平衡校验。任何一条不满足,状态机都应拒绝迁移并给出明确原因。
二、各阶段的关键控制点与数据要求
订单下发与工单创建。订单下发通常来自ERP或计划系统,携带订单号、客户、物料、数量、交期、目标工厂等字段。MES接收后并不立即生成可执行工单,而是先做“创建校验”:物料编码是否存在、BOM版本是否有效、目标工厂是否具备该工艺能力、需求数量是否为正数、交期是否早于当前日期。校验通过后生成工单号,状态置为“已创建”。此时工单可修改,但不可报工。
工单下达。下达意味着工单正式进入执行准备。关键控制点包括:工艺路线已绑定到具体工厂和产线、所需物料已做齐套分析、产能已做预留。以某电子装配场景为例,若工单需求1000台,BOM中关键料A库存800件、在途300件,齐套率按“可用库存/需求”计算为80%,低于示例阈值90%,则系统应阻止下达并提示缺料明细。只有补齐或调整阈值后,才允许状态迁移到“已下达”。
派工。派工是把工单分配到具体工作中心、产线、班组甚至设备的过程。控制点在于资源可用性和资质匹配:目标产线是否在计划时段内空闲、操作人员是否持有对应工序的上岗资格、设备是否处于“可用”而非“维修/停机”状态。派工成功后,工单状态变为“已派工”,同时锁定相关资源,避免多工厂之间重复占用。
报工与生产中。报工是工单执行过程中最频繁的数据写入点。每次报工需要记录:报工数量(合格数、不合格数、报废数)、报工时间、报工人员、工序、设备、批次号。系统根据累计报工数量与工单数量的关系,判断是否进入“生产中”或“已完工”。关键控制点在于:报工数量不得超过工单剩余数量;不合格数必须触发质量异常流程;同一工序重复报工需有防重机制。
完工与关闭。完工不等于关闭。完工表示生产数量已达成,但关闭还需要完成一系列收尾校验:全部报工记录已审核、质量检验结论已录入(合格/让步接收/返工/报废)、物料消耗与产出做平衡校验、工单相关异常已关闭。只有这些条件全部满足,工单才能从“已完工”迁移到“已关闭”。关闭后工单变为只读,作为成本核算、绩效统计和追溯的依据。
三、异常分支:挂起与取消
并非所有工单都按主链路走完。当出现物料短缺、设备故障、质量异常或订单变更时,工单可进入“已挂起”状态。挂起是一个可恢复的中间状态:挂起期间不允许继续报工,但保留已报工数据;问题解决后,工单可恢复到“已派工”或“生产中”,继续执行。取消则用于订单作废或计划变更场景,取消前需确认无未结算的报工和物料消耗,取消后工单不可恢复。
多工厂协同注意:同一张工单在跨工厂流转时,状态必须由工单归属工厂的MES统一维护,其他工厂只能读取和提交报工数据,不能直接修改工单状态。状态迁移的触发事件、操作人、时间戳和前后状态必须写入审计日志,确保多工厂之间可追溯、可对账。
四、状态迁移的审计与对账
工单状态机的价值不仅在于控制流程,更在于为多工厂协同提供统一的对账基准。每一次状态迁移都应记录:工单号、迁移前状态、迁移后状态、触发事件、操作人、操作时间、所属工厂、校验结果。当两个工厂对同一工单的进度产生分歧时,审计日志就是最直接的判断依据。例如,A工厂认为工单已完工,B工厂认为仍在生产中,通过日志可以快速定位是哪一次报工未被同步、哪一次状态迁移缺少校验。
在实际落地时,建议将状态迁移规则配置为可维护的规则表,而不是硬编码在代码中。规则表至少包含:当前状态、触发事件、目标状态、前置条件表达式、失败提示信息。这样当业务规则调整时,只需修改配置,不必重新发版。以下是一个简化的规则表示例:
| 当前状态 | 触发事件 | 目标状态 | 前置条件(示例) |
|---|---|---|---|
| 已创建 | 下达 | 已下达 | 工艺路线已绑定 且 齐套率≥90% |
| 已下达 | 派工 | 已派工 | 产线可用 且 人员资质匹配 且 设备可用 |
| 已派工 | 首件报工 | 生产中 | 报工数量>0 且 工序与派工一致 |
| 生产中 | 累计报工达标 | 已完工 | 合格数+不合格数+报废数=工单数量 |
| 已完工 | 关闭 | 已关闭 | 质检结论已录入 且 物料平衡 且 无未关闭异常 |
| 已派工/生产中 | 挂起 | 已挂起 | 存在物料/设备/质量异常且未解决 |
| 已挂起 | 恢复 | 已派工 | 异常已关闭 且 资源仍可用 |
把这张规则表落到MES中,工单状态机就不再是抽象概念,而是一套可执行、可审计、可对账的控制逻辑。多工厂协同的难点往往不在“能不能报工”,而在“状态是否一致、口径是否统一、异常是否可追溯”。围绕状态机建立统一规则和审计机制,才能让工单在全生命周期中始终保持可信。