4. 工单全生命周期管理

在多工厂协同场景下,工单不是一张静态的“生产任务单”,而是一个有明确状态、有严格流转条件、有责任归属的业务对象。它从销售订单或计划需求下发开始,经过工单创建、派工、报工、完工,最终关闭,每一步都对应着不同的数据写入、权限校验和业务约束。理解这条状态链,是保证多工厂之间“同一张工单、同一套口径、同一个结果”的基础。

一、工单状态机的整体结构

工单全生命周期可以抽象为一组状态节点和受控迁移。典型状态包括:已创建(Created)、已下达(Released)、已派工(Dispatched)、生产中(In Process)、已完工(Completed)、已关闭(Closed),以及异常分支中的已挂起(On Hold)和已取消(Cancelled)。状态之间不是任意跳转,而是由“触发事件 + 前置条件 + 校验规则”共同决定。

例如,工单从“已创建”进入“已下达”,必须满足物料清单(BOM)已确认、工艺路线已绑定、目标工厂产能已预留;从“已派工”进入“生产中”,必须完成首件报工或开工确认;从“已完工”进入“已关闭”,必须完成全部报工数量核对、质量检验结论录入、物料消耗与产出平衡校验。任何一条不满足,状态机都应拒绝迁移并给出明确原因。

工单全生命周期状态机与关键控制点 已创建 Created 已下达 Released 已派工 Dispatched 生产中 In Process 已完工 Completed 已关闭 Closed 已挂起 On Hold 已取消 Cancelled 恢复 关键控制点(Gate) G1 创建校验:订单号、物料编码、BOM版本、目标工厂、需求数量与交期必填;同一订单行不可重复创建有效工单。 G2 下达校验:工艺路线已绑定、产能已预留、物料齐套率≥设定阈值(示例:90%),否则禁止下达。 G3 派工校验:目标产线/工作中心可用、人员资质匹配、设备状态为“可用”,派工后锁定资源。 G4 关闭校验:报工总量=工单数量、质检结论已录入、物料消耗与产出平衡、无未关闭异常。

二、各阶段的关键控制点与数据要求

订单下发与工单创建。订单下发通常来自ERP或计划系统,携带订单号、客户、物料、数量、交期、目标工厂等字段。MES接收后并不立即生成可执行工单,而是先做“创建校验”:物料编码是否存在、BOM版本是否有效、目标工厂是否具备该工艺能力、需求数量是否为正数、交期是否早于当前日期。校验通过后生成工单号,状态置为“已创建”。此时工单可修改,但不可报工。

工单下达。下达意味着工单正式进入执行准备。关键控制点包括:工艺路线已绑定到具体工厂和产线、所需物料已做齐套分析、产能已做预留。以某电子装配场景为例,若工单需求1000台,BOM中关键料A库存800件、在途300件,齐套率按“可用库存/需求”计算为80%,低于示例阈值90%,则系统应阻止下达并提示缺料明细。只有补齐或调整阈值后,才允许状态迁移到“已下达”。

派工。派工是把工单分配到具体工作中心、产线、班组甚至设备的过程。控制点在于资源可用性和资质匹配:目标产线是否在计划时段内空闲、操作人员是否持有对应工序的上岗资格、设备是否处于“可用”而非“维修/停机”状态。派工成功后,工单状态变为“已派工”,同时锁定相关资源,避免多工厂之间重复占用。

报工与生产中。报工是工单执行过程中最频繁的数据写入点。每次报工需要记录:报工数量(合格数、不合格数、报废数)、报工时间、报工人员、工序、设备、批次号。系统根据累计报工数量与工单数量的关系,判断是否进入“生产中”或“已完工”。关键控制点在于:报工数量不得超过工单剩余数量;不合格数必须触发质量异常流程;同一工序重复报工需有防重机制。

完工与关闭。完工不等于关闭。完工表示生产数量已达成,但关闭还需要完成一系列收尾校验:全部报工记录已审核、质量检验结论已录入(合格/让步接收/返工/报废)、物料消耗与产出做平衡校验、工单相关异常已关闭。只有这些条件全部满足,工单才能从“已完工”迁移到“已关闭”。关闭后工单变为只读,作为成本核算、绩效统计和追溯的依据。

三、异常分支:挂起与取消

并非所有工单都按主链路走完。当出现物料短缺、设备故障、质量异常或订单变更时,工单可进入“已挂起”状态。挂起是一个可恢复的中间状态:挂起期间不允许继续报工,但保留已报工数据;问题解决后,工单可恢复到“已派工”或“生产中”,继续执行。取消则用于订单作废或计划变更场景,取消前需确认无未结算的报工和物料消耗,取消后工单不可恢复。

多工厂协同注意:同一张工单在跨工厂流转时,状态必须由工单归属工厂的MES统一维护,其他工厂只能读取和提交报工数据,不能直接修改工单状态。状态迁移的触发事件、操作人、时间戳和前后状态必须写入审计日志,确保多工厂之间可追溯、可对账。

四、状态迁移的审计与对账

工单状态机的价值不仅在于控制流程,更在于为多工厂协同提供统一的对账基准。每一次状态迁移都应记录:工单号、迁移前状态、迁移后状态、触发事件、操作人、操作时间、所属工厂、校验结果。当两个工厂对同一工单的进度产生分歧时,审计日志就是最直接的判断依据。例如,A工厂认为工单已完工,B工厂认为仍在生产中,通过日志可以快速定位是哪一次报工未被同步、哪一次状态迁移缺少校验。

在实际落地时,建议将状态迁移规则配置为可维护的规则表,而不是硬编码在代码中。规则表至少包含:当前状态、触发事件、目标状态、前置条件表达式、失败提示信息。这样当业务规则调整时,只需修改配置,不必重新发版。以下是一个简化的规则表示例:

当前状态 触发事件 目标状态 前置条件(示例)
已创建 下达 已下达 工艺路线已绑定 且 齐套率≥90%
已下达 派工 已派工 产线可用 且 人员资质匹配 且 设备可用
已派工 首件报工 生产中 报工数量>0 且 工序与派工一致
生产中 累计报工达标 已完工 合格数+不合格数+报废数=工单数量
已完工 关闭 已关闭 质检结论已录入 且 物料平衡 且 无未关闭异常
已派工/生产中 挂起 已挂起 存在物料/设备/质量异常且未解决
已挂起 恢复 已派工 异常已关闭 且 资源仍可用

把这张规则表落到MES中,工单状态机就不再是抽象概念,而是一套可执行、可审计、可对账的控制逻辑。多工厂协同的难点往往不在“能不能报工”,而在“状态是否一致、口径是否统一、异常是否可追溯”。围绕状态机建立统一规则和审计机制,才能让工单在全生命周期中始终保持可信。