Files
my-mom-system/prd/mom系统生产计划单-页面开发说明文档.md
panchengyong c28ada5050 commit content
2026-03-06 02:02:59 +08:00

93 KiB
Raw Blame History

生产计划单 - 页面设计开发说明文档

版本: 1.5.0
创建日期: 2026-02-06
更新日期: 2026-02-13
来源系统: 升阳云ERP 演示系统表与接口对齐《erp与mom数据库表映射对照表》以对接 MOM API
来源页面: https://demo.rsun.vip/mp/plan/order/working?workType=0&fmConfig=010501,020501
所属模块: 生产计划 > 生产计划单
前端路由: /mp/plan/order/working
关联文档: erp与mom数据库表映射对照表(生产计划模块表与字段映射、与 MOM API 对接时使用);MOM系统数据升级方案-销售采购生产计划MOM 侧 erp_mp_* 镜像表与 pro_workorder 新增字段)


目录

  1. 页面概述
  2. 页面结构
  3. 列表页设计
  4. 新增/编辑页设计
  5. 数据字段定义
  6. 按钮操作说明
  7. 页面交互规则
  8. 接口调用说明
  9. 状态流转
  10. 业务规则
  11. 前端组件设计
  12. 数据模型

1. 页面概述

1.1 功能说明

生产计划单页面用于管理企业的生产计划。生产计划单是连接销售订单与生产执行的核心环节计划员基于销售订单引入产品物料信息关联产品BOM执行BOM运算以展开物料需求并将生产任务下发至各车间。生产计划单是后续物料清单MBOM、采购计划、生产订单的数据来源。

1.2 业务场景

  • 新建计划: 计划员新建生产计划单,通过「引入」按钮选择销售订单/备货订单物料信息关联产品BOM
  • BOM运算: 计划审核后执行BOM计算展开产品物料清单生成物料需求生产件、采购件、委外件
  • BOM补料: 对于不在标准BOM中的物料如定制包装物通过补料方式添加到计划中
  • 下发车间: 将物料清单中的加工件、装配件、委外件下发到对应车间生产
  • 齐套检查: 检查物料清单中物料的库存可用量,判断是否需要采购
  • 采购计划: 针对缺料物料生成采购计划单
  • 审核流程: 计划单创建后需经审核生效审核后方可执行BOM运算和下发操作

1.3 URL路由参数

参数名 类型 说明
workType integer 工作类型0=生产计划单
fmConfig string 表单配置编码010501,020501

1.4 页面截图参考

以下截图均来自项目 screenshot/ 目录(路径相对于项目根目录),用于开发时对照页面与交互。

截图文件 说明
screenshot/生产计划-生产计划单-列表明细视图.png 列表页 - 明细视图(默认视图),侧重订单物料维度
screenshot/生产计划-生产计划单-列表单据视图.png 列表页 - 单据视图,工具栏显示「回明细」切换,侧重单据流程与批量操作
screenshot/生产计划-生产计划单-列表-点击物料名称弹窗.png 列表页 - 点击物料名称/物料清单列弹出的「物料清单」弹窗
screenshot/生产计划-生产计划单-单据详情.png 列表页 - 点击单据编码进入的详情/关联信息(可对应关联单据弹窗或查看页)
screenshot/生产计划-生产计划单-新增初始化页.png 新增页 - 空白表单初始状态
screenshot/生产计划-生产计划单新增-引入业务订单.png 新增/编辑页 - 「引入」打开的「订单信息」选择弹窗(引入业务订单)
screenshot/生产计划-生产计划单新增-订单BOM-选择EBOM单.png 表头「订单BOM」- 「选择」打开的「选择EBOM单」弹窗可展开子件
screenshot/生产计划-生产计划单详情-订单BOM查看弹窗.png 表头「订单BOM」- 「查看」打开的 EBOM 详情弹窗
screenshot/生产计划-生产计划单-BOM运算.png 编辑/查看页 - BOM运算后含物料清单、操作列齐套检查/BOM补料/生产补料)
screenshot/生产计划-生产计划单详情-物料清单点击后弹窗.png 详情页 - 点击物料清单后弹出的物料清单弹窗
screenshot/生产计划-生产计划单详情-物料清单单据编码后打开页面.png 物料清单(MBOM)独立查看页 - 通过单据编码打开的页面,含上一条/下一条、翻单、物料信息表(需求数量、可用量、领用量)

同模块相关截图(可选参考):

截图文件 说明
screenshot/生产计划-物料清单-列表.png 生产计划 - 物料清单(MBOM)列表页
screenshot/生产计划-物料清单-详情.png 生产计划 - 物料清单详情页
screenshot/生产计划-计划执行明细表.png 计划执行明细表
screenshot/生产计划-计划执行汇总表.png 计划执行汇总表
screenshot/生产计划-采购计划单-列表.png 采购计划单列表
screenshot/生产计划-零部件订单-列表.png 零部件订单列表
screenshot/生产计划下发.png 计划下发相关界面

2. 页面结构

2.1 整体布局

┌─────────────────────────────────────────────────────────────────┐
│                     顶部导航栏 (64px)                            │
├────────┬────────────────────────────────────────────────────────┤
│ 左侧   │  面包屑: 首页 / 生产计划 / 生产计划单                    │
│ 菜单   │  ┌────────────────────────────────────────────────┐    │
│ (200px │  │ Tab标签: ● 生产计划单                           │    │
│  /64px)│  ├────────────────────────────────────────────────┤    │
│        │  │ 查询区域 (搜索条件)                              │    │
│ 生产计 │  ├────────────────────────────────────────────────┤    │
│ 划     │  │ 工具栏 (操作按钮 + 快捷筛选标签)                 │    │
│ ├生产  │  ├────────────────────────────────────────────────┤    │
│  计划  │  │ 数据表格                                        │    │
│  单★  │  │                                                │    │
│ ├零部  │  │                                                │    │
│  件订  │  ├────────────────────────────────────────────────┤    │
│  单    │  │ 底部统计 + 分页组件                              │    │
│ ├零部  │  └────────────────────────────────────────────────┘    │
│  件计  │                                                       │
│  划单  │                                                       │
│ ├物料  │                                                       │
│  清单  │                                                       │
│ ├采购  │                                                       │
│  计划  │                                                       │
│  单    │                                                       │
├────────┴────────────────────────────────────────────────────────┤

2.2 页面模式

模式 说明 入口
列表页 - 明细视图 默认视图,以订单物料维度展示计划列表,侧重物料和销售订单信息 菜单点击「生产计划单」
列表页 - 单据视图 以计划单据维度展示列表,侧重单据流程管理 明细视图点击「单据」按钮切换
新增页 新建生产计划单,填写表头+引入订单信息 列表页点击「新增」按钮
编辑页 修改已有计划单(仅开立状态) 单据视图点击「编辑」按钮
查看页 只读查看计划单详情(含物料清单、补料清单) 单据视图点击「查看」按钮

2.3 列表页双视图概述

列表页提供 明细视图单据视图 两种展示模式,通过工具栏左侧第一个按钮相互切换:

┌──────────────────────────────────────────────────────────────┐
│  明细视图(默认)                      单据视图               │
│  ┌─────────────┐                    ┌─────────────┐         │
│  │ [单据] 按钮  │ ──切换到单据视图──► │ [明细] 按钮  │         │
│  │              │ ◄──切换到明细视图── │              │         │
│  └─────────────┘                    └─────────────┘         │
│                                                              │
│  ● 侧重物料信息展示                   ● 侧重单据流程管理       │
│  ● 含销售订单信息                     ● 有复选框,支持批量操作  │
│  ● 无复选框                          ● 操作列: 查看/编辑/删除  │
│  ● 含快捷产品筛选标签                 ● 搜索含单据状态/业务状态  │
│  ● 底部显示计划数量汇总               ● 底部显示计划数量汇总    │
└──────────────────────────────────────────────────────────────┘

两种视图对比总览:

对比项 明细视图(默认) 单据视图
切换按钮 工具栏显示「单据」按钮 工具栏显示「明细」或「回明细」按钮
复选框列
序号列
搜索条件 销售订单号、单据编码、物料编码、物料名称、日期范围 单据编码、单据状态业务状态、日期范围
工具栏按钮 单据、查询所有、新增、导出 明细、查询所有、新增、删除、审核、反审核
快捷筛选 有(产品类别标签,如"胶带""机柜""电脑"
数据列 序号、销售员、销售订单号、订单交期、单据编码、物料名称、物料编码、数量、主计量、物料清单、单据状态、单据日期 单据编码、单据日期、单据状态、业务类型、业务部门、业务人员、业务状态、审核日期、操作
操作列 无(单据编码可点击查看详情) 查看、编辑、删除(按状态显隐)
批量操作 不支持 支持(删除、审核、反审核)
底部统计 计划数量汇总 计划数量汇总
适用场景 计划员查看订单物料和计划进度 管理员进行单据审核管理

3. 列表页设计

3.1 明细视图(默认视图)

明细视图是进入生产计划单页面时的默认视图,侧重于展示计划对应的订单物料信息。

截图参考: screenshot/生产计划-生产计划单-列表明细视图.png

3.1.1 搜索条件区域

序号 字段名 标签 组件类型 宽度 说明
1 salesOrderCode 销售订单号 el-input 160px 模糊搜索
2 planCode 单据编码 el-input 140px 模糊搜索
3 itemCode 物料编码 el-input 140px 模糊搜索
4 itemName 物料名称 el-input 140px 模糊搜索
5 startDate 开始日期 el-date-picker 140px 日期范围起
6 endDate 结束日期 el-date-picker 140px 日期范围止

注意: 明细视图的搜索条件没有「单据状态」和「业务状态」,但多了「销售订单号」和「物料编码」「物料名称」搜索。

3.1.2 工具栏按钮

序号 按钮名称 图标 类型 权限标识 说明
1 单据 - primary mp:plan:list 切换到单据视图
2 查询所有 el-icon-tickets default mp:plan:list 重置搜索条件并查询所有
3 新增 el-icon-plus success mp:plan:add 打开新增计划单页面
4 导出 el-icon-download default mp:plan:export 导出计划列表到Excel

3.1.3 快捷筛选标签

工具栏按钮右侧显示一组产品类别快捷筛选标签(如 "胶带"、"机柜"、"电脑" 等),点击标签可快速按产品类别筛选列表数据。

属性 说明
来源 动态加载,来自系统中已有计划的产品类别
样式 文字标签,可点击,选中高亮
行为 点击标签筛选该类别产品的计划,再次点击取消筛选

3.1.4 数据表格列定义

序号 列标题 字段名 宽度 对齐 说明
1 序号 - 60px center 自动编号(无复选框)
2 销售员 salesUserName 80px center 销售人员姓名
3 销售订单号 salesOrderCode 140px left 关联的销售订单编码
4 订单交期 deliveryDate 100px center 销售订单交货日期
5 单据编码 planCode 140px left 蓝色链接,可点击打开详情
6 物料名称 itemName 200px left 产品物料名称,可能显示为彩色链接
7 物料编码 itemCode 120px left 产品物料编码
8 数量 totalQuantity 120px right 计划生产总数量保留2位小数
9 主计量 unitName 60px center 计量单位(台、个、只等)
10 物料清单 mbomStatus 100px center BOM运算状态显示"BOM运算"/"BOM运算,BOM补料"/空)
11 单据状态 status 80px center 状态标签(开立/审核)
12 单据日期 planDate 100px center 计划单创建日期

