2. 生产订单全生命周期解析
生产订单不是一张静态的工单,而是一条会持续改变状态、不断触发决策的“活对象”。排程规则工程之所以必须先理解生命周期,是因为优先级和排程规则并不是在订单创建时一次性决定的,而是在不同状态下被反复重新计算。若把订单当成一个固定优先级的任务,排程系统就会在插单、缺料、返工、拆批等场景中失去控制力。因此,本节把生产订单从接收到入库的全过程拆成状态流转与关键决策点两条线索,帮助读者建立“状态决定可排性、决策点决定优先级重算”的工程视角。
一、订单生命周期的六个核心状态
在典型的离散制造场景中,生产订单会经历以下状态:已接收(Received)、已评审(Reviewed)、已投放(Released)、执行中(In Progress)、已完工(Completed)、已入库(Stocked)。这六个状态不是简单的线性推进,而是存在回退、暂停、拆分和合并。例如,已投放订单可能因缺料回退到“待料暂停”,执行中订单可能因质量异常拆出返工子订单。
每个状态都对应一组可排程属性。已接收状态只有需求信息,没有工艺路线和物料齐套信息,通常不参与有限产能排程;已评审状态已经确认工艺路线和交期,可以参与粗排;已投放状态已经生成工序任务和物料需求,可以参与细排;执行中状态需要按实际进度动态调整剩余工序的排程;已完工状态不再占用产能,但可能触发返工或补投;已入库状态则进入库存和成本结算,不再参与生产排程。
二、四个关键决策点及其对优先级的影响
决策点 D1:接收后的可行性评审。订单接收时只有客户交期、产品型号和数量。评审需要确认三件事:工艺路线是否已维护、关键物料是否有库存或在途、产能是否在交期前存在可用窗口。若三者中任一不满足,订单不能进入已评审状态,而应退回补充信息或与客户协商交期。这个决策点决定了订单能否进入排程池,也决定了初始交期是否可信。
决策点 D2:评审通过后的优先级赋值。这是排程规则工程最核心的决策点。优先级不能只看客户等级,而应综合交期紧迫度、客户权重、订单金额、产线适配度和物料齐套率。一个可用的示例评分模型如下:
优先级得分 = 0.40 × 交期紧迫度 + 0.25 × 客户权重
+ 0.15 × 订单金额系数 + 0.10 × 产线适配度
+ 0.10 × 物料齐套率
其中:
交期紧迫度 = max(0, 1 - 剩余天数 / 标准交期天数)
客户权重 = 战略客户 1.0 / 重点客户 0.7 / 普通客户 0.4
订单金额系数 = min(1.0, 订单金额 / 金额基准值)
产线适配度 = 专用线 1.0 / 可切换线 0.6 / 需外协 0.3
物料齐套率 = 已到料项数 / 总物料项数
假设某订单剩余交期 5 天、标准交期 15 天、战略客户、金额为基准值的 0.8 倍、可在专用线生产、齐套率 0.9,则得分为 0.40×0.667 + 0.25×1.0 + 0.15×0.8 + 0.10×1.0 + 0.10×0.9 ≈ 0.267 + 0.25 + 0.12 + 0.10 + 0.09 = 0.827。这个分数将作为该订单在排程池中的初始优先级,并在后续决策点被重新评估。
决策点 D3:投放前的齐套检查与投放时机。已评审订单并不立即投放,因为过早投放会占用产能窗口和物料预留,过晚投放则可能错过交期。工程上通常设置“投放提前期”,即交期前若干天且齐套率达到阈值时才投放。例如齐套率低于 80% 时保持已评审状态,达到 80% 后进入待投放队列,达到 95% 且距交期小于 7 天时强制投放。这个决策点直接影响排程系统的任务池规模和插单响应速度。
决策点 D4:执行中的进度偏差与重排触发。订单进入执行中后,实际进度可能偏离计划。当某工序实际完成时间比计划晚于设定阈值(如 4 小时),或关键设备发生故障,或质量检验判定返工时,系统应触发重排。重排不是简单地把剩余工序往后推,而是重新计算该订单及受影响订单的优先级,并检查是否影响其他订单的交期。这个决策点决定了排程系统是“静态计划”还是“动态可控”。
三、状态流转中的异常与回退处理
生命周期中最容易被忽视的是回退路径。评审不通过时,订单应回到已接收并标记“待补充”,而不是直接删除;缺料暂停时,订单应回到已评审并保留已分配的产能窗口,待齐套后优先恢复;质量返工时,应从执行中拆出返工子订单,原订单继续执行剩余合格工序,返工子订单按新的优先级参与排程。这些回退路径如果不在状态机中显式定义,排程系统就会出现“幽灵订单”或“重复占用产能”的问题。
四、生命周期与排程规则的衔接要点
把生命周期和排程规则衔接起来,需要做到三点。第一,状态决定可排性:只有已评审、已投放和执行中三种状态参与排程计算,已接收和已完工不占用产能。第二,决策点决定优先级重算时机:D1 决定是否入池,D2 决定初始优先级,D3 决定投放顺序,D4 决定动态调整。第三,回退路径决定异常处理规则:每种回退都要有对应的优先级保留或重置策略,避免订单在状态切换中丢失排程上下文。
实际工程中,可以用一张状态-规则映射表来固化这些关系。例如:已接收状态只允许执行 D1 评审规则;已评审状态允许执行 D2 优先级计算和 D3 齐套检查;已投放状态允许执行细排和 D4 偏差监控;执行中状态允许执行重排和返工拆分。这样,排程引擎在处理每个订单时,先读取当前状态,再加载对应规则集,最后输出可执行的排程动作。状态机不再是文档里的流程图,而是排程规则工程的运行时骨架。