Post Views: 15
生产订单模块——流程的起点与 BOM 展开,基础数据是地基,现在我们要盖楼了。生产订单是整个核心流程的起点,理解它,就理解了 ERP 业务流程的”发令枪”。
一、生产订单是什么
生产订单(Manufacturing Order,简称 MO)是一张
制造指令。它告诉生产部门:生产什么、生产多少、什么时候开始、什么时候完成。
在 AperBio ERP 里,生产订单有两种来源类型:
| 来源类型 | 编码规则前缀 | 业务含义 |
|---|
| 自制生产 | MO | 企业自行组织生产 |
| 委外生产 | MO-S | 委托外部供应商加工 |
自制生产和委外生产在流程上基本相同,区别在于委外生产需要指定委外供应商。
二、生产订单的创建流程
2.1 核心输入项
生产计划员创建生产订单时,需要填写以下信息:
| 字段 | 来源 | 说明 |
|---|
| 生产物料 | 物料档案(自动带出) | 选择成品或半成品物料 |
| 生产数量 | 手工录入 | 计划生产数量,必须为正数 |
| BOM 版本 | BOM 管理(自动带出) | 选择已审核的 BOM 版本 |
| 计划开工日期 | 手工录入 | 不得早于创建日期 |
| 计划完工日期 | 手工录入 | 不得早于计划开工日期 |
| 来源类型 | 下拉选择 | 自制生产 / 委外生产 |
| 项目 | 项目选择器 | 必选,归集维度 |
2.2 自动带出逻辑
系统在创建时会自动完成以下动作:
- 根据选择的物料,自动带出物料名称、规格、单位
- 根据物料检索已审核的 BOM 版本
- 只有一个已审核版本 → 自动填入
- 有多个已审核版本 → 默认选最新版本,允许切换
- 没有已审核版本 → 提示”请先到 BOM 管理模块维护”
三、BOM 展开——最关键的一步
生产订单创建后,系统会
自动执行 BOM 展开,计算出所有底层物料的需求数量。这是整个流程中最核心的计算逻辑。
3.1 BOM 展开的规则
- 多级展开:从顶层产品开始,递归展开到最底层物料(采购件)
- 跳过虚拟件:BOM 中标记为”虚拟件”的中间层级不生成独立需求行
- 数量计算:每层需求数量 = 父层需求数量 × 子件单位用量
- 损耗率计算:单层需求数量 = 理论用量 × (1 + 损耗率)
- 合并汇总:同一底层物料在多条 BOM 路径中出现时,按生产订单维度汇总净需求
3.2 展开示例
假设产品 A 的 BOM 结构为:
产品 A(生产 100 个)
├── 半成品 S01(用量 1,损耗率 2%)
│ └── 铝材 R04(用量 1.5,损耗率 5%)
├── 钢材 R01(用量 2,损耗率 5%)
├── 塑料 R02(用量 0.5,损耗率 3%)
└── 螺丝 R03(用量 8,损耗率 1%)
BOM 展开计算过程:
钢材 R01:100 × 2 × (1 + 5%) = 210 kg
塑料 R02:100 × 0.5 × (1 + 3%) = 51.5 kg
螺丝 R03:100 × 8 × (1 + 1%) = 808 个
铝材 R04(经半成品 S01 路径):
100 × 1 × (1 + 2%) × 1.5 × (1 + 5%) = 162.5 kg
展开结果展示在 BOM 展开明细表中,每张行记录包含:
- 物料编码、名称、规格
- BOM 路径描述(如 “A→S01→R04″)
- 单位用量、损耗率
- 理论需求数量、含损耗需求数量
- 已计划数量、可计划数量(实时从生产计划单模块统计)
四、生产订单的状态机
每张单据都有生命周期状态。生产订单的状态流转如下:
┌──────────┐
│ 创建 │ (10)
└────┬─────┘
│
┌────▼─────┐
│ 已审核 │ (20)
└────┬─────┘
│ 开工
┌────▼─────┐
│ 执行中 │ (30)
└────┬─────┘
│ 完工
┌────▼─────┐
│ 完工 │ (40)
└────┬─────┘
│ 关闭
┌────▼─────┐
│ 关闭 │ (90) — 终结态
└──────────┘
特殊路径:
创建 → 取消 (00) — 审核前取消
执行中/完工 → 关闭 (90) — 强制关闭
状态转换规则:
| 动作 | 起始状态 | 目标状态 | 条件 |
|---|
| 保存 | – | 创建 | 必填字段完整,BOM 自动展开 |
| 审核 | 创建 | 已审核 | BOM 版本已审核、展开已完成 |
| 开工 | 已审核 | 执行中 | – |
| 完工 | 执行中 | 完工 | – |
| 关闭 | 完工 | 关闭 | – |
| 强制关闭 | 执行中/完工 | 关闭 | 需填写原因 |
| 取消 | 创建 | 取消 | 需填写原因 |
审核后锁定:已审核的生产订单不可编辑、不可删除、不可取消。这是为了保证数据的准确性——一旦审核通过,所有下游单据都基于这个数据生成,随意修改会导致数据不一致。
五、生产订单的业务规则
| 编号 | 规则 | 说明 |
|---|
| MO-R001 | 物料必选 | 必须选择已启用的物料 |
| MO-R002 | BOM 版本必选 | 必须选择已审核的 BOM 版本 |
| MO-R003 | 数量为正 | 生产数量必须 > 0 |
| MO-R004 | 日期逻辑 | 完工日期 ≥ 开工日期 ≥ 创建日期 |
| MO-R005 | 审核后锁定 | 已审核状态不可编辑 |
| MO-R006 | 取消后不可逆 | 取消状态不可回退 |
| MO-R007 | 限制删除 | 已有下游单据的订单不可删除 |
| MO-R008 | BOM 展开强制 | 审核前必须执行过 BOM 展开 |
| MO-R009 | 委外供应商 | 委外生产类型需指定委外供应商 |
| MO-R010 | 项目必选 | 生产订单必须选择项目 |
六、异常场景
| 编号 | 场景 | 处理方式 |
|---|
| MO-E001 | 物料无 BOM | 不允许审核,提示先维护 BOM |
| MO-E002 | BOM 循环引用 | 系统检测到循环后终止展开并报错 |
| MO-E003 | BOM 展开后无采购件 | 允许通过,但下游计划步骤无物料可计划 |
| MO-E004 | 修改已生成计划的订单 | 阻止修改,提示先处理生产计划单 |
| MO-E005 | 取消时已生成计划 | 允许取消,系统提示生产计划单同时作废 |
七、小结
生产订单是整条业务链的起点。它的核心职责有两个:
- 下达生产指令:告诉车间要生产什么、生产多少
- 驱动物料需求:通过 BOM 展开计算需要采购哪些物料
理解生产订单,就理解了 ERP 如何把”生产计划”转化为”采购需求”。
下一篇我们继续:生产计划单——生产订单与采购计划之间的桥梁。
这是「ERP 业务知识系列」第 4 篇,系列共 15 篇。