注意: 明细视图没有操作列按钮,通过点击「单据编码」列蓝色链接来查看详情。


3.2 单据视图

单据视图侧重于计划单的单据流程管理,支持批量操作(审核、反审核、删除)。

截图参考: screenshot/生产计划-生产计划单-列表单据视图.png

3.2.1 搜索条件区域

序号 字段名 标签 组件类型 宽度 说明
1 planCode 单据编码 el-input 160px 模糊搜索
2 status 单据状态 el-select 120px 下拉选择,可清空
3 businessStatus 业务状态 el-select 120px 下拉选择,可清空
4 startDate 开始日期 el-date-picker 140px 日期范围起
5 endDate 结束日期 el-date-picker 140px 日期范围止

注意: 单据视图没有「销售订单号」「物料编码」「物料名称」,而是有「单据状态」和「业务状态」两个下拉选择。

单据状态选项:

标签 标签颜色
DRAFT 开立 info (灰色)
APPROVED 审核 success (绿色)

业务状态选项:

标签
NORMAL 正常
PAUSE 暂停
CANCEL 取消

3.2.2 工具栏按钮

序号 按钮名称 图标 类型 权限标识 说明
1 明细 - primary mp:plan:list 切换到明细视图
2 查询所有 el-icon-tickets default mp:plan:list 重置搜索条件并查询所有
3 新增 el-icon-plus success mp:plan:add 打开新增计划单页面
4 删除 el-icon-delete danger mp:plan:remove 批量删除选中记录需勾选disabled until selected
5 审核 el-icon-check primary mp:plan:approve 批量审核选中记录需勾选disabled until selected
6 反审核 - default mp:plan:unapprove 批量反审核选中记录需勾选disabled until selected

3.2.3 数据表格列定义

序号 列标题 字段名 宽度 对齐 排序 说明
0 (复选框) - 55px center - 多选列,用于批量操作
1 单据编码 planCode 140px left 可点击打开详情,如 SCJH000105
2 单据日期 planDate 120px center 是 ▼ 默认降序排列
3 单据状态 status 80px center 状态标签(颜色区分)
4 业务类型 businessType 100px center 如:生产计划
5 业务部门 deptName 100px center
6 业务人员 operatorName 100px center
7 业务状态 businessStatus 80px center 正常/暂停/取消
8 审核日期 approveDate 120px center 仅审核后显示
9 操作 - 160px center - 操作按钮组(查看/编辑/删除)

3.2.4 单据视图操作列按钮

单据视图操作列按钮,所有状态统一显示:

按钮 颜色 权限 说明
查看 success (绿色文字) mp:plan:query 打开查看页(只读)
编辑 primary (蓝色文字) mp:plan:edit 打开编辑页(仅开立状态可编辑,已审核状态可查看并反审核后编辑)
删除 danger (红色文字) mp:plan:remove 二次确认后删除(仅开立状态可删除)

注意: 所有状态的计划单都显示「查看」「编辑」「删除」三个按钮,但已审核状态的编辑实际以查看模式打开,删除操作会被拦截提示。


3.3 底部统计区域(两种视图通用)

组件 位置 说明
计划数量统计 底部左侧 显示 "计划数量:{totalQty}",汇总当前查询结果的总计划数量

3.4 分页组件(两种视图通用)

属性 说明
默认每页条数 100 可选: 10, 20, 50, 100
布局 total, sizes, prev, pager, next, jumper 完整分页
总条数显示 共 {total} 条 右侧显示

4. 新增/编辑页设计

4.1 页面布局

新增/编辑页面为独立的全屏页面(非弹窗),包含表头表单区和三个子表区。

截图参考: 新增初始页 screenshot/生产计划-生产计划单-新增初始化页.pngBOM运算后 screenshot/生产计划-生产计划单-BOM运算.png

┌──────────────────────────────────────────────────────────────┐
│ 生产计划单                            [保存][取消][审核][反审核][收起] │
├──────────────────────────────────────────────────────────────┤
│ 表头表单区 (4列布局可折叠)                                     │
│ ┌──────────┬──────────┬──────────┬──────────┐               │
│ │ 单据编码  │ 业务类型  │ 业务人员  │ 订单BOM   │               │
│ │ 单据日期  │ 操作员    │ 业务单号  │ 版本号    │               │
│ │ 单据状态  │ 审核员    │ 订单交期  │ 版本说明  │               │
│ │ 业务状态  │ 审核日期  │ 备注      │ 生产总量  │               │
│ └──────────┴──────────┴──────────┴──────────┘               │
├──────────────────────────────────────────────────────────────┤
│ 订单信息                                          [+ 引入]    │
│ ┌────┬────────┬──────┬────┬──────┬──────┬──┬──┐             │
│ │序号│物料编码 │物料名│主计│数量  │质量要│备│操│             │
│ │    │        │称    │量  │      │求    │注│作│             │
│ ├────┼────────┼──────┼────┼──────┼──────┼──┼──┤             │
│ │ 1  │0102..  │简易..│台  │100   │      │  │删│             │
│ └────┴────────┴──────┴────┴──────┴──────┴──┴──┘             │
├──────────────────────────────────────────────────────────────┤
│ 物料清单                                                     │
│ ┌──┬──────┬────┬────┬──┬──────┬──────┬──┬────┬────┬────┬──┐ │
│ │序│单据编│单据│业务│状│物料编│物料名│主│供应│生产│下发│操│ │
│ │号│码    │状态│类型│态│码    │称    │量│方式│数量│车间│作│ │
│ └──┴──────┴────┴────┴──┴──────┴──────┴──┴────┴────┴────┴──┘ │
├──────────────────────────────────────────────────────────────┤
│ 补料清单                                                     │
│ ┌──┬──────┬────┬────┬──┬──────┬──────┬──┬────┬────┬────┬──┬─┐│
│ │序│单据编│单据│业务│状│物料编│物料名│主│供应│生产│补料│补│备││
│ │号│码    │状态│类型│态│码    │称    │量│方式│数量│事由│料│注││
│ │  │      │    │    │  │      │      │  │    │    │    │日│  ││
│ └──┴──────┴────┴────┴──┴──────┴──────┴──┴────┴────┴────┴──┴─┘│
└──────────────────────────────────────────────────────────────┘

4.2 表头表单字段

表头采用4列栅格布局el-col :span="6"每行4个字段。

序号 字段名 标签 组件类型 必填 默认值 可编辑 说明
1 planCode 单据编码 el-input 自动生成 否(只读) 格式: SCJH000XXX后端自动生成
2 businessType 业务类型 el-select 生产计划 否(只读) 固定为"生产计划"
3 salesUserName 业务人员 el-input - 否(只读) 引入订单后自动填充销售人员
4 bomId 订单BOM el-input + 选择按钮 - 点击「选择」弹窗选择产品BOM版本
5 planDate 单据日期 el-date-picker 当天日期 日期选择器
6 operatorName 操作员 el-input 当前登录用户 否(只读) 自动填充当前登录用户名
7 salesOrderCode 业务单号 el-input - 否(只读) 引入订单后自动填充销售订单号
8 bomVersion 版本号 el-input - 否(只读) 选择BOM后自动带入版本号
9 status 单据状态 el-tag - 开立 否(只读) 标签显示,开立=info(灰)
10 approverName 审核员 el-input - 否(只读) 审核时自动填充
11 deliveryDate 订单交期 el-date-picker - 否(只读) 引入订单后自动填充交货日期
12 versionDesc 版本说明 el-input - 否(只读) 选择BOM后自动带入
13 businessStatus 业务状态 el-select 正常 下拉选择
14 approveDate 审核日期 el-date-picker - 否(只读) 审核时自动填充
15 remark 备注 el-input(textarea) - 多行文本最多500字
16 totalQuantity 生产总量 el-input 0.00 否(只读) 自动计算,订单信息数量合计

业务状态选项:

标签
NORMAL 正常
PAUSE 暂停
CANCEL 取消

4.3 订单信息子表

订单信息子表位于表头下方,标题为「订单信息」。通过「引入」按钮从销售订单引入产品物料。

序号 列标题 字段名 宽度 组件类型 必填 说明
1 序号 lineNo 60px 自动编号 - 行序号,自动递增
2 物料编码 itemCode 150px el-input 只读,引入订单后自动填充
3 物料名称 itemName 200px el-input - 只读,引入订单后自动填充
4 主计量 unitName 80px el-input - 只读,引入订单后自动填充
5 数量 quantity 120px el-input-number 可修改,引入后默认为订单数量
6 质量要求 qualityReq 150px el-input 文本输入,质量要求描述
7 备注 remark 120px el-input 行备注
8 操作 - 80px el-button - 删除按钮

4.4 物料清单子表

物料清单子表显示BOM运算后的展开结果标题为「物料清单」。该表数据由后端BOM运算自动生成。查看模式(已审核计划)下,物料清单的部分列可编辑(供应方式、下发车间、下发日期、下发开关),用于计划员在审核后灵活调整物料的供应与下发信息。

序号 列标题 字段名 宽度 组件类型 可编辑 说明
1 序号 - 60px 自动编号 自动编号
2 单据编码 mbomCode 140px 文本 物料清单单据编码, 可点击,点击后打开查看物料清单页
3 单据状态 mbomStatus 80px 标签 物料清单状态
4 业务类型 businessType 100px 文本 如:生产计划
5 状态 issueStatus 80px el-switch 下发开关ON=下发、OFF=撤销下发;已下发行切换为OFF时需二次确认
6 物料编码 itemCode 140px 文本 物料编码
7 物料名称 itemName 200px 文本 物料名称
8 主计量 unitName 80px 文本 计量单位
9 供应方式 supplyType 100px el-select 生产/加工/装配/委外/采购;未下发状态均可修改,修改后提示「修改成功」 已下发状态不可修改,提示"物料清单已经下发"
10 生产数量 productionQty 120px 文本 需要生产/采购的数量
11 下发车间 workshopName 120px el-select 条件 下发目标车间;已下发(ISSUED)状态下禁用编辑,提示「已下发状态下无法修改生产车间」
12 下发日期 issueDate 120px el-date-picker 条件 下发日期;已下发(ISSUED)状态下禁用编辑,提示「已下发状态下无法修改生产日期」
13 操作 - 100px 按钮组 - √ 齐套检查(检查该行物料库存齐套)、BOM补料打开BOM补料弹窗生产补料打开生产补料弹窗审核且BOM运算后显示

编辑条件说明: 物料清单在计划状态为「审核(APPROVED)」且已完成BOM运算即 mbomList 非空)时允许编辑,包括查看模式下。已下发(ISSUED)状态的行,仅「供应方式」和「下发开关(撤销下发)」可操作,「下发车间」和「下发日期」禁用。

4.5 补料清单子表

补料清单子表用于BOM计算后的物料补充标题为「补料清单」。

序号 列标题 字段名 宽度 说明
1 序号 - 60px 自动编号
2 单据编码 supCode 140px 补料单据编码
3 单据状态 supStatus 80px 补料清单状态
4 业务类型 businessType 100px 业务类型
5 状态 issueStatus 80px 状态
6 物料编码 itemCode 140px 物料编码
7 物料名称 itemName 200px 物料名称
8 主计量 unitName 80px 计量单位
9 供应方式 supplyType 100px 供应方式
10 生产数量 productionQty 120px 生产数量
11 补料事由 supReason 150px 补料原因说明
12 补料日期 supDate 120px 补料日期
13 备注 remark 120px 备注

4.6 引入订单弹窗

点击订单信息区域的「引入」按钮,打开销售订单选择弹窗(目标系统中弹窗标题为「订单信息」)。

截图参考: screenshot/生产计划-生产计划单新增-引入业务订单.png

属性
弹窗标题 选择销售订单 / 订单信息(目标系统)
弹窗宽度 1000px
弹窗高度 自适应最大70vh
关闭方式 右上角 X 按钮、取消按钮
选择模式 可勾选多条订单或多条订单明细行(多选)

弹窗搜索区:

组件 说明
销售单号/订单编码 模糊搜索销售订单编码
物料编码 可选,模糊搜索物料
物料名称 模糊搜索物料名称
开始日期、结束日期 可选,日期范围筛选
搜索按钮 primary类型执行搜索
查询所有按钮 清空条件并刷新列表(目标系统)

弹窗列表结构(目标系统为层级表格):

  • 父行(订单头):业务人员、业务单号、订单交期、交期状态、业务类型、备注;左侧可展开/收起箭头。
  • 子行(订单明细,展开后显示):物料编码、物料名称、主计量、数量、包装件数、备注等。
  • 选择可在父行勾选(整单引入)或子行勾选(按明细行引入),依产品实现。底部「确定」将所选内容合并引入到表单「订单信息」子表。

弹窗列表表格列(平铺模式时):

序号 列标题 字段名 宽度 说明
0 (复选框) - 55px 多选列
1 订单编码 orderCode 140px 销售订单编码
2 物料编码 itemCode 140px
3 物料名称 itemName 200px
4 型号规格 specification 150px
5 主计量 unitName 80px 计量单位
6 订单数量 orderQty 100px
7 已计划数量 plannedQty 100px 已被其他计划引用的数量
8 可用数量 availableQty 100px 订单数量 - 已计划数量
9 交货日期 deliveryDate 120px

引入交互:

  • 勾选一条或多条订单明细行,点击「确定」按钮
  • 引入后自动填充订单信息子表:物料编码、物料名称、主计量、数量
  • 同时自动填充表头:业务人员(销售人员)、业务单号(销售订单号)、订单交期
  • 引入后数量可修改,支持分批次计划

4.7 选择BOM弹窗选择EBOM单

点击表头「订单BOM」旁的「选择」按钮打开BOM选择弹窗目标系统中弹窗标题为「选择EBOM单」

截图参考: screenshot/生产计划-生产计划单新增-订单BOM-选择EBOM单.png

属性
弹窗标题 选择产品BOM / 选择EBOM单目标系统
弹窗宽度 建议 1000px最大高度 70vh
选择模式 单选每行复选框选一条EBOM
数据范围 仅显示引入产品对应的已审核EBOM同一产品可有多个BOM版本

主表列(目标系统): EBOM单号、物料编码、物料名称、母件基数、版本号、版本说明、图纸号、单据日期、复选框。

行展开(目标系统): 主行可展开显示该EBOM的子件明细物料编码、物料名称、主计量、领料方式、分子、固定用量、备注。便于选择前查看BOM结构。

分页: 共 N 条、100条/页、上一页/下一页、前往 N 页;底部「确定」「取消」。

选择交互:

  • 勾选一条EBOM后点击「确定」弹窗关闭自动填充表头「订单BOM」EBOM单号或显示名、「版本号」、「版本说明」
  • 如产品仅有一个BOM版本可自动带入无需手动选择

5. 数据字段定义

5.1 生产计划单表头字段erp_mp_plan

字段定义以 《erp数据库设计-数据字典》erp数据库设计-DDL.sql 为准API 路径见数据字典 8.1/mp/plan/order

字段名 数据库字段 类型 长度 必填 默认值 说明
计划ID plan_id bigint - AUTO 主键,自增
租户ID tenant_id varchar 20 - 多租户隔离
计划编码 plan_code varchar 32 自动生成 格式: SCJH + 6位流水号
计划日期 plan_date date - 当天 单据创建日期
单据状态 status varchar 20 DRAFT 开立/审核
业务状态 business_status varchar 20 NORMAL 正常/暂停/取消
业务类型 business_type varchar 20 NULL 业务类型,如生产计划
工作类型 work_type int - 0 0=生产计划单/1=零部件计划/2=零部件订单
销售订单ID sales_order_id bigint - - 外键 → erp_sl_order
销售订单编码 sales_order_code varchar 32 - 冗余
销售员ID sales_user_id bigint - - 销售员ID
销售员名称 sales_user_name varchar 50 - 冗余
交货日期 delivery_date date - - 订单交货日期
BOM ID bom_id bigint - - 外键 → erp_md_bom
BOM版本 bom_version varchar 20 - BOM版本号
BOM说明 bom_desc varchar 200 - BOM版本说明
生产总量 total_quantity decimal 18,4 0 订单物料数量合计
备注 remark varchar 500 -
操作员ID operator_id bigint - - 操作员ID
操作员名称 operator_name varchar 50 - 操作员名称
审核员ID approver_id bigint - - 审核员ID
审核员名称 approver_name varchar 50 - 审核员名称
审核日期 approve_date datetime - - 审核日期
删除标志 del_flag char 1 0 0存在/1删除
创建者 create_by varchar 64 -
创建时间 create_time datetime - -
更新者 update_by varchar 64 -
更新时间 update_time datetime - -

5.2 生产计划明细字段erp_mp_plan_line

erp数据库设计-DDL.sqlerp_mp_plan_line 一致。供应方式在物料清单erp_mp_mbom中维护计划明细行无 supply_type。

字段名 数据库字段 类型 长度 必填 默认值 说明
明细ID line_id bigint - AUTO 主键,自增
计划ID plan_id bigint - - 外键 → erp_mp_plan.plan_id
计划单编码 plan_code varchar 32 - 冗余
行号 line_no int - - 行序号
销售订单明细ID sales_line_id bigint - - 外键 → erp_sl_order_line.line_id
跟单编号 track_code varchar 32 - 跟单编号
物料ID item_id bigint - - 外键 → erp_md_item.item_id
物料编码 item_code varchar 32 - 冗余
物料名称 item_name varchar 100 - 冗余
规格型号 specification varchar 200 -
计量单位ID unit_id bigint - - 外键 → 计量单位
计量单位 unit_name varchar 20 - 冗余
数量 quantity decimal 18,4 0 计划生产数量
质量要求 quality_req varchar 200 - 质量要求描述
备注 remark varchar 200 -
删除标志 del_flag char 1 0 0存在/1删除
租户ID tenant_id varchar 20 -

5.3 物料清单字段erp_mp_mbom / erp_mp_mbom_line

物料清单由 BOM 运算自动生成。erp_mp_mbom 表头字段见《erp数据库设计-数据字典》8.2API 路径 /mp/plan/mbom),含 mbom_id、plan_id、plan_code、item_id、supply_type、quantity生产数量、issue_status、workshop_id 等。erp_mp_mbom_line 主键为 line_id,含 mbom_id、mbom_code、line_no、parent_item_id、bom_level、item_id、quantity、base_qty、loss_rate、supply_type 等(见 erp数据库设计-DDL.sql。与 MOM 表映射见 《erp与mom数据库表映射对照表》 第 7 节erp_mp_mbom/erp_mp_mbom_line → MOM 镜像表及 pro_workorder/pro_workorder_bom

5.4 与MOM系统表映射关系对接MOM API时使用

生产计划单页面主数据与业务接口以 ERP 表为准erp_mp_plan、erp_mp_plan_line、erp_mp_mbom、erp_mp_mbom_line。根据 《erp与mom数据库表映射对照表》《MOM系统数据升级方案-销售采购生产计划》

  • MOM 升级后MOM 侧存在与 ERP 同名的 镜像表erp_mp_plan、erp_mp_plan_line、erp_mp_mbom、erp_mp_mbom_line计划审核后可 1:1 同步到 MOM 镜像表(主键一致)。
  • 下发车间:由后端按供应方式将 erp_mp_plan/erp_mp_mbom 拆解写入 MOM 业务表 pro_workorder、pro_workorder_bompro_workorder 新增 plan_id、plan_code、bom_version、delivery_date、mbom_id、mbom_code 等字段(见升级方案)。

完整字段与值转换见 《erp与mom数据库表映射对照表》 第 2.5 节、第 7 节。

ERP表名 MOM 镜像表1:1 MOM 业务表(下发时) 说明
erp_mp_plan erp_mp_plan pro_workorder 计划单→镜像表;下发时 plan_code→source_code并写入 plan_id、plan_code 等
erp_mp_plan_line erp_mp_plan_line pro_workorder_bom 计划明细→镜像表;下发时 item_id→product_id、quantity 等
erp_mp_mbom erp_mp_mbom pro_workorder拆解 物料清单→镜像表;下发时按供应方式拆解为多个工单
erp_mp_mbom_line erp_mp_mbom_line pro_workorder_bom 物料清单明细→镜像表下发时写入工单BOM

关键字段对接ERP → pro_workorder下发时

ERP 表.字段 MOM 表.字段 说明
erp_mp_plan.plan_code pro_workorder.source_code 计划编码作为来源单据编码
erp_mp_plan.status pro_workorder.status 状态值需转换DRAFT→PREPARE, APPROVED→CONFIRMED, CLOSED→FINISHED
erp_mp_plan.work_type pro_workorder.workorder_type 0→SELF, 1→SELF, 2→OUTSOURCE
erp_mp_plan.delivery_date pro_workorder.request_date 订单交期→需求日期
erp_mp_plan.total_quantity pro_workorder.quantity 生产总量→生产数量
erp_mp_plan_line.item_id pro_workorder.product_id 产品物料ID
erp_mp_plan_line.quantity pro_workorder.quantity 计划数量
erp_mp_mbom.supply_type pro_workorder.workorder_type 供应方式→工单类型(生产/加工/装配→SELF委外→OUTSOURCE采购→不建工单
erp_mp_mbom_line.* pro_workorder_bom.* 明细字段见《erp与mom数据库表映射对照表》7.3 节ERP 主键为 line_id

6. 按钮操作说明

6.1 明细视图工具栏按钮

6.1.1 「单据」按钮(视图切换)

项目 说明
触发条件 始终可用
操作 切换到单据视图,重新加载列表数据
权限 mp:plan:list
效果 搜索区域、工具栏、表格列全部切换为单据视图样式

6.1.2 查询所有按钮

项目 说明
触发条件 始终可用
操作 清空所有搜索条件包括快捷筛选标签选择重新加载列表pageNum=1
权限 mp:plan:list

6.1.3 新增按钮

项目 说明
触发条件 始终可用
操作 路由跳转到新增生产计划单页面
权限 mp:plan:add
路由 /mp/plan/orderadd?open=addStatus&workType=0&fmConfig=010501,020501

6.1.4 导出按钮

项目 说明
触发条件 始终可用
操作 按当前搜索条件导出计划列表到Excel
权限 mp:plan:export

6.2 单据视图工具栏按钮

6.2.1 「明细」按钮(视图切换)

项目 说明
触发条件 始终可用
操作 切换到明细视图,重新加载列表数据
权限 mp:plan:list

6.2.2 删除按钮(批量)

项目 说明
触发条件 勾选一条或多条记录否则disabled
前置校验 仅开立(DRAFT)状态允许删除;已审核状态记录跳过并提示
操作 弹出确认框:"确认删除选中的{n}条计划记录?",确认后调用删除接口
权限 mp:plan:remove

6.2.3 审核按钮(批量)

项目 说明
触发条件 勾选一条或多条记录否则disabled
前置校验 仅开立(DRAFT)状态允许审核需要至少有1条订单明细
操作 弹出确认框,确认后批量审核
权限 mp:plan:approve
结果 status → APPROVED自动记录审核员和审核日期

6.2.4 反审核按钮(批量)

项目 说明
触发条件 勾选一条或多条记录否则disabled
前置校验 仅审核(APPROVED)状态允许反审核需检查是否已执行BOM运算或下发
操作 弹出确认框,确认后批量反审核
权限 mp:plan:unapprove
结果 status → DRAFT清空审核员和审核日期

6.3 新增/编辑页按钮

6.3.1 保存按钮

项目 说明
位置 页面右上角
颜色 primary (蓝色)
触发条件 表单校验通过
操作 保存计划表头和订单信息数据
成功提示 "保存成功"
失败提示 显示后端返回的错误信息

6.3.2 取消按钮

项目 说明
位置 保存按钮右侧
颜色 default (灰色)
操作 如有未保存修改,弹出确认框"有未保存的数据,确认离开?";返回列表页

6.3.3 审核按钮

项目 说明
位置 取消按钮右侧
颜色 success (绿色)
显示条件 仅在编辑模式且 status = DRAFT 时启用新增页disabled
前置条件 需先保存至少有1条订单明细
操作 调用审核接口,成功后页面变为只读

6.3.4 反审核按钮

项目 说明
位置 审核按钮右侧
颜色 warning (橙色)
显示条件 仅在查看模式且 status = APPROVED 时启用
前置条件 该计划未执行BOM运算或所有物料清单未下发
操作 调用反审核接口,成功后页面变为可编辑

6.3.5 收起/展开按钮

项目 说明
位置 页面右上角最右侧
操作 折叠/展开表头表单区域,仅显示子表明细

6.3.6 引入按钮(订单信息子表)

项目 说明
位置 订单信息区域右上角
颜色 primary (蓝色)
操作 打开销售订单选择弹窗,引入订单物料行
显示条件 仅编辑状态显示

6.3.7 BOM运算按钮审核后显示

项目 说明
位置 物料清单区域上方
显示条件 仅计划已审核(APPROVED)且已选择BOM时显示
操作 调用BOM运算接口后端展开产品BOM生成物料清单
重新运算 当物料清单已有数据mbomList非空点击BOM运算弹出确认对话框「确认是否重新执行物料计算?」(type: warning);用户确认后方调用接口,后端自动删除未下发的MBOM记录后重新生成,避免重复数据;已下发(ISSUED)的MBOM保留不受影响
结果 物料清单子表填充数据,显示所有需要的物料(按供应方式分类)

6.3.8 BOM补料按钮

项目 说明
位置 物料清单区域
显示条件 仅BOM运算完成后显示
操作 打开补料弹窗,选择额外物料添加到补料清单

6.3.9 订单BOM「查看」按钮查看/已审核时)

项目 说明
位置 表头「订单BOM」字段右侧当已选择BOM后显示
颜色 primary蓝色文字链接
显示条件 查看页或编辑/新增页已填写订单BOM时显示
操作 打开「EBOM详情」弹窗展示 EBOM单号、业务类型、物料编码/名称、属性母件基数、图纸号、版本号、版本说明及BOM组件表只读

6.3.10 订单信息「BOM计算」「物料清单」按钮审核后

项目 说明
位置 订单信息区域右上角(计划已审核后与「引入」的显示逻辑可二选一或并存)
BOM计算 蓝色按钮点击调用BOM运算接口刷新物料清单、补料清单子表
物料清单 绿色按钮,可打开销售订单中产品的物料清单列表 列表标题:「生产计划单号-产品物料编码-产品名称-计划生产总数量」- 物料清单, 列表显示字段:序号 物料编码 物料名称 主计量单位 需求量 可用量 领用量 供应方式

6.3.11 物料清单子表操作列(齐套检查 / BOM补料 / 生产补料)

项目 说明
位置 物料清单子表每行「操作」列
显示条件 计划已审核且已执行BOM运算后
齐套检查 链接「√ 齐套检查」:检查该行物料库存,弹窗或行内展示序号 物料编码 物料名称 主计量单位 需求量 可用量 缺少量 计划采购 采购订单 采购到货 入库数量 供应方式
BOM补料 链接「BOM补料」打开BOM补料弹窗提交后写入补料清单
生产补料 链接「生产补料」:打开生产补料弹窗,提交后写入补料清单

6.3.12 记录导航「上一条」「下一条」

项目 说明
位置 表头区域右侧或订单信息区块上方
显示条件 查看/编辑单条计划且存在多条计划记录时
操作 上一条:加载上一条计划详情并刷新表单;下一条:加载下一条计划详情并刷新表单

6.3.13 查看页顶部工具栏(新增/编辑/审核/反审核/打印/操作/收起)

项目 说明
适用 查看生产计划单页面
按钮 新增、编辑、审核、反审核、打印、操作(下拉)、收起;与新增/编辑页差异:无「保存」「取消」,有「新增」「编辑」「打印」「操作」
编辑 点击后跳转编辑页或当前页切换为编辑模式
操作下拉 可包含打印、导出、复制等,依产品定义

6.3.14 物料清单下发开关(下发/撤销下发)

项目 说明
位置 物料清单子表每行「状态」列el-switch 组件)
显示条件 计划已审核(APPROVED)且已完成BOM运算
下发ON 开关从 OFF 切换到 ON 时执行下发操作;前置校验:必须已选择下发车间,否则提示「请先选择下发车间」并回退开关状态;校验通过后调用下发接口 PUT /mp/plan/issue/{mbomId}
撤销下发OFF 开关从 ON 切换到 OFF 时弹出确认对话框:「撤销下发」(type: warning);用户确认后调用撤销下发接口 PUT /erp/mp/mbom/revoke-issue/{mbomId};撤销后 issueStatus 清空,但保留下发车间和下发日期信息以便调整后重新下发;撤销成功后自动刷新计划数据
取消确认 用户点击取消时,开关回退到之前的状态,不执行任何操作

6.3.15 物料清单供应方式修改

项目 说明
位置 物料清单子表每行「供应方式」列el-select 组件)
显示条件 计划已审核(APPROVED)且已完成BOM运算
可编辑范围 未下发状态下可修改供应方式
操作 选择新的供应方式后调用更新接口,成功后提示「修改成功」
选项 生产(PRODUCTION)、加工(MACHINING)、装配(ASSEMBLY)、委外(OUTSOURCE)、采购(PURCHASE)
转委外按钮 供应方式旁可能存在「转委外」快捷按钮,点击直接将供应方式改为委外

7. 页面交互规则

7.1 列表页通用交互

序号 交互场景 交互规则
1 页面首次加载 默认以明细视图加载第1页数据按单据日期降序排列
2 搜索操作 点击搜索按钮重置pageNum=1保持当前pageSize不变
3 单据编码点击 点击单据编码列蓝色链接:可弹窗展示关联单据物料清单MBOM、采购计划单等或路由跳转查看页弹窗标题为「{单据编码} - {产品/物料名称}」
4 状态标签 用el-tag组件渲染开立=info(灰), 审核=success(绿)
5 空数据状态 列表无数据时显示空状态图标和"暂无数据"文字
6 视图切换 切换视图时保留搜索条件中的公共字段(单据编码、日期范围),清空视图特有字段
7 底部汇总 两种视图均显示"计划数量:{total}"汇总

7.2 明细视图特有交互

序号 交互场景 交互规则
1 快捷筛选标签 点击产品类别标签,按该类别筛选;再次点击取消筛选
2 无批量操作 明细视图无复选框,不支持批量选择和批量操作
3 物料名称/物料清单点击 点击物料名称物料清单列,打开「物料清单」弹窗:标题为「{计划编码} {物料编码} {物料名称} {数量} - 物料清单」,表格列:序号、物料编码、物料名称、主计量、需求量、可用量、领用量、供应方式;可用量为负表示缺料;弹窗只读,仅有关闭按钮
4 物料清单列 显示BOM运算状态文字"BOM运算""BOM运算,BOM补料""生产补料"或空)

7.3 单据视图特有交互

序号 交互场景 交互规则
1 批量选择 复选框勾选多条记录后,批量操作按钮(删除/审核/反审核启用未勾选时置灰disabled
2 操作列 所有状态显示查看+编辑+删除三个按钮,但已审核状态的删除操作会被后端拦截
3 单条删除 点击行操作列「删除」→ 确认弹窗 → 调用删除接口 → 刷新列表
4 批量删除 勾选记录 → 点击工具栏「删除」→ 校验状态 → 确认弹窗 → 调用删除接口
5 批量审核 勾选记录 → 点击工具栏「审核」→ 校验状态和明细 → 确认弹窗 → 调用审核接口
6 批量反审核 勾选记录 → 点击工具栏「反审核」→ 校验状态和下游引用 → 确认弹窗 → 调用反审核接口

7.4 新增/编辑页交互

序号 交互场景 交互规则
1 页面加载(新增) 自动填充:单据编码(调接口获取)、单据日期(当天)、操作员(当前用户)、业务类型(生产计划)、业务状态(正常)、生产总量(0.00)
2 页面加载(编辑) 调用详情接口加载计划表头、订单信息、物料清单、补料清单数据
3 引入订单 点击「引入」按钮 → 打开订单选择弹窗 → 勾选订单明细行 → 确认引入 → 自动填充订单信息子表和表头关联字段
4 引入后修改数量 引入的订单物料数量可以修改支持分批次计划如订单100台本次计划50台
5 选择BOM 引入订单后点击「订单BOM」的「选择」按钮 → 弹窗显示该产品的所有审核BOM版本 → 选择一个BOM → 自动填充版本号和版本说明
6 保存操作 前端表单校验 → 校验通过调用保存接口 → 成功提示 → 页面变为编辑模式
7 审核操作 需先保存 → 确认弹窗 → 调用审核接口 → 成功后页面变只读出现BOM运算按钮
8 BOM运算 审核后点击BOM运算 → 后端展开BOM → 物料清单子表填充数据 → 可进行下发、齐套检查
8a BOM重新运算 当物料清单已有数据时点击BOM运算 → 弹出确认框「确认是否重新执行物料计算?」(warning) → 确认后调用接口 → 后端删除MBOM后重新生成 → 刷新物料清单
9 反审核操作 确认弹窗 → 调用反审核接口 → 成功后页面变可编辑(需检查无下游引用)
10 表头折叠 点击「收起」→ 表头表单区域收起,仅显示子表明细;点击「展开」→ 恢复
11 离开页面 有未保存修改时,触发 beforeRouteLeave 提示确认
12 生产总量自动计算 订单信息中物料数量的合计值自动更新到表头「生产总量」字段
13 查看模式物料清单编辑 计划已审核(APPROVED)且已完成BOM运算后即使在查看模式下物料清单子表的供应方式、下发车间、下发日期、下发开关仍可编辑操作
14 撤销下发 物料清单行已下发(ISSUED)状态时切换下发开关为OFF → 弹出确认框「撤销下发」(warning) → 确认后调用撤销下发接口 → issueStatus 清空,保留车间和日期 → 刷新计划数据
15 已下发行编辑限制 已下发(ISSUED)状态的物料清单行「下发车间」下拉框禁用disabled尝试修改提示「下发状态下无法修改生产车间」「下发日期」日期选择器禁用disabled尝试修改提示「下发状态下无法修改生产日期」
16 供应方式修改 物料清单行的供应方式在未下发状态下可修改,修改后调用更新接口,成功提示「修改成功」

7.5 表单校验规则

表头校验

字段 规则 提示信息
planCode 必填 单据编码不能为空
planDate 必填 单据日期不能为空
businessStatus 必填 业务状态不能为空

订单信息校验

字段 规则 提示信息
itemCode 必填 请引入订单物料
quantity 必填min=0.01 数量必须大于0

业务校验

规则 说明
至少一行订单明细 保存时至少要有一条订单物料行
审核前需保存 审核操作前需先保存当前数据
BOM运算前需审核 BOM运算只能在审核后执行
BOM运算前需选择BOM 必须先选择产品BOM后才能执行BOM运算

7.6 弹窗与对话框交互(用户操作与弹窗对应关系)

以下为根据目标ERP系统采集的按钮/链接点击后弹窗交互说明,便于前端实现与设计对齐。

7.6.1 列表页 - 点击「单据编码」→ 关联单据弹窗

截图参考: screenshot/生产计划-生产计划单-单据详情.png(点击单据编码后详情/关联信息)

项目 说明
触发 列表页(明细视图或单据视图)点击表格中「单据编码」蓝色链接
弹窗标题 「{单据编码} - {产品/物料名称}」SCJH000084 - 组装电脑
弹窗宽度 建议 900px1000px
内容 表格展示关联单据(该计划单下游生成的单据)
表格列 序号、单据编码、单据类型、单据日期、单据状态、业务类型、业务状态
数据示例 物料清单(MBOM)、采购计划单(CGJH) 等
操作 仅右上角关闭按钮;无确定/取消,只读浏览

7.6.2 列表页 - 点击「物料名称」/「物料清单」→ 物料清单明细弹窗

截图参考: screenshot/生产计划-生产计划单-列表-点击物料名称弹窗.png

项目 说明
触发 明细视图表格中点击「物料名称」或「物料清单」列(某一行)
弹窗标题 「{计划编码} {物料编码} {物料名称} {数量} - 物料清单」SCJH000106 0102000001 简易机 1 - 物料清单
弹窗宽度 建议 1000px
内容 该计划行对应的 BOM 展开明细(需求量、可用量、领用量)
表格列 序号、物料编码、物料名称、主计量、需求量、可用量、领用量、供应方式
业务说明 可用量为负表示缺料,需采购或补料
操作 仅右上角关闭按钮;只读,无编辑与确定/取消

7.6.3 表单页 - 订单信息「引入」→ 订单信息选择弹窗

截图参考: screenshot/生产计划-生产计划单新增-引入业务订单.png

项目 说明
触发 新增/编辑页「订单信息」区域点击「引入」按钮
弹窗标题 「订单信息」
弹窗宽度 建议 1000px高度最大 70vh
搜索区 销售单号、物料编码、物料名称、开始日期、结束日期;按钮「搜索」「查询所有」
列表结构 层级表格:父行=销售订单(业务人员、业务单号、订单交期、交期状态、业务类型、备注),可展开;子行=订单明细(物料编码、物料名称、主计量、数量、包装件数、备注)
选择方式 可勾选多条订单多条订单明细行(复选框在父行或子行,依产品实现);支持多选后一次引入
底部 分页(共 N 条、100条/页、上一页/下一页、前往 N 页)、「确定」「取消」
确定后 将所选订单明细合并写入表单「订单信息」子表,并填充表头:业务人员、业务单号、订单交期(取第一个选中订单或合并规则)

7.6.4 表单页 - 订单BOM「选择」→ 选择EBOM单弹窗

截图参考: screenshot/生产计划-生产计划单新增-订单BOM-选择EBOM单.png

项目 说明
触发 新增/编辑页表头「订单BOM」旁点击「选择」按钮
弹窗标题 「选择EBOM单」
弹窗宽度 建议 1000px高度最大 70vh
列表列 EBOM单号、物料编码、物料名称、母件基数、版本号、版本说明、图纸号、单据日期、复选框单选
行展开 主行可展开查看该 EBOM 的子件明细(物料编码、物料名称、主计量、领料方式、分子、固定用量、备注)
分页 共 N 条、100条/页、上一页/下一页、前往 N 页
底部按钮 「确定」「取消」
确定后 将选中 EBOM 的 EBOM单号/显示名、版本号、版本说明回填到表头「订单BOM」「版本号」「版本说明」

7.6.5 表单页 - 订单BOM「查看」→ EBOM详情弹窗

截图参考: screenshot/生产计划-生产计划单详情-订单BOM查看弹窗.png

项目 说明
触发 查看/编辑页表头「订单BOM」已填写时显示「查看」按钮点击打开
弹窗标题 「{EBOM单号}-{业务类型}」EBOM000781-机械BOM
弹窗宽度 建议 900px
内容结构 EBOM信息EBOM单号、业务类型、物料编码、物料名称属性:母件基数、图纸号、版本号、版本说明;BOM组件表:序号、物料编码、物料名称、主计量、用料方式、分子、固定用量(可为开关)
操作 只读查看,仅关闭按钮;若存在固定用量等可操作项,按产品定义为仅查看或可编辑

7.6.6 表单页 - 订单信息「BOM计算」「物料清单」按钮审核后

物料清单弹窗截图: screenshot/生产计划-生产计划单详情-物料清单点击后弹窗.png;独立页截图: screenshot/生产计划-生产计划单详情-物料清单单据编码后打开页面.png

项目 说明
显示条件 计划已审核(APPROVED)后,订单信息区域上方显示「BOM计算」「物料清单」按钮替代或与「引入」并存逻辑依产品而定新增/未引入时显示引入,已审核且已有订单行时可显示 BOM计算、物料清单
BOM计算 点击后调用 BOM 运算接口,刷新「物料清单」「补料清单」子表数据
物料清单 点击后可打开物料清单汇总弹窗或跳转物料清单(MBOM)列表/详情,依产品实现

7.6.7 表单页 - 物料清单子表「操作」列(齐套检查 / BOM补料 / 生产补料)

项目 说明
显示位置 计划已审核且已执行 BOM 运算后,「物料清单」子表每行「操作」列
操作项 √ 齐套检查:检查该行物料库存齐套情况,可弹窗或行内展示可用量、缺料数;BOM补料:打开 BOM 补料弹窗,为该计划/物料追加补料;生产补料:打开生产补料弹窗,录入生产补料
交互 齐套检查可为弹窗只读BOM补料/生产补料为表单弹窗,提交后更新「补料清单」子表

7.6.8 表单页 - 记录导航「上一条」「下一条」

项目 说明
位置 表头区域右侧或订单信息区块上方
显示条件 查看/编辑单条计划时,当存在多条计划记录时显示
操作 「上一条」:加载上一条计划详情并刷新表单;「下一条」:加载下一条计划详情并刷新表单;顺序可按计划编码或单据日期,与列表查询条件一致

8. 接口调用说明

8.1 接口总览

序号 功能 方法 路径 说明
1 查询计划列表(明细) GET /mp/plan/list 分页查询,明细视图(含订单物料维度)
2 查询计划列表(单据) GET /mp/plan/order/list 分页查询,单据视图(计划单维度)
3 获取计划详情 GET /mp/plan/{planId} 获取单条计划表头+订单信息+物料清单+补料清单
4 新增计划 POST /mp/plan 创建新计划
5 修改计划 PUT /mp/plan 更新计划表头+订单信息
6 删除计划 DELETE /mp/plan/{planIds} 批量删除计划
7 审核计划 PUT /mp/plan/approve/{planId} 审核单据
8 反审核计划 PUT /mp/plan/unapprove/{planId} 反审核单据
9 获取计划编码 GET /mp/plan/genCode 生成新的计划编码
10 BOM运算 POST /mp/plan/bomCalc/{planId} 执行BOM运算展开物料清单
11 BOM补料 POST /mp/plan/supplement/{planId} 添加补料物料
12 下发车间 PUT /mp/plan/issue/{mbomId} 下发物料清单到车间
13 齐套检查 GET /mp/plan/kitCheck/{planId} 检查物料齐套情况
14 导出计划 GET /mp/plan/export 导出计划列表到Excel
15 查询可引入订单 GET /sl/order/available 获取可引入的销售订单明细
16 查询BOM列表 GET /rd/ebom/listByItem/{itemId} 获取指定产品的BOM列表
17 撤销下发 PUT /erp/mp/mbom/revoke-issue/{mbomId} 撤销已下发的物料清单行

说明与MOM对接 上表路径为 ERP 侧接口(可为网关前缀 /erp 下的 /erp/mp/plan 等),对应数据库表为 erp_mp_planerp_mp_plan_lineerp_mp_mbomerp_mp_mbom_line表与字段以《erp数据库设计-数据字典》及 DDL 为准。生产计划单页面的增删改查、审核、BOM运算、齐套检查等均调用上述 ERP 接口。MOM 侧见《MOM系统数据升级方案-销售采购生产计划》):计划审核后可 1:1 同步到 MOM 的 erp_mp_* 镜像表;下发车间 时由后端按供应方式拆解写入 pro_workorderpro_workorder_bomplan_id、plan_code、bom_version、delivery_date、mbom_id、mbom_code 等见映射表 5.4 与《erp与mom数据库表映射对照表》。若前端或中台需直接调用 MOM API,查询计划层可用 MOM 的 erp_mp_* 镜像表接口(若已实施);查询工单列表、工单报工等使用 MOM 的 pro_workorder 相关接口与字段workorder_code、source_code=plan_code、status 枚举 CONFIRMED/PRODUCING/FINISHED 等)。

8.2 接口详细说明

8.2.1 查询计划列表(明细视图)

GET /mp/plan/list

请求参数:

参数名 类型 必填 说明
pageNum integer 页码默认1
pageSize integer 每页数默认100
planCode string 单据编码(模糊)
salesOrderCode string 销售订单号(模糊)
itemCode string 物料编码(模糊)
itemName string 物料名称(模糊)
beginDate string 开始日期 (yyyy-MM-dd)
endDate string 结束日期 (yyyy-MM-dd)
workType integer 工作类型0=生产计划单

响应示例:

{
  "total": 101,
  "rows": [
    {
      "planId": 105,
      "planCode": "SCJH000105",
      "planDate": "2026-02-04",
      "status": "APPROVED",
      "salesUserName": "张键",
      "salesOrderCode": "XSDD000090",
      "deliveryDate": "2026-02-06",
      "itemId": 100,
      "itemCode": "0102000001",
      "itemName": "简易机",
      "unitName": "台",
      "totalQuantity": 100.00,
      "mbomStatus": "BOM运算",
      "businessStatus": "正常",
      "approveDate": "2026-02-06"
    }
  ],
  "code": 200,
  "msg": "查询成功",
  "totalQuantitySum": 32434255
}

8.2.2 获取计划详情

GET /mp/plan/{planId}

响应示例:

{
  "code": 200,
  "data": {
    "planId": 105,
    "planCode": "SCJH000105",
    "planDate": "2026-02-04",
    "status": "APPROVED",
    "businessType": "PRODUCTION",
    "businessStatus": "NORMAL",
    "salesOrderId": 90,
    "salesOrderCode": "XSDD000090",
    "salesUserName": "张键",
    "deliveryDate": "2026-02-06",
    "bomId": 50,
    "bomVersion": "1.0",
    "bomDesc": "",
    "totalQuantity": 100.00,
    "operatorName": "njrsun",
    "approverName": "njrsun",
    "approveDate": "2026-02-06",
    "remark": "",
    "lines": [
      {
        "lineId": 1001,
        "planId": 105,
        "lineNo": 1,
        "itemId": 100,
        "itemCode": "0102000001",
        "itemName": "简易机",
        "unitName": "台",
        "quantity": 100.00,
        "qualityReq": "",
        "remark": ""
      }
    ],
    "mbomList": [
      {
        "mbomId": 201,
        "mbomCode": "MBOM000169",
        "planId": 105,
        "status": "APPROVED",
        "businessType": "PRODUCTION",
        "itemId": 200,
        "itemCode": "0301000001",
        "itemName": "底架组件",
        "unitName": "套",
        "supplyType": "ASSEMBLY",
        "productionQty": 100.00,
        "issueStatus": "NOT_ISSUED",
        "workshopName": ""
      }
    ],
    "supplementList": []
  }
}

8.2.3 新增计划

POST /mp/plan

请求体:

{
  "planDate": "2026-02-06",
  "businessStatus": "NORMAL",
  "salesOrderId": 90,
  "salesOrderCode": "XSDD000090",
  "salesUserName": "张键",
  "deliveryDate": "2026-02-06",
  "bomId": 50,
  "bomVersion": "1.0",
  "remark": "",
  "lines": [
    {
      "lineNo": 1,
      "itemId": 100,
      "itemCode": "0102000001",
      "itemName": "简易机",
      "unitName": "台",
      "quantity": 100.00,
      "qualityReq": ""
    }
  ]
}

8.2.4 修改计划

PUT /mp/plan

请求体: 同新增,但包含 planId 和各明细行的 lineId

注意: 修改时采用全量提交策略后端根据lineId判断新增/修改/删除。

8.2.5 删除计划

DELETE /mp/plan/{planIds}

业务规则:

  • 仅允许删除开立(DRAFT)状态的计划
  • 删除时同时删除订单明细行记录
  • 逻辑删除del_flag = 1

8.2.6 审核计划

PUT /mp/plan/approve/{planId}

业务规则:

  • 仅开立(DRAFT)状态允许审核
  • 至少有一条订单明细
  • 审核后自动填充审核员和审核日期
  • status → APPROVED

8.2.7 反审核计划

PUT /mp/plan/unapprove/{planId}

业务规则:

  • 仅审核(APPROVED)状态允许反审核
  • 需校验是否已执行BOM运算若已执行则需先清除物料清单
  • 需校验物料清单中是否有已下发的记录
  • 反审核后清空审核员和审核日期
  • status → DRAFT

8.2.8 BOM运算

POST /mp/plan/bomCalc/{planId}

业务规则:

  • 仅已审核(APPROVED)状态且已选择BOM的计划可执行
  • 展开产品BOM按供应方式生产、加工、装配、委外、采购分类生成物料清单
  • 自动计算各物料的需求数量
  • 如存在孪生物料,按优先级和库存情况自动替换

响应:

{
  "code": 200,
  "msg": "BOM运算完成",
  "data": {
    "mbomCount": 5,
    "totalItems": 12
  }
}

8.2.9 下发车间

PUT /mp/plan/issue/{mbomId}

业务规则:

  • 将物料清单行下发到指定车间
  • 下发后在MOM系统创建对应的生产工单
  • issueStatus → ISSUED

8.2.10 撤销下发

PUT /erp/mp/mbom/revoke-issue/{mbomId}

请求参数:

参数名 类型 必填 说明
mbomId long 物料清单ID路径参数

业务规则:

  • 仅允许已下发(ISSUED)状态的物料清单行执行撤销操作
  • 撤销后 issueStatus 清空(设为 null
  • 保留 workshopId、workshopName、issueDate 等字段,方便用户调整后重新下发
  • 自动更新 update_time 时间戳

响应示例:

{
  "code": 200,
  "msg": "撤销下发成功"
}

后端实现要点:

  • Controller 层: MpMbomController 新增 PUT /erp/mp/mbom/revoke-issue/{mbomId}
  • Service 接口: IMpMbomService 新增 revokeIssue(Long mbomId) 方法
  • Service 实现: MpMbomServiceImpl 实现撤销逻辑(校验 MBOM 存在且为 ISSUED 状态 → 清空 issueStatus → 更新时间戳)

8.2.11 导出计划

GET /mp/plan/export

请求参数: 同查询列表参数。

响应: 返回Excel文件流


9. 状态流转

9.1 单据状态流转图

                    ┌──────────────┐
                    │              │
         ┌─────────►  开立(DRAFT)  ◄──────────┐
         │          │              │           │
         │          └──────┬───────┘           │
         │                 │                   │
         │            [审核操作]            [反审核操作]
         │                 │                   │
         │                 ▼                   │
         │          ┌──────────────┐           │
         │          │              │           │
         └──────────┤ 审核(APPROVED)├───────────┘
                    │              │
                    └──────┬───────┘
                           │
                      [BOM运算]
                           │
                           ▼
                    ┌──────────────┐
                    │              │
                    │ BOM运算完成   │
                    │              │
                    └──────┬───────┘
                           │
                      [下发车间]
                           │
                           ▼
                    ┌──────────────┐
                    │              │
                    │  生产执行中   │
                    │              │
                    └──────────────┘

9.2 状态说明

状态 编码 可执行操作 说明
开立 DRAFT 编辑、保存、删除、审核 初始状态,可自由编辑
审核 APPROVED 查看、反审核、BOM运算、下发、齐套检查、导出 生效状态,不可编辑表头和订单信息

9.3 BOM运算状态

状态 说明
未运算 审核后初始状态,物料清单为空
BOM运算 已执行BOM运算物料清单已展开
BOM运算,BOM补料 已执行BOM运算且有补料记录

9.4 物料清单下发状态

状态 编码 说明
未下发 NOT_ISSUED 初始状态,物料清单行尚未下发到车间
已下发 ISSUED 已下发到车间MOM系统已创建对应工单
部分下发 PARTIAL_ISSUED 部分数量已下发

10. 业务规则

10.1 编码规则

规则 说明
前缀 SCJH
流水号 6位数字不足补零
格式 SCJH000001, SCJH000002, ...
生成方式 后端自动生成,不可手动修改

10.2 引入订单规则

规则 说明
来源 仅可引入已审核的销售订单/备货订单中供货方式为"计划生产"的物料
数量限制 引入数量不能超过订单可用数量(订单数量 - 已被其他计划引入数量)
数量可修改 引入后可修改数量,支持分批次计划
多订单引入 同一计划单可引入多个销售订单的物料(一般为同一产品的不同订单)
重复引入 已引入的订单行不允许重复引入

10.3 BOM运算规则

规则 说明
前置条件 计划已审核、已选择产品BOM
展开方式 按BOM层级逐级展开直到最底层物料
供应分类 按物料供应方式(生产、加工、装配、委外、采购)分类生成物料清单
数量计算 根据BOM用量比例和计划数量自动计算各物料需求量
孪生物料 如配置了孪生物料(可替换物料),按优先级和库存可用量自动选择
重复运算 可重新执行BOM运算前端弹出确认对话框「确认是否重新执行物料计算?」
重新运算后端逻辑 后端在创建新MBOM前先查询该计划下已有的MBOM记录删除未下发(非ISSUED)状态的MBOM及其明细行(mbom_line),防止产生重复数据;已下发(ISSUED)的MBOM保留不动仅为没有已下发MBOM对应的计划明细行重新创建MBOM

10.4 下发规则

规则 说明
下发顺序 通常先下发委外件→加工件→装配件→最后产成品
齐套检查 下发前建议执行齐套检查,确认物料库存充足
下发前置 下发前必须已选择下发车间,否则提示「请先选择下发车间」并阻止下发
部分下发 支持部分数量下发
下发结果 下发后在MOM系统自动创建生产工单
撤销下发 已下发(ISSUED)的物料清单行可撤销下发:前端弹出确认对话框「撤销下发」;确认后调用 PUT /erp/mp/mbom/revoke-issue/{mbomId};撤销后 issueStatus 清空(设为 null保留下发车间和下发日期信息,用户可调整后重新下发
已下发行编辑限制 已下发(ISSUED)状态的物料清单行「下发车间」和「下发日期」禁止修改el-select/el-date-picker disabled尝试修改分别提示「下发状态下无法修改生产车间」和「下发状态下无法修改生产日期」「供应方式」不受限制可随时修改

10.5 下游引用规则

引用场景 影响
已执行BOM运算 反审核前需先清除物料清单
物料清单已下发 不允许反审核、不允许删除
已生成采购计划 需关注采购计划联动

11. 前端组件设计

11.1 文件结构

src/
├── api/
│   └── mp/
│       └── plan.js                       # 生产计划单相关API接口定义
├── views/
│   └── mp/
│       └── plan/
│           ├── index.vue                 # 列表页入口(含明细视图+单据视图切换)
│           ├── list.vue                  # 列表页实现组件
│           ├── form.vue                  # 新增/编辑/查看页
│           └── components/
│               ├── DetailViewTable.vue       # 明细视图表格组件
│               ├── DocumentViewTable.vue     # 单据视图表格组件
│               ├── PlanHeaderForm.vue        # 表头表单组件
│               ├── OrderLineTable.vue        # 订单信息子表组件(可编辑)
│               ├── MbomTable.vue             # 物料清单子表组件(只读)
│               ├── SupplementTable.vue       # 补料清单子表组件(只读)
│               ├── OrderSelectDialog.vue     # 销售订单选择弹窗组件
│               └── BomSelectDialog.vue       # BOM选择弹窗组件

11.2 API接口文件

// src/api/mp/plan.js
import request from '@/utils/request'

// 查询计划列表(明细视图)
export function listPlan(query) {
  return request({
    url: '/mp/plan/list',
    method: 'get',
    params: query
  })
}

// 查询计划列表(单据视图)
export function listPlanOrder(query) {
  return request({
    url: '/mp/plan/order/list',
    method: 'get',
    params: query
  })
}

// 获取计划详情
export function getPlan(planId) {
  return request({
    url: '/mp/plan/' + planId,
    method: 'get'
  })
}

// 新增计划
export function addPlan(data) {
  return request({
    url: '/mp/plan',
    method: 'post',
    data: data
  })
}

// 修改计划
export function updatePlan(data) {
  return request({
    url: '/mp/plan',
    method: 'put',
    data: data
  })
}

// 删除计划
export function delPlan(planIds) {
  return request({
    url: '/mp/plan/' + planIds,
    method: 'delete'
  })
}

// 审核计划
export function approvePlan(planId) {
  return request({
    url: '/mp/plan/approve/' + planId,
    method: 'put'
  })
}

// 反审核计划
export function unapprovePlan(planId) {
  return request({
    url: '/mp/plan/unapprove/' + planId,
    method: 'put'
  })
}

// 获取计划编码
export function genPlanCode() {
  return request({
    url: '/mp/plan/genCode',
    method: 'get'
  })
}

// BOM运算
export function bomCalc(planId) {
  return request({
    url: '/mp/plan/bomCalc/' + planId,
    method: 'post'
  })
}

// BOM补料
export function supplement(planId, data) {
  return request({
    url: '/mp/plan/supplement/' + planId,
    method: 'post',
    data: data
  })
}

// 下发车间
export function issueMbom(mbomId, data) {
  return request({
    url: '/mp/plan/issue/' + mbomId,
    method: 'put',
    data: data
  })
}

// 齐套检查
export function kitCheck(planId) {
  return request({
    url: '/mp/plan/kitCheck/' + planId,
    method: 'get'
  })
}

// 导出计划
export function exportPlan(query) {
  return request({
    url: '/mp/plan/export',
    method: 'get',
    params: query,
    responseType: 'blob'
  })
}

// 查询可引入订单
export function listAvailableOrders(query) {
  return request({
    url: '/sl/order/available',
    method: 'get',
    params: query
  })
}

// 查询产品BOM列表
export function listBomByItem(itemId) {
  return request({
    url: '/rd/ebom/listByItem/' + itemId,
    method: 'get'
  })
}

11.3 路由配置

// src/router/modules/mp.js
{
  path: '/mp',
  component: Layout,
  redirect: '/mp/plan/order/working',
  name: 'Mp',
  meta: { title: '生产计划', icon: 'el-icon-date' },
  children: [
    {
      path: 'plan/order/working',
      name: 'PlanOrder',
      component: () => import('@/views/mp/plan/list'),
      meta: { title: '生产计划单', icon: 'el-icon-document' }
    },
    {
      path: 'plan/orderadd',
      name: 'PlanOrderAdd',
      component: () => import('@/views/mp/plan/form'),
      meta: { title: '新增生产计划单', activeMenu: '/mp/plan/order/working' },
      hidden: true
    },
    {
      path: 'plan/orderedit/:planId',
      name: 'PlanOrderEdit',
      component: () => import('@/views/mp/plan/form'),
      meta: { title: '编辑生产计划单', activeMenu: '/mp/plan/order/working' },
      hidden: true
    },
    {
      path: 'plan/orderview/:planId',
      name: 'PlanOrderView',
      component: () => import('@/views/mp/plan/form'),
      meta: { title: '查看生产计划单', activeMenu: '/mp/plan/order/working' },
      hidden: true
    }
  ]
}

12. 数据模型

12.1 表关系图

┌──────────────────────────┐
│     erp_sl_order         │
│   (销售订单)              │
│                          │
│ order_id (PK)            │
│ order_code               │
│ sales_user_name          │
│ delivery_date            │
└──────────┬───────────────┘
           │ 1:N (引入)
           ▼
┌──────────────────────────┐     ┌──────────────────────────┐
│     erp_mp_plan          │     │      erp_md_bom          │
│   (生产计划单/表头)        │────►│     (产品BOM)            │
│                          │     │                          │
│ plan_id (PK)             │     │ bom_id (PK)              │
│ plan_code (UK)           │     │ bom_code                 │
│ sales_order_id (FK)──────┼──►  │ item_id                  │
│ bom_id (FK) ─────────────┼──►  │ version                  │
│ status                   │     └──────────────────────────┘
│ total_quantity           │
└──────────┬───────────────┘
           │ 1:N
           ▼
┌──────────────────────────┐
│   erp_mp_plan_line       │     ┌──────────────────────────┐
│  (计划明细/订单信息)       │     │      erp_md_item         │
│                          │     │     (物料档案)            │
│ line_id (PK)             │     │                          │
│ plan_id (FK) ────────────┼──►  │ item_id (PK)             │
│ item_id (FK) ────────────┼──►  │ item_code                │
│ quantity                 │     │ item_name                │
│ quality_req              │     │ supply_type              │
└──────────────────────────┘     └──────────────────────────┘

┌──────────────────────────┐
│   erp_mp_mbom            │
│  (物料清单/BOM运算结果)    │
│                          │
│ mbom_id (PK)             │
│ mbom_code                │
│ plan_id (FK) ────────────┼──► erp_mp_plan.plan_id
│ plan_code                │
│ item_id (FK) ────────────┼──► erp_md_item.item_id
│ supply_type              │
│ quantity                 │     (生产数量,与数据字典一致)
│ issue_status             │
└──────────┬───────────────┘
           │ 1:N
           ▼
┌──────────────────────────┐
│   erp_mp_mbom_line       │
│  (物料清单明细)           │
│                          │
│ line_id (PK)             │     (与 DDL 一致,主键为 line_id
│ mbom_id (FK) ────────────┼──► erp_mp_mbom.mbom_id
│ mbom_code                │
│ item_id (FK) ────────────┼──► erp_md_item.item_id (子件物料)
│ quantity                 │
│ base_qty, loss_rate      │
│ supply_type              │
└──────────────────────────┘

12.2 MOM系统表映射与《erp与mom数据库表映射对照表》一致

生产计划单页面涉及的 ERP 表与 MOM 表对应关系如下(含 MOM 升级后 的镜像表见《MOM系统数据升级方案-销售采购生产计划》)。对接 MOM API 时 需区分:查询计划层数据可使用 MOM 侧 erp_mp_* 镜像表;查询工单/报工使用 pro_workorderpro_workorder_bom 及字段名(详见映射表文档第 7 节)。

ERP表名 MOM 镜像表1:1 MOM 业务表(下发时) 说明
erp_mp_plan erp_mp_plan pro_workorder 计划审核后同步到镜像表下发时拆解为工单plan_code→source_code并写入 plan_id、plan_code、bom_version、delivery_date、mbom_id 等
erp_mp_plan_line erp_mp_plan_line pro_workorder_bom 计划明细同步到镜像表;下发时 item_id→product_id 等
erp_mp_mbom erp_mp_mbom pro_workorder (拆解) 物料清单同步到镜像表;下发时按供应方式拆解为多个子工单
erp_mp_mbom_line erp_mp_mbom_line pro_workorder_bom 物料清单明细同步到镜像表下发时写入工单BOM
erp_md_item - md_item 物料档案
erp_md_bom - md_bom 产品BOM
erp_sl_order erp_sl_order - 销售订单MOM 镜像表存订单;工单通过 source_code 等关联)

MOM 侧关键字段(对接工单 API 时使用): pro_workorder.plan_idpro_workorder.plan_codepro_workorder.source_code= plan_codepro_workorder.statusCONFIRMED/PRODUCING/FINISHED 等)、pro_workorder.workorder_typeSELF/OUTSOURCEpro_workorder.request_date= delivery_datepro_workorder.delivery_datepro_workorder.quantity= total_quantitypro_workorder.bom_versionpro_workorder.mbom_idpro_workorder.mbom_codepro_workorder_bom.product_idpro_workorder_bom.quantity 等。完整字段与值转换见《erp与mom数据库表映射对照表》7.17.3 节。

12.3 数据同步方向

ERP (erp_mp_plan / erp_mp_plan_line / erp_mp_mbom / erp_mp_mbom_line)
    │
    ├── 审核后 1:1 同步 ──► MOM 镜像表 (erp_mp_plan / erp_mp_plan_line / erp_mp_mbom / erp_mp_mbom_line)
    │
    └── 下发车间时 ──► MOM 业务表: erp_mp_plan/erp_mp_mbom → pro_workorder按供应方式拆解
                      erp_mp_plan_line/erp_mp_mbom_line → pro_workorder_bom
  • 同步方向: ERP → MOM单向同步
  • 镜像表同步: 计划审核后ERP 表 1:1 同步到 MOM 同名 erp_mp_* 表主键一致见《MOM系统数据升级方案-销售采购生产计划》)
  • 下发触发: 物料清单下发车间时,由后端按供应方式拆解写入 pro_workorder、pro_workorder_bomplan_id、plan_code、bom_version、delivery_date、mbom_id、mbom_code 等写入 pro_workorder
  • 同步方式: 生产/加工/装配→SELF委外→OUTSOURCE采购不建工单走采购计划/到货通知
  • 接口约定: 页面增删改查、审核、BOM 运算、齐套检查等调用 ERP 接口(操作 erp_mp_* 表MOM 若已实施升级方案,可提供对 erp_mp_* 镜像表的查询接口;工单列表/报工等使用 MOM 的 pro_workorder、pro_workorder_bom 及对应 API

附录A: 状态标签颜色映射

// 状态标签类型映射
const statusTagMap = {
  'DRAFT': 'info',       // 灰色 - 开立
  'APPROVED': 'success'  // 绿色 - 审核
}

// 状态标签文字映射
const statusLabelMap = {
  'DRAFT': '开立',
  'APPROVED': '审核'
}

// 业务状态映射
const businessStatusMap = {
  'NORMAL': '正常',
  'PAUSE': '暂停',
  'CANCEL': '取消'
}

// 物料清单下发状态映射
const issueStatusMap = {
  'NOT_ISSUED': '未下发',
  'ISSUED': '已下发',
  'PARTIAL_ISSUED': '部分下发'
}

// 供应方式映射
const supplyTypeMap = {
  'PRODUCTION': '生产',
  'MACHINING': '加工',
  'ASSEMBLY': '装配',
  'OUTSOURCE': '委外',
  'PURCHASE': '采购'
}

附录B: 权限标识汇总

权限标识 说明 对应操作 所属视图
mp:plan:list 列表查询 查看计划列表、视图切换 通用
mp:plan:query 详情查询 查看计划详情 单据视图
mp:plan:add 新增 新增计划单 通用
mp:plan:edit 编辑 修改计划单 单据视图
mp:plan:remove 删除 删除计划单 单据视图
mp:plan:approve 审核 审核计划单 单据视图
mp:plan:unapprove 反审核 反审核计划单 单据视图
mp:plan:export 导出 导出计划列表 明细视图
mp:plan:bomCalc BOM运算 执行BOM运算 编辑页
mp:plan:issue 下发 下发物料清单到车间 编辑页
mp:plan:kitCheck 齐套检查 检查物料齐套情况 编辑页
mp:plan:supplement 补料 BOM补料操作 编辑页

附录C: 与产品BOM页面的关联说明

生产计划单页面与产品BOM页面存在紧密的业务关联

关联点 说明
选择BOM 生产计划单中选择的「订单BOM」来自产品BOM页面创建的已审核BOM记录
BOM运算 BOM运算时读取选中BOM的物料清单按层级展开为物料需求
BOM版本 支持选择同一产品的不同BOM版本用于不同计划
数据流向 产品BOMEBOM→ 生产计划BOM运算 → 物料清单MBOM→ 下发车间

修订历史

版本 日期 修订内容 修订人
1.0.0 2026-02-06 初始版本基于目标ERP系统采集分析完整页面设计开发说明 System
1.1.0 2026-02-07 补充用户交互与弹窗:列表点击单据编码/物料名称弹窗、引入订单信息弹窗、选择EBOM单/EBOM详情弹窗、订单信息BOM计算与物料清单按钮、物料清单操作列齐套检查/BOM补料/生产补料)、上一条/下一条、查看页顶部工具栏 System
1.2.0 2026-02-07 对齐《erp与mom数据库表映射对照表》新增 5.4 与MOM表映射关系、8.1 接口与MOM对接说明、12.2/12.3 表映射与同步方向,便于与 MOM 系统 API 对接 System
1.3.0 2026-02-07 更新页面截图参考:全部引用改为项目 screenshot/ 目录下生产计划单相关截图1.4 完善截图对照表并增加同模块相关截图3.1/3.2、4.1/4.6/4.7、7.6 各节补充对应截图路径 System
1.4.0 2026-02-07 对齐 prd/db 数据库文档5.1/5.2 表头与明细字段与《erp数据库设计-数据字典》及 DDL 一致plan 表补 sales_user_id/operator_id/approver 等total_quantity 18,4plan_line 用 sales_line_id/track_code/unit_idquantity 18,4移除 supply_type5.3 物料清单引用数据字典 8.2 与 DDL5.4/12.2/12.3 补充 MOM 镜像表及下发链路12.1 数据模型图 erp_mp_mbom 用 quantity、erp_mp_mbom_line 主键 line_id8.1 接口说明与 MOM 对接描述更新;关联文档增加升级方案 System
1.5.0 2026-02-13 完善生产计划单MBOM功能(1) 查看模式下物料清单可编辑——已审核计划在查看页支持修改供应方式、下发车间、下发日期、下发开关canEditMbom 移除查看模式限制);(2) BOM重新运算——物料清单已有数据时增加确认对话框后端删除未下发MBOM后重新生成防止重复(3) 撤销下发——新增 PUT /erp/mp/mbom/revoke-issue/{mbomId} 接口及前端确认交互,撤销后清空 issueStatus 但保留车间/日期信息;(4) 已下发行编辑限制——下发车间/下发日期在 ISSUED 状态下禁用并提示错误;(5) 供应方式修改成功提示「修改成功」;新增 6.3.14(下发/撤销下发开关、6.3.15(供应方式修改)按钮说明,更新 4.4 物料清单子表列定义、7.4 交互规则、8.1/8.2.10 接口、10.3 BOM运算规则、10.4 下发规则 System