主题
MES 制造执行 PRD
文档信息
| 项目 | 内容 |
|---|---|
| 产品名称 | PMForge - MES 制造执行 |
| 文档版本 | v2.0 |
| 创建日期 | 2026-09-24 |
| 最后更新 | 2026-09-24 |
| 文档状态 | 评审中 |
| 优先级 | P1 |
一、功能概述
1.1 功能定位
通俗理解:把 MES 想象成「车间的数字化指挥官」。
一家工厂的车间里,每天都有几十上百个产品在同时生产,每个产品要经过少则三五道、多则几十道工序。哪道工序先做、哪道后做?用了多少料?出了多少不良品?设备运转正常吗?——这些问题如果靠人记、靠纸写,不仅效率低,还容易出错。MES 就是把这些「车间里发生的事」全部数字化:先定义好怎么造(工艺路线 + BOM),再安排造多少(生产工单),然后实时跟踪造到哪了(报工),同时管住质量(检验)和设备(维保),最后用一块大屏看板把所有数据摊开给管理者看。
MES 制造执行系统是 PMForge 企业应用模块的核心子模块,面向离散型和流程型制造企业,提供从工艺定义、生产排程、工单执行、报工采集、质量管控到设备运维的全链路制造管理能力。该模块以工艺路线为基础、以生产工单为核心,串联 BOM 物料清单、生产报工、质量检验、设备管理等业务环节,实现车间生产过程的数字化、透明化和可追溯。
1.2 目标用户与使用频率
| 用户类型 | 使用场景 | 使用频率 |
|---|---|---|
| 工艺工程师 | 工艺工序定义、工艺路线编排、BOM 编制与维护 | 每日(新产品导入或工艺变更时) |
| 生产计划员 | 生产工单创建、排程下发、进度跟踪 | 每日(核心日常工作) |
| 车间班组长 | 工单接收与分配、生产报工审核、产能协调 | 每小时(持续监控车间) |
| 一线操作工 | 工序报工、质量自检记录、异常反馈 | 每工序(高频操作) |
| 质量检验员 | 来料检验、过程检验、成品检验、不良品处理 | 每日(按检验批次) |
| 设备管理员 | 设备台账维护、保养计划制定、维修工单处理 | 每日(保养 + 维修响应) |
| 生产主管/经理 | 生产看板监控、产量统计、效率分析、异常决策 | 每小时(看板 + 报表) |
| 企业高管 | 制造数据总览、OEE 分析、交付达成率 | 每周/月(决策分析) |
1.3 业务价值
| 价值维度 | 当前痛点 | MES 解决方案 | 量化指标 |
|---|---|---|---|
| 工艺标准化 | 工艺文件散落在 Word/Excel 中,版本混乱 | 统一工艺库,版本可控,变更可追溯 | 工艺查找时间减少 80% |
| 生产透明化 | 生产进度靠口头汇报,信息滞后 | 实时报工采集,进度秒级可见 | 进度反馈延迟从 4h 降至 5min |
| 质量可控 | 纸质检验记录,追溯困难 | 电子化检验 + 不良品闭环管理 | 质量追溯时间从 2 天降至 10 分钟 |
| 设备高效 | 设备保养靠记忆,维修响应慢 | 自动保养计划 + 维修工单流转 | 设备非计划停机减少 40% |
| 物料精准 | BOM 手工计算,领料靠经验 | 多级 BOM 自动展开,精确领料 | 物料短缺停工减少 60% |
| 数据驱动 | 产量/良率/效率数据分散,分析滞后 | 统一数据看板 + 多维统计报表 | 管理决策响应从次日变为实时 |
1.4 功能范围
| 功能分类 | 后台管理端 | 说明 |
|---|---|---|
| 工艺工序管理 | ✅ | 工序定义、排序、状态管理、CRUD |
| 工艺路线管理 | ✅ | 路线编排、工序关联、版本管理 |
| BOM 物料清单管理 | ✅ | 多级 BOM 编制、版本控制、替代物料管理 |
| 生产工单管理 | ✅ | 工单创建、下发、执行、完工、关闭全生命周期 |
| 生产报工 | ✅ | 工序报工、产量登记、工时记录、良品/不良品统计 |
| 质量管理 | ✅ | 检验模板配置、IQC/IPQC/FQC 检验、不良品管理 |
| 设备管理 | ✅ | 设备台账、保养计划、维修工单、设备状态监控 |
| 生产看板 | ✅ | 实时生产进度、产量统计、良率趋势、OEE 分析 |
二、用户场景
2.1 用户角色
| 角色 | 描述 | 核心诉求 |
|---|---|---|
| 工艺工程师小刘 | 负责工艺文件编制与维护 | 工艺定义清晰、版本可控、变更可追溯 |
| 生产计划员小陈 | 负责生产计划编排与工单下发 | 工单排程合理、下发及时、进度可视 |
| 车间班组长老王 | 负责车间日常生产组织 | 任务分配明确、报工及时准确、异常快速响应 |
| 一线操作工小张 | 执行具体生产操作 | 报工简便快捷、任务指令清晰、异常反馈通道畅通 |
| 质量检验员小李 | 执行各环节质量检验 | 检验标准明确、记录便捷、不良品处理高效 |
| 设备管理员老赵 | 负责设备维护与保养 | 设备状态清晰、保养不遗漏、维修响应快 |
| 生产主管刘经理 | 统筹车间生产管理 | 实时掌握全局、数据辅助决策、问题及时发现 |
2.2 使用场景
场景1:工艺工程师小刘编制新产品工艺路线
- 前置条件:研发部门完成新产品设计,输出产品图纸和物料清单;小刘已登录系统,拥有工艺管理权限
- 操作流程:
- 小刘进入「工艺工序管理」,检查是否有所需工序(下料、车削、铣削、热处理、磨削、检验、包装)——大部分已有,新增一道「激光打标」工序
- 进入「工艺路线管理」,新建路线,编码自动生成为 RL202609240001
- 从工序库中拖拽工序到路线中,排好顺序:下料→车削→铣削→热处理→磨削→激光打标→检验→包装
- 将「磨削」和「检验」标记为关键工序(这两步对产品质量影响最大)
- 为每道工序设定本路线的标准工时(可覆盖工序默认值)
- 进入「BOM 管理」,为新产品创建物料清单:父项为新产品,子项列出所需原材料和半成品,设定用量和损耗率
- 发布工艺路线和 BOM,状态从「草稿」变为「已发布」
- 后续生产计划员创建工单时,选择该产品即可自动关联此工艺路线和 BOM
- 期望结果:工艺路线和 BOM 一次定义、反复使用,版本变更有记录可追溯
- 验收标准(AC):
- AC1:新建工序后,工序列表可查到该工序,编码全局唯一
- AC2:工艺路线至少包含 1 道工序才能发布,否则提示「请至少添加工序」
- AC3:已发布的路线不可直接编辑,点击编辑时提示「请先新建版本」
- AC4:BOM 中子项物料不得反向引用父项,否则提示「不允许循环引用」
- AC5:发布后版本号自动递增,历史版本可在「版本历史」中查看
场景2:生产计划员小陈下发工单并跟踪进度
- 前置条件:产品的工艺路线和 BOM 已发布;销售订单或库存补货需求已确认
- 操作流程:
- 小陈进入「生产工单管理」,点击「新建工单」
- 选择产品,系统自动带出当前有效的工艺路线和 BOM
- 填写计划数量 500 件、计划开工日期 9 月 25 日、计划完工日期 9 月 28 日
- 选择优先级为「高」(客户催单),选择生产车间和产线
- 提交工单,状态为「待审核」
- 主管审核通过后,小陈点击「下发」,系统自动按工艺路线生成 8 道工序任务
- 车间接收工单,班组长老王将各工序任务分配给具体操作员
- 小陈在工单列表实时查看各工序的完成进度(已完工数/计划数)
- 期望结果:工单从创建到完工全程可视,异常时能第一时间发现
- 验收标准(AC):
- AC1:工单号自动生成,格式为 WO + 年月日 + 4 位流水号
- AC2:下发后自动生成与工艺路线工序数一致的工序任务列表
- AC3:计划完工日期早于计划开工日期时,系统阻止提交
- AC4:工单详情中可看到每道工序的计划数、完工数、合格数、不良数
- AC5:只有「待审核」状态的工单可以编辑,其他状态编辑按钮置灰
场景3:操作工小张扫码报工
- 前置条件:工单已下发至车间,小张已分配到具体工序任务
- 操作流程:
- 小张完成「车削」工序的加工,产出 50 件,其中 48 件合格、1 件不良、1 件报废
- 用工位终端扫描工单条码,进入报工界面
- 系统自动显示当前工序(车削)和剩余计划数量
- 小张录入:总数量 50、合格数 48、不良数 1、报废数 1、实际工时 2.5 小时
- 提交报工,系统自动累加到工序任务的完工数量
- 因为「车削」不是关键工序,报工完成后直接进入下一工序
- 后续到「磨削」关键工序报工时,系统自动触发 IPQC 过程检验任务
- 期望结果:报工操作 30 秒内完成,数据实时同步到工单进度
- 验收标准(AC):
- AC1:报工数量(合格 + 不良 + 报废)超过剩余计划数时,系统阻止提交
- AC2:报工提交后,工序任务的完工数量实时增加
- AC3:报工记录提交后不可修改,如需纠正需创建冲销记录
- AC4:关键工序报工时自动生成质量检验任务
- AC5:所有工序任务完工后,工单状态自动变为「已完工」
场景4:质量检验员小李执行过程检验并处理不良品
- 前置条件:关键工序报工触发了 IPQC 检验任务;检验模板已配置
- 操作流程:
- 小李收到检验任务通知,进入「质量管理 - 检验记录」
- 打开检验单,系统已根据检验模板列出所有检验项目
- 按模板要求抽样:本批 50 件,抽检 8 件
- 逐项录入实测值:外径尺寸(标准 25.00mm,上限 25.05,下限 24.95)——实测 25.02、24.98、25.01…
- 系统自动判定:8 件全部在公差范围内,该检验项目合格
- 表面粗糙度项目有一件实测值超出上限,系统标红提示
- 综合判定:因有一项不合格,整批判定为「不合格」
- 小李发起不良品处理:选择「返工」,填写返工说明
- 返工完成后重新检验,合格后流转
- 期望结果:检验标准统一、数据自动判定、不良品闭环可追溯
- 验收标准(AC):
- AC1:检验项目上下限从模板自动带入,无需手动填写
- AC2:实测值超出上下限时,系统自动标红并判定该单项不合格
- AC3:所有单项合格后,整批自动判定为合格
- AC4:不良品处理方式(返工/报废/让步接收/退货)必须选择且记录处理说明
- AC5:让步接收需填写审批说明,系统记录审批人和审批时间
场景5:设备管理员老赵处理设备保养和维修
- 前置条件:设备台账已建立,保养计划已配置
- 操作流程:
- 日常保养:系统根据月保养计划自动生成保养工单,老赵收到通知
- 老赵按保养项目逐项执行:润滑导轨、清洁滤网、检查皮带张力、校准刀具
- 逐项勾选完成状态,录入实际耗时和消耗的备件
- 保养完成,设备状态从「保养中」恢复为「空闲」
- 突发维修:某日 CNC 加工中心出现异常振动,操作工报修
- 老赵收到紧急维修通知,系统已自动将设备状态改为「维修中」
- 老赵到现场排查,发现主轴轴承磨损,更换轴承
- 录入故障原因、维修措施、更换配件、维修耗时 3 小时
- 报修人验收确认,设备状态恢复为「空闲」
- 所有维保记录自动归档到设备台账
- 期望结果:保养不遗漏、维修响应快、设备状态实时可查
- 验收标准(AC):
- AC1:保养计划到期后自动生成保养工单并通知设备管理员
- AC2:报修登记后,设备状态自动变为「维修中」
- AC3:维修验收通过后,设备状态自动恢复为「空闲」
- AC4:维修工单从报修到验收全流程有时间记录,可计算响应时长
- AC5:设备详情页可查看完整的保养和维修历史记录
场景6:生产主管刘经理查看生产看板
- 前置条件:车间有多个工单正在执行中
- 操作流程:
- 刘经理打开「生产看板」大屏模式
- 左上角「生产进度」区域:各工单的计划数/完工数/完成率,进度条直观展示
- 右上角「异常预警」区域:某工单标黄(进度滞后),某设备标红(故障停机)
- 中间「工序状态」区域:各产线各工序的实时状态(待开始/进行中/已完成)
- 下方「质量统计」区域:当日良率 97.3%,不良品 TOP3 缺陷类型
- 刘经理发现工单 WO202609240003 进度只有 40% 但时间已过 70%,点击查看详情
- 发现瓶颈在「热处理」工序——设备故障维修中
- 刘经理调整其他工单优先级,确保交期不受影响
- 月底查看 OEE 趋势图:时间开动率 85%、性能开动率 92%、合格品率 97.5%
- 期望结果:一屏掌握全局,异常秒级预警,数据驱动决策
- 验收标准(AC):
- AC1:看板数据通过 WebSocket 实时推送,延迟不超过 500ms
- AC2:完成率 < 80% 且时间进度 > 80% 时,工单卡片标黄预警
- AC3:完成率 < 60% 且时间进度 > 80% 时,工单卡片标红预警
- AC4:看板支持全屏模式,适配 1920×1080 和 3840×2160 分辨率
- AC5:OEE 指标可按日/周/月维度查看趋势图
三、功能需求
3.1 工艺工序管理
3.1.1 页面设计
工艺工序管理页面:

说明:已关联工艺路线的工序,删除按钮置灰并提示「已被工艺路线引用」。
3.1.2 功能列表
| 功能项 | 优先级 | 描述 |
|---|---|---|
| 工序列表查询 | P0 | 分页查询工序列表,支持按工序编码、工序名称、工序类型、状态筛选 |
| 工序新增 | P0 | 创建工序,填写工序编码(必填,唯一)、工序名称、工序类型、标准工时、标准产出、描述等 |
| 工序编辑 | P0 | 修改工序信息,已关联工艺路线的工序部分字段锁定不可修改 |
| 工序删除 | P1 | 逻辑删除工序,已关联工艺路线的工序不允许删除 |
| 工序状态管理 | P0 | 启用/禁用工序,禁用后不可在工艺路线中引用 |
| 工序详情 | P0 | 查看工序完整信息及关联的工艺路线列表 |
| 工序导入导出 | P2 | 支持 Excel 批量导入/导出工序数据 |
3.1.3 业务规则
| 规则 | 说明 | 设计原因 |
|---|---|---|
| 编码唯一且不可修改 | 工序编码 2-20 位字母数字,创建后不可修改 | 编码是工序的唯一标识,其他模块通过编码关联,修改会导致引用断裂 |
| 名称租户内唯一 | 同一租户下工序名称不可重复 | 避免操作员在选工序时选错同名工序 |
| 工序类型枚举 | 加工(PROCESS)、检验(INSPECT)、运输(TRANSPORT)、储存(STORAGE)、包装(PACKAGE) | 覆盖离散制造和流程制造的常见工序类型 |
| 标准工时精度 | 单位为分钟,精度到小数点后两位 | 支持精密加工场景下的工时核算 |
| 被引用不可删除 | 启用状态且被工艺路线引用的工序不允许删除 | 防止工艺路线中出现「断链」——引用了不存在的工序 |
| 禁用不可引用 | 禁用状态的工序不可在工艺路线中新增引用 | 已淘汰的工艺不应出现在新路线中,但保留历史数据可查 |
3.1.4 接口列表
| 接口名称 | 请求方式 | 路径 | 说明 |
|---|---|---|---|
| 工序分页查询 | GET | /admin-api/mes/process/page | 按条件分页查询工序列表 |
| 工序详情查询 | GET | /admin-api/mes/process/get | 根据 ID 获取工序详情 |
| 工序下拉列表 | GET | /admin-api/mes/process/simple-list | 获取启用状态的工序列表(下拉选择用) |
| 创建工序 | POST | /admin-api/mes/process/create | 新增工序 |
| 更新工序 | PUT | /admin-api/mes/process/update | 编辑工序信息 |
| 删除工序 | DELETE | /admin-api/mes/process/delete | 逻辑删除工序 |
| 更新工序状态 | PUT | /admin-api/mes/process/update-status | 启用/禁用工序 |
| 工序导入 | POST | /admin-api/mes/process/import | Excel 批量导入工序 |
| 工序导出 | GET | /admin-api/mes/process/export | 导出工序 Excel |
3.2 工艺路线管理
3.2.1 页面设计
工艺路线详情页面(含工序编排):

3.2.2 功能列表
| 功能项 | 优先级 | 描述 |
|---|---|---|
| 工艺路线列表查询 | P0 | 分页查询,支持按路线编码、名称、关联产品、版本、状态筛选 |
| 工艺路线新增 | P0 | 创建路线,填写编码、名称、关联产品、描述;添加工序明细 |
| 工艺路线编辑 | P0 | 修改路线信息,已发布的路线需通过「新建版本」编辑 |
| 工艺路线删除 | P1 | 逻辑删除路线,有执行中工单的路线不允许删除 |
| 工艺路线发布 | P0 | 将路线从草稿发布为生效状态 |
| 版本管理 | P1 | 路线变更后自动生成新版本,保留历史版本,支持版本对比 |
| 工艺路线复制 | P2 | 基于已有路线快速创建新路线(适用于相似产品) |
| 工序顺序调整 | P0 | 支持拖拽或手动输入序号调整工序顺序 |
3.2.3 业务规则
| 规则 | 说明 | 设计原因 |
|---|---|---|
| 编码自动生成 | RL + 年月日 + 4 位流水号,创建后不可修改 | 编码含日期信息便于人工识别创建时间 |
| 至少一道工序 | 每条路线必须包含至少一道工序才能发布 | 没有工序的路线没有生产指导意义 |
| 工序不可重复 | 同一工序在同一路线中只出现一次 | 防止重复报工导致产量虚增 |
| 关键工序必检 | 标记为关键工序的节点必须经过质量检验 | 对产品质量影响大的工序需要强制检验把关 |
| 发布后不可直编 | 已发布路线不允许直接编辑,需「新建版本」 | 已发布的路线可能正被工单引用,直接修改会导致执行混乱 |
| 版本递增 | 版本号为同一路线编码下的递增序号 | 便于追溯工艺变更历史,满足质量体系审计要求 |
| 一产品多路线 | 同一产品可关联多条工艺路线 | 同一产品可能在不同产线或不同条件下使用不同工艺 |
3.2.4 状态流转

3.2.5 接口列表
| 接口名称 | 请求方式 | 路径 | 说明 |
|---|---|---|---|
| 工艺路线分页查询 | GET | /admin-api/mes/routing/page | 按条件分页查询工艺路线 |
| 工艺路线详情 | GET | /admin-api/mes/routing/get | 获取工艺路线详情(含工序明细) |
| 工艺路线下拉列表 | GET | /admin-api/mes/routing/simple-list | 获取已发布的路线列表 |
| 创建工艺路线 | POST | /admin-api/mes/routing/create | 新增工艺路线 |
| 更新工艺路线 | PUT | /admin-api/mes/routing/update | 编辑路线信息(仅草稿状态) |
| 删除工艺路线 | DELETE | /admin-api/mes/routing/delete | 逻辑删除路线 |
| 发布工艺路线 | PUT | /admin-api/mes/routing/publish | 发布路线为生效状态 |
| 停用工艺路线 | PUT | /admin-api/mes/routing/disable | 停用已发布的路线 |
| 新建版本 | POST | /admin-api/mes/routing/new-version | 基于已有路线创建新版本 |
| 版本历史 | GET | /admin-api/mes/routing/versions | 查询路线的版本历史 |
| 添加路线工序 | POST | /admin-api/mes/routing/add-step | 向路线中添加工序 |
| 移除路线工序 | DELETE | /admin-api/mes/routing/remove-step | 从路线中移除工序 |
| 调整工序顺序 | PUT | /admin-api/mes/routing/reorder-steps | 调整路线中工序的顺序 |
3.3 BOM 物料清单管理
3.3.1 页面设计
BOM 树形展开页面:

3.3.2 功能列表
| 功能项 | 优先级 | 描述 |
|---|---|---|
| BOM 列表查询 | P0 | 分页查询,支持按产品编码/名称、BOM 编码、版本、状态筛选 |
| BOM 新增 | P0 | 创建 BOM,选择父项产品,添加子项物料明细 |
| BOM 编辑 | P0 | 修改 BOM,已发布的需通过「新建版本」编辑 |
| BOM 删除 | P1 | 逻辑删除 BOM,有执行中工单的 BOM 不允许删除 |
| BOM 发布 | P0 | 将 BOM 从草稿发布为生效状态 |
| 版本管理 | P1 | BOM 变更后自动生成新版本,保留历史版本 |
| 多级 BOM 展开 | P0 | 递归展开 BOM 树结构,展示完整物料层级 |
| BOM 用量计算 | P1 | 根据计划数量自动计算各层级物料总需求量 |
| 替代物料管理 | P2 | 为关键物料设置替代物料及替代优先级 |
| BOM 导入导出 | P2 | 支持 Excel 批量导入/导出 |
3.3.3 业务规则
| 规则 | 说明 | 设计原因 |
|---|---|---|
| 编码自动生成 | BM + 年月日 + 4 位流水号 | 与工艺路线编码规则一致,便于识别 |
| 一产品一版本一发布 | 同一产品同一版本只能有一条已发布的 BOM | 避免工单关联时出现歧义 |
| 用量精度四位 | 子项物料用量精度到小数点后四位 | 化工、电子等行业用料精度要求高 |
| 最多 10 层嵌套 | 多级 BOM 支持最多 10 层 | 平衡业务需求与递归查询性能 |
| 禁止循环引用 | 子项物料不得反向引用父项 | 循环引用会导致 BOM 展开死循环 |
| 发布后不可直编 | 需通过「新建版本」操作 | 同工艺路线,保护已执行工单的数据一致性 |
| 损耗率独立 | 损耗率与用量分开计算 | 用量是理论值,损耗率是实际生产中的合理浪费比例 |
3.3.4 接口列表
| 接口名称 | 请求方式 | 路径 | 说明 |
|---|---|---|---|
| BOM 分页查询 | GET | /admin-api/mes/bom/page | 按条件分页查询 BOM 列表 |
| BOM 详情 | GET | /admin-api/mes/bom/get | 获取 BOM 详情(含子项物料明细) |
| BOM 树形展开 | GET | /admin-api/mes/bom/tree | 递归展开多级 BOM 树结构 |
| BOM 下拉列表 | GET | /admin-api/mes/bom/simple-list | 获取已发布的 BOM 列表 |
| 创建 BOM | POST | /admin-api/mes/bom/create | 新增 BOM |
| 更新 BOM | PUT | /admin-api/mes/bom/update | 编辑 BOM(仅草稿状态) |
| 删除 BOM | DELETE | /admin-api/mes/bom/delete | 逻辑删除 BOM |
| 发布 BOM | PUT | /admin-api/mes/bom/publish | 发布 BOM |
| 停用 BOM | PUT | /admin-api/mes/bom/disable | 停用已发布的 BOM |
| 新建版本 | POST | /admin-api/mes/bom/new-version | 基于已有 BOM 创建新版本 |
| 版本历史 | GET | /admin-api/mes/bom/versions | 查询 BOM 的版本历史 |
| 添加子项物料 | POST | /admin-api/mes/bom/add-item | 向 BOM 中添加子项物料 |
| 移除子项物料 | DELETE | /admin-api/mes/bom/remove-item | 从 BOM 中移除子项物料 |
| 用量计算 | GET | /admin-api/mes/bom/calculate | 根据计划数量计算物料需求 |
| 添加替代物料 | POST | /admin-api/mes/bom/add-substitute | 添加替代物料 |
| BOM 导出 | GET | /admin-api/mes/bom/export | 导出 BOM Excel |
| BOM 导入 | POST | /admin-api/mes/bom/import | Excel 导入 BOM |
3.4 生产工单管理
3.4.1 页面设计
生产工单管理页面:

工单详情页面(工序进度视图):

3.4.2 功能列表
| 功能项 | 优先级 | 描述 |
|---|---|---|
| 工单列表查询 | P0 | 分页查询,支持按工单号、产品、状态、计划开工日期、车间/产线筛选 |
| 工单新增 | P0 | 创建工单,选择产品、工艺路线、BOM,填写计划数量、日期 |
| 工单编辑 | P0 | 修改工单信息(仅待审核状态可编辑) |
| 工单删除 | P1 | 逻辑删除工单(仅待审核/已取消状态可删除) |
| 工单审核 | P0 | 审核工单,审核通过后方可下发 |
| 工单下发 | P0 | 将审核通过的工单下发至车间,自动生成各工序任务 |
| 工单开工 | P0 | 确认开工(可手动或首道工序报工时自动开工) |
| 工单完工 | P0 | 所有工序完工后自动标记完工,或手动标记 |
| 工单关闭 | P1 | 关闭工单,关闭后不再允许报工 |
| 工单暂停/恢复 | P1 | 因异常暂停生产,异常解除后恢复 |
| 工单优先级调整 | P2 | 调整优先级(高/中/低),影响排程顺序 |
| 工单详情 | P0 | 查看完整信息:基本信息、工艺路线、BOM、工序进度、报工记录、质检记录 |
| 工单拆分 | P2 | 将大工单拆分为多个小工单分批执行 |
| 工单合并 | P2 | 将同一产品多个小工单合并为一个 |
| 工单导出 | P1 | 导出工单列表 Excel |
3.4.3 业务规则
| 规则 | 说明 | 设计原因 |
|---|---|---|
| 工单号自动生成 | WO + 年月日 + 4 位流水号 | 工单号是跨模块关联的核心单号,自动生成避免重复 |
| 9 种状态 | 待审核、审核通过、已下发、生产中、已完工、已关闭、已暂停、已取消、审核拒绝 | 覆盖工单从创建到归档的完整生命周期 |
| 自动关联工艺 | 创建时自动关联产品的当前有效工艺路线和 BOM | 工单快照当时的工艺版本,后续工艺变更不影响已执行工单 |
| 下发自动生成任务 | 下发后按工艺路线自动生成各工序任务 | 减少计划员手工拆分工序的工作量 |
| 完工自动触发入库 | 已完工工单自动触发成品入库流程(联动 WMS) | 打通生产到仓储的数据链路 |
| 日期校验 | 计划完工日期不得早于计划开工日期 | 基本逻辑校验,防止无效工单 |
| 优先级默认中 | 高/中/低三档,默认中 | 提醒计划员主动设置优先级,影响排程顺序 |
3.4.4 状态流转

状态说明:
- 待审核:工单已创建,等待主管审核
- 审核通过:审核通过,等待下发至车间
- 已下发:工单已下发,系统自动生成各工序任务
- 生产中:首道工序开始报工,工单进入执行状态
- 已暂停:因设备故障、物料短缺等异常原因暂停
- 已完工:所有工序任务已完成
- 已关闭:工单归档,不再允许任何操作
- 已取消:工单作废
- 审核拒绝:审核未通过,可修改后重新提交
3.4.5 接口列表
| 接口名称 | 请求方式 | 路径 | 说明 |
|---|---|---|---|
| 工单分页查询 | GET | /admin-api/mes/work-order/page | 按条件分页查询工单 |
| 工单详情 | GET | /admin-api/mes/work-order/get | 获取工单详情(含工序任务列表) |
| 创建工单 | POST | /admin-api/mes/work-order/create | 新增生产工单 |
| 更新工单 | PUT | /admin-api/mes/work-order/update | 编辑工单(仅待审核状态) |
| 删除工单 | DELETE | /admin-api/mes/work-order/delete | 逻辑删除工单 |
| 审核工单 | PUT | /admin-api/mes/work-order/audit | 审核通过或驳回 |
| 下发工单 | PUT | /admin-api/mes/work-order/release | 下发工单至车间 |
| 开工确认 | PUT | /admin-api/mes/work-order/start | 确认工单开工 |
| 完工确认 | PUT | /admin-api/mes/work-order/complete | 确认工单完工 |
| 关闭工单 | PUT | /admin-api/mes/work-order/close | 关闭工单 |
| 暂停工单 | PUT | /admin-api/mes/work-order/suspend | 暂停工单 |
| 恢复工单 | PUT | /admin-api/mes/work-order/resume | 恢复暂停的工单 |
| 工单导出 | GET | /admin-api/mes/work-order/export | 导出工单 Excel |
3.5 生产报工
3.5.1 功能列表
| 功能项 | 优先级 | 描述 |
|---|---|---|
| 报工记录列表 | P0 | 分页查询,支持按工单号、工序、操作员、报工日期筛选 |
| 手动报工 | P0 | 后台手动录入报工数据(适用于补录或异常情况) |
| 扫码报工 | P1 | 操作员扫描工单条码/工序条码触发报工界面 |
| 报工审核 | P1 | 班组长审核报工记录,确认数据准确性 |
| 报工详情 | P0 | 查看报工详情,含报工数量、工时、不良品信息 |
| 报工统计 | P1 | 按工单/工序/人员/时间维度统计报工数据 |
| 报工导出 | P2 | 导出报工记录 Excel |
3.5.2 业务规则
| 规则 | 说明 | 设计原因 |
|---|---|---|
| 报工单号自动生成 | RW + 年月日 + 6 位流水号 | 报工频率高,6 位流水号避免日内编号耗尽 |
| 必须关联工单和工序 | 每次报工必须关联具体的工单和工序任务 | 确保报工数据可追溯到具体生产任务 |
| 数量上限校验 | 合格数 + 不良数 + 报废数 ≤ 剩余计划数量 | 防止超产报工导致数据失真 |
| 合格数自动计算 | 合格数 = 报工总数 - 不良数 - 报废数 | 减少操作员计算工作量,避免录入错误 |
| 自动累加完工数 | 报工后自动累加工序任务的完工数量 | 实时反映生产进度 |
| 工序完成自动标记 | 工序任务所有计划数量完工后自动标记完成 | 减少人工操作,状态自动流转 |
| 工单完工自动标记 | 所有工序任务完成后自动标记工单完工 | 同上,层层自动驱动 |
| 报工不可修改 | 提交后不可修改,纠正需创建冲销记录 | 保证生产数据的真实性和审计可追溯 |
| 关键工序触发检验 | 关键工序报工时自动触发质量检验流程 | 确保关键工序产出经过质量把关 |
3.5.3 接口列表
| 接口名称 | 请求方式 | 路径 | 说明 |
|---|---|---|---|
| 报工记录分页查询 | GET | /admin-api/mes/report/page | 按条件分页查询报工记录 |
| 报工详情 | GET | /admin-api/mes/report/get | 获取报工详情 |
| 手动报工 | POST | /admin-api/mes/report/create | 手动创建报工记录 |
| 扫码报工 | POST | /admin-api/mes/report/scan | 扫码触发报工 |
| 审核报工 | PUT | /admin-api/mes/report/audit | 审核报工记录 |
| 工单报工进度 | GET | /admin-api/mes/report/progress | 查询工单报工进度汇总 |
| 报工统计 | GET | /admin-api/mes/report/statistics | 按维度统计报工数据 |
| 报工导出 | GET | /admin-api/mes/report/export | 导出报工记录 Excel |
3.6 质量管理
3.6.1 检验模板管理
功能列表:
| 功能项 | 优先级 | 描述 |
|---|---|---|
| 检验模板列表 | P0 | 分页查询,支持按模板名称、适用阶段、状态筛选 |
| 检验模板新增 | P0 | 创建模板:名称、适用阶段、检验方式、抽样标准 |
| 检验模板编辑 | P0 | 修改模板信息和检验项目 |
| 检验模板删除 | P1 | 逻辑删除模板(有进行中的检验记录不允许删除) |
| 检验项目配置 | P0 | 添加检验项目:名称、标准值、上下限、检验方法 |
| 抽样规则设置 | P1 | 配置抽样方案:批量范围、抽样数量、接收数/拒收数 |
| 模板启用/禁用 | P0 | 启用或禁用检验模板 |
业务规则:
| 规则 | 说明 | 设计原因 |
|---|---|---|
| 三阶段模板 | IQC(来料)、IPQC(过程)、FQC(成品) | 覆盖制造业质量检验的三个关键节点 |
| 全检/抽检 | 全检 100% 检验,抽检按抽样方案 | 不同物料/工序的质量要求不同,灵活配置 |
| 抽检参照国标 | 参照 GB/T 2828.1 标准 | 国标是制造业通用的抽样判定依据 |
| 项目分两类 | 计量型(数值测量)、计数型(合格/不合格) | 尺寸用数值,外观用合格/不合格,覆盖不同检验场景 |
| 上下限自动判定 | 实测值在上下限范围内判定合格 | 减少检验员主观判定误差 |
接口列表:
| 接口名称 | 请求方式 | 路径 | 说明 |
|---|---|---|---|
| 检验模板分页查询 | GET | /admin-api/mes/quality/template/page | 按条件查询检验模板 |
| 检验模板详情 | GET | /admin-api/mes/quality/template/get | 获取模板详情(含检验项目) |
| 创建检验模板 | POST | /admin-api/mes/quality/template/create | 新增检验模板 |
| 更新检验模板 | PUT | /admin-api/mes/quality/template/update | 编辑检验模板 |
| 删除检验模板 | DELETE | /admin-api/mes/quality/template/delete | 逻辑删除模板 |
| 更新模板状态 | PUT | /admin-api/mes/quality/template/update-status | 启用/禁用模板 |
| 添加检验项目 | POST | /admin-api/mes/quality/template/add-item | 添加检验项目 |
| 更新检验项目 | PUT | /admin-api/mes/quality/template/update-item | 编辑检验项目 |
| 删除检验项目 | DELETE | /admin-api/mes/quality/template/delete-item | 删除检验项目 |
3.6.2 检验记录与不良品管理
功能列表:
| 功能项 | 优先级 | 描述 |
|---|---|---|
| 检验记录列表 | P0 | 分页查询,支持按检验单号、阶段、来源、结果、日期筛选 |
| 创建检验记录 | P0 | 手动创建或系统自动触发(报工/入库时自动生成) |
| 检验执行 | P0 | 录入各检验项目实测值,系统自动判定 |
| 结果判定 | P0 | 系统自动判定,支持人工覆写(需留痕) |
| 不良品处理 | P0 | 不合格品处理:返工、报废、让步接收、退货 |
| 不良品跟踪 | P1 | 处理进度跟踪,返工后重新检验 |
| 检验报告 | P1 | 生成检验报告,支持打印和导出 |
业务规则:
| 规则 | 说明 | 设计原因 |
|---|---|---|
| IQC 在入库前 | 来料检验不合格不允许入库 | 防止不合格原材料流入生产线 |
| IPQC 报工触发 | 关键工序报工时自动触发过程检验 | 在制品质量把控,及时发现批量不良 |
| FQC 完工触发 | 工单完工后自动触发成品检验,合格才能入库 | 确保出货产品质量 |
| 让步接收需审批 | 让步接收需填写审批说明和审批人 | 不合格品有条件使用需要责任到人 |
| 检验记录不可删 | 检验记录不可删除,只可追加备注 | 质量数据需要完整保留,满足质量审计要求 |
| 人工覆写留痕 | 人工覆写判定结果需填写覆写原因 | 防止人为篡改检验结论 |
接口列表:
| 接口名称 | 请求方式 | 路径 | 说明 |
|---|---|---|---|
| 检验记录分页查询 | GET | /admin-api/mes/quality/inspection/page | 按条件查询检验记录 |
| 检验记录详情 | GET | /admin-api/mes/quality/inspection/get | 获取检验详情 |
| 创建检验记录 | POST | /admin-api/mes/quality/inspection/create | 手动创建检验任务 |
| 执行检验 | PUT | /admin-api/mes/quality/inspection/execute | 录入检验实测值 |
| 判定检验结果 | PUT | /admin-api/mes/quality/inspection/judge | 判定合格/不合格 |
| 不良品处理 | POST | /admin-api/mes/quality/inspection/handle-defect | 处理不合格品 |
| 检验报告 | GET | /admin-api/mes/quality/inspection/report | 生成检验报告 |
| 检验记录导出 | GET | /admin-api/mes/quality/inspection/export | 导出检验记录 Excel |
3.7 设备管理
3.7.1 设备台账管理
功能列表:
| 功能项 | 优先级 | 描述 |
|---|---|---|
| 设备列表查询 | P0 | 分页查询,支持按编码、名称、类型、状态、车间筛选 |
| 设备新增 | P0 | 创建设备:编码、名称、类型、规格、位置、购入信息等 |
| 设备编辑 | P0 | 修改设备信息 |
| 设备删除 | P1 | 逻辑删除(有进行中维保工单不允许删除) |
| 设备状态管理 | P0 | 更新设备运行状态 |
| 设备详情 | P0 | 查看完整信息,含维保记录、运行统计 |
| 设备分类 | P1 | 设备分类树管理 |
| 设备导入导出 | P2 | Excel 批量导入/导出设备台账 |
业务规则:
| 规则 | 说明 | 设计原因 |
|---|---|---|
| 编码含分类 | EQ + 4 位分类码 + 4 位流水号 | 编码自带设备分类信息,便于识别和管理 |
| 6 种状态 | 空闲、运行中、维修中、保养中、停用、报废 | 覆盖设备从投入使用到报废的全生命周期 |
| 报废不可恢复 | 状态变为报废后不可恢复 | 报废设备不应再出现在生产调度中 |
| 累计运行工时 | 每次运行自动累加运行工时 | 作为按工时触发保养计划的依据 |
接口列表:
| 接口名称 | 请求方式 | 路径 | 说明 |
|---|---|---|---|
| 设备分页查询 | GET | /admin-api/mes/equipment/page | 按条件分页查询设备 |
| 设备详情 | GET | /admin-api/mes/equipment/get | 获取设备详情 |
| 设备下拉列表 | GET | /admin-api/mes/equipment/simple-list | 获取设备下拉列表 |
| 创建设备 | POST | /admin-api/mes/equipment/create | 新增设备 |
| 更新设备 | PUT | /admin-api/mes/equipment/update | 编辑设备 |
| 删除设备 | DELETE | /admin-api/mes/equipment/delete | 逻辑删除设备 |
| 更新设备状态 | PUT | /admin-api/mes/equipment/update-status | 变更设备状态 |
| 设备分类树 | GET | /admin-api/mes/equipment/category/tree | 获取设备分类树 |
3.7.2 保养计划管理
功能列表:
| 功能项 | 优先级 | 描述 |
|---|---|---|
| 保养计划列表 | P0 | 分页查询,支持按设备、保养类型、状态筛选 |
| 保养计划新增 | P0 | 创建计划:关联设备、保养类型、周期、项目清单 |
| 保养计划编辑 | P1 | 修改保养计划信息 |
| 保养计划删除 | P1 | 逻辑删除计划 |
| 保养计划启用/禁用 | P0 | 启用或禁用保养计划 |
| 保养任务自动生成 | P0 | 系统根据周期规则自动生成保养工单 |
业务规则:
| 规则 | 说明 | 设计原因 |
|---|---|---|
| 5 种保养类型 | 日保、周保、月保、季保、年保 | 覆盖不同频率的保养需求 |
| 两种触发方式 | 按时间周期(如每 30 天)、按运行工时(如每 500 小时) | 不同设备适合不同的触发维度 |
| 自动生成工单 | 系统定时任务检测触发条件并生成保养工单 | 避免人工记忆遗漏,确保保养按时执行 |
| 自动通知 | 保养工单生成后自动通知设备管理员 | 确保保养任务及时被接收和执行 |
接口列表:
| 接口名称 | 请求方式 | 路径 | 说明 |
|---|---|---|---|
| 保养计划分页查询 | GET | /admin-api/mes/equipment/maintenance-plan/page | 按条件查询保养计划 |
| 保养计划详情 | GET | /admin-api/mes/equipment/maintenance-plan/get | 获取保养计划详情 |
| 创建保养计划 | POST | /admin-api/mes/equipment/maintenance-plan/create | 新增保养计划 |
| 更新保养计划 | PUT | /admin-api/mes/equipment/maintenance-plan/update | 编辑保养计划 |
| 删除保养计划 | DELETE | /admin-api/mes/equipment/maintenance-plan/delete | 逻辑删除保养计划 |
| 更新计划状态 | PUT | /admin-api/mes/equipment/maintenance-plan/update-status | 启用/禁用保养计划 |
3.7.3 维修工单管理
功能列表:
| 功能项 | 优先级 | 描述 |
|---|---|---|
| 维修工单列表 | P0 | 分页查询,支持按工单号、设备、状态、报修日期筛选 |
| 报修登记 | P0 | 登记设备故障报修:设备、故障描述、紧急程度 |
| 维修派工 | P0 | 指派维修人员和维修时间 |
| 维修执行 | P0 | 记录维修过程:故障原因、维修措施、更换配件、耗时 |
| 维修验收 | P0 | 维修完成后由报修人验收确认 |
| 维修工单关闭 | P1 | 验收通过后关闭维修工单 |
| 维修记录统计 | P1 | 按设备/时间/故障类型统计维修数据 |
业务规则:
| 规则 | 说明 | 设计原因 |
|---|---|---|
| 报修自动改状态 | 报修时自动将设备状态更新为「维修中」 | 防止维修期间设备被排产 |
| 验收自动恢复 | 验收通过后设备状态恢复为「空闲」 | 维修完成后设备可重新投入生产 |
| 配件关联库存 | 维修消耗的配件需关联库存扣减 | 维修成本精确核算,备件库存实时更新 |
| 维保记录归档 | 维修记录自动关联至设备台账的维保记录 | 设备全生命周期维保历史可追溯 |
维修工单状态流转:

接口列表:
| 接口名称 | 请求方式 | 路径 | 说明 |
|---|---|---|---|
| 维修工单分页查询 | GET | /admin-api/mes/equipment/repair/page | 按条件查询维修工单 |
| 维修工单详情 | GET | /admin-api/mes/equipment/repair/get | 获取维修工单详情 |
| 报修登记 | POST | /admin-api/mes/equipment/repair/create | 创建维修工单 |
| 维修派工 | PUT | /admin-api/mes/equipment/repair/assign | 指派维修人员 |
| 开始维修 | PUT | /admin-api/mes/equipment/repair/start | 维修人员开始维修 |
| 完成维修 | PUT | /admin-api/mes/equipment/repair/complete | 提交维修结果 |
| 验收确认 | PUT | /admin-api/mes/equipment/repair/confirm | 报修人验收确认 |
| 取消工单 | PUT | /admin-api/mes/equipment/repair/cancel | 取消维修工单 |
3.8 生产看板
3.8.1 页面设计
生产看板(大屏模式):

3.8.2 功能列表
| 功能项 | 优先级 | 描述 |
|---|---|---|
| 生产进度看板 | P0 | 实时展示各工单进度:计划数/完工数/完成率 |
| 工序状态看板 | P0 | 展示各工序实时状态,关键工序高亮 |
| 质量统计看板 | P1 | 良率趋势、不良品分布、各工单质量情况 |
| 设备状态看板 | P1 | 设备实时状态分布、OEE 指标 |
| 产量统计看板 | P0 | 按日/周/月统计产量,按产品/车间/产线维度 |
| 工单交付看板 | P1 | 工单交期达成情况,逾期预警高亮 |
| 效率分析看板 | P2 | 人员效率、设备效率、产线效率分析图表 |
| 异常预警看板 | P1 | 生产异常实时告警:进度滞后、设备故障、质量异常、物料短缺 |
3.8.3 业务规则
| 规则 | 说明 | 设计原因 |
|---|---|---|
| 实时推送 | 进度数据通过 WebSocket 推送,延迟 < 500ms | 车间大屏需要实时数据,手动刷新不现实 |
| 统计定时刷新 | 统计数据每 5 分钟刷新 | 统计数据计算量大,不需要秒级实时 |
| 黄色预警 | 完成率 < 80% 且时间进度 > 80% | 提前预警,给管理者留出调整时间 |
| 红色预警 | 完成率 < 60% 且时间进度 > 80% | 严重滞后,需要立即干预 |
| 良率预警 | 良率 < 95% 标黄,< 90% 标红 | 质量异常需要及时发现和处理 |
| 逾期自动通知 | 逾期工单自动标红并推送消息通知 | 确保管理者第一时间知道交期风险 |
| 全屏模式 | 看板支持全屏展示,适配大屏分辨率 | 车间通常用大屏电视展示看板 |
3.8.4 接口列表
| 接口名称 | 请求方式 | 路径 | 说明 |
|---|---|---|---|
| 生产进度看板 | GET | /admin-api/mes/dashboard/production-progress | 获取工单生产进度数据 |
| 工序状态看板 | GET | /admin-api/mes/dashboard/process-status | 获取工序实时状态数据 |
| 质量统计看板 | GET | /admin-api/mes/dashboard/quality | 获取质量统计数据 |
| 设备状态看板 | GET | /admin-api/mes/dashboard/equipment | 获取设备实时状态 |
| 产量统计看板 | GET | /admin-api/mes/dashboard/output | 获取产量统计数据 |
| 工单交付看板 | GET | /admin-api/mes/dashboard/delivery | 获取工单交付达成数据 |
| 效率分析看板 | GET | /admin-api/mes/dashboard/efficiency | 获取效率分析数据 |
| 异常预警列表 | GET | /admin-api/mes/dashboard/alerts | 获取当前异常预警列表 |
| OEE 指标 | GET | /admin-api/mes/dashboard/oee | 获取设备综合效率数据 |
四、非功能需求
4.1 性能要求
| 指标 | 要求 | 实现策略 |
|---|---|---|
| 工单列表查询 | < 300ms | 工单状态和日期字段建复合索引,列表查询只查主表不关联子表 |
| BOM 树形展开 | 10 层 BOM 展开 < 500ms | 递归查询使用 CTE(公共表表达式),结果缓存到 Redis |
| 报工提交响应 | < 200ms | 报工接口使用乐观锁(version 字段),避免悲观锁的性能开销 |
| 生产看板加载 | < 1s | 看板数据预计算,存入 Redis Hash,定时任务刷新 |
| WebSocket 推送 | 延迟 < 500ms | 使用 STOMP over WebSocket,按车间/产线分 Topic |
| 检验记录提交 | < 300ms | 检验主表和检验项目明细使用批量插入 |
| 设备状态更新 | < 100ms | 设备状态缓存到 Redis,更新时双写 |
| 工单导出 | 1 万条 < 10s | 使用异步导出 + 流式写入 Excel |
| 报工统计查询 | 月度报表 < 3s | 统计数据按日预聚合,查询时直接读取聚合结果 |
| 并发报工 | 200 人同时报工无冲突 | 乐观锁 + 数据库行锁,报工数量字段使用原子操作 |
| 保养任务生成 | 1000 条计划检测 < 5s | 定时任务分批扫描,每次处理 200 条 |
4.2 安全要求
| 安全项 | 要求 | 实现方式 |
|---|---|---|
| 工单审核 | 关键操作必须经过审核流程 | 工单创建→审核→下发三段式,审核可对接工作流引擎 |
| 报工不可篡改 | 报工记录提交后不可修改 | 数据库层面前端均不提供修改接口,纠正通过冲销记录 |
| 质量数据不可篡改 | 检验记录提交后不可修改 | 同上,人工覆写判定结果需记录覆写原因和操作人 |
| 操作审计 | 所有关键操作记录日志 | 使用 AOP 切面自动记录操作日志(操作人、时间、内容) |
| 权限控制 | 基于 RBAC 权限模型 | 每个接口对应权限标识,前端按钮级权限控制 |
| 数据隔离 | 多租户数据隔离 | 所有表含 tenant_id,MyBatis Plus 租户插件自动注入 |
| 并发安全 | 报工数量一致性 | 乐观锁(version 字段),冲突时提示重试 |
| 版本管理 | 工艺路线/BOM 变更保留历史 | 版本表设计,发布时创建新版本记录,旧版本不修改 |
4.3 可用性要求
| 可用项 | 要求 |
|---|---|
| 数据库兼容 | 支持 MySQL、PostgreSQL、Oracle、Kingbase、DB2、H2 |
| 浏览器兼容 | Chrome、Firefox、Edge、Safari 最新两个版本 |
| 大屏适配 | 生产看板支持全屏模式和 1920×1080、3840×2160 分辨率 |
| 移动端适配 | 报工和检验功能适配平板设备,支持触屏操作 |
| 条码设备兼容 | 扫码报工兼容主流工业扫码枪和 PDA 设备 |
| 消息推送 | WebSocket 推送支持断线重连 |
4.4 错误码定义
| 错误码 | 说明 | 处理建议 |
|---|---|---|
| MES_PROCESS_001 | 工序编码已存在 | 更换编码后重试 |
| MES_PROCESS_002 | 工序已被工艺路线引用,无法删除 | 先移除工艺路线中的引用 |
| MES_ROUTING_001 | 工艺路线至少需要一道工序 | 添加工序后再发布 |
| MES_ROUTING_002 | 已发布的工艺路线不可直接编辑 | 使用「新建版本」操作 |
| MES_BOM_001 | BOM 存在循环引用 | 检查子项物料是否反向引用了父项 |
| MES_BOM_002 | BOM 嵌套层级超过 10 层 | 简化 BOM 结构 |
| MES_WO_001 | 计划完工日期不能早于计划开工日期 | 修正日期 |
| MES_WO_002 | 当前工单状态不允许此操作 | 检查工单状态流转规则 |
| MES_REPORT_001 | 报工数量超过剩余计划数量 | 核实实际产出数量 |
| MES_REPORT_002 | 报工记录不可修改 | 创建冲销记录进行纠正 |
| MES_QUALITY_001 | 检验模板有进行中的检验记录,无法删除 | 等待检验完成后再删除 |
| MES_EQUIPMENT_001 | 设备有进行中的维保工单,无法删除 | 完成维保工单后再删除 |
| MES_EQUIPMENT_002 | 报废设备不可恢复 | 确认设备确实报废 |
五、数据设计
5.1 数据表概览
| 表名 | 说明 | 所属功能 |
|---|---|---|
| mes_process | 工艺工序表 | 工艺工序管理 |
| mes_routing | 工艺路线表 | 工艺路线管理 |
| mes_routing_step | 工艺路线工序表 | 工艺路线管理 |
| mes_bom | BOM 主表 | BOM 管理 |
| mes_bom_item | BOM 子项物料表 | BOM 管理 |
| mes_bom_substitute | BOM 替代物料表 | BOM 管理 |
| mes_work_order | 生产工单表 | 生产工单管理 |
| mes_work_order_task | 工序任务表 | 生产工单管理 |
| mes_report | 报工记录表 | 生产报工 |
| mes_quality_template | 质量检验模板表 | 质量管理 |
| mes_quality_template_item | 检验项目表 | 质量管理 |
| mes_quality_inspection | 检验记录表 | 质量管理 |
| mes_quality_inspection_item | 检验项目结果表 | 质量管理 |
| mes_quality_defect | 不良品记录表 | 质量管理 |
| mes_equipment | 设备台账表 | 设备管理 |
| mes_maintenance_plan | 保养计划表 | 设备管理 |
| mes_maintenance_plan_item | 保养项目表 | 设备管理 |
| mes_equipment_repair | 维修工单表 | 设备管理 |
| mes_maintenance_record | 维保记录表 | 设备管理 |
5.2 数据关系图

5.3 缓存策略
| 缓存 Key | 数据内容 | 过期时间 | 更新策略 |
|---|---|---|---|
| mes:routing:published: | 产品当前有效的工艺路线 ID | 24h | 工艺路线发布/停用时删除 |
| mes:bom:published: | 产品当前有效的 BOM ID | 24h | BOM 发布/停用时删除 |
| mes:bom:tree: | BOM 树形展开结果 | 1h | BOM 变更时删除 |
| mes:dashboard: | 生产看板聚合数据 | 5min | 定时任务刷新 |
| mes:equipment:status: | 设备实时状态 | 不过期 | 状态变更时更新 |
5.4 核心数据表结构
5.4.1 mes_process 工艺工序表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| code | varchar(32) | 是 | 工序编码,租户内唯一 |
| name | varchar(64) | 是 | 工序名称 |
| type | tinyint | 是 | 工序类型:1-加工 2-检验 3-运输 4-储存 5-包装 |
| standard_hours | decimal(8,2) | 否 | 标准工时(分钟) |
| standard_output | decimal(10,2) | 否 | 标准产出(件/小时) |
| equipment_type | varchar(64) | 否 | 所需设备类型 |
| description | varchar(512) | 否 | 工序描述 |
| sort | int | 是 | 排序号 |
| status | tinyint | 是 | 状态:0-启用 1-禁用 |
| remark | varchar(512) | 否 | 备注 |
| creator | varchar(64) | 否 | 创建者 |
| create_time | datetime | 是 | 创建时间 |
| updater | varchar(64) | 否 | 更新者 |
| update_time | datetime | 是 | 更新时间 |
| deleted | bit(1) | 是 | 逻辑删除 |
| tenant_id | bigint | 是 | 租户 ID |
5.4.2 mes_routing 工艺路线表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| code | varchar(32) | 是 | 路线编码,租户内唯一 |
| name | varchar(128) | 是 | 路线名称 |
| product_id | bigint | 否 | 关联产品 ID(可为空,表示通用路线) |
| version | int | 是 | 版本号,默认 1 |
| description | varchar(512) | 否 | 路线描述 |
| status | tinyint | 是 | 状态:0-草稿 1-已发布 2-已停用 |
| is_current | bit(1) | 是 | 是否当前有效版本 |
| parent_id | bigint | 否 | 上一版本 ID |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.3 mes_routing_step 工艺路线工序表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| routing_id | bigint | 是 | 所属工艺路线 ID |
| process_id | bigint | 是 | 工序 ID |
| step_no | int | 是 | 工序顺序号 |
| is_key | bit(1) | 是 | 是否关键工序 |
| standard_hours | decimal(8,2) | 否 | 本路线该工序标准工时(覆盖工序默认值) |
| description | varchar(256) | 否 | 本路线该工序特殊说明 |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.4 mes_bom BOM 主表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| code | varchar(32) | 是 | BOM 编码,租户内唯一 |
| name | varchar(128) | 是 | BOM 名称 |
| product_id | bigint | 是 | 父项产品/半成品 ID |
| version | int | 是 | 版本号,默认 1 |
| status | tinyint | 是 | 状态:0-草稿 1-已发布 2-已停用 |
| is_current | bit(1) | 是 | 是否当前有效版本 |
| parent_id | bigint | 否 | 上一版本 ID |
| base_qty | int | 是 | 基准数量,默认 1 |
| description | varchar(512) | 否 | 描述 |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.5 mes_bom_item BOM 子项物料表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| bom_id | bigint | 是 | 所属 BOM ID |
| material_id | bigint | 是 | 子项物料 ID |
| material_code | varchar(64) | 是 | 物料编码(冗余) |
| material_name | varchar(128) | 是 | 物料名称(冗余) |
| spec | varchar(128) | 否 | 规格型号(冗余) |
| unit | varchar(16) | 是 | 计量单位 |
| usage_qty | decimal(12,4) | 是 | 用量(基于基准数量) |
| loss_rate | decimal(5,2) | 否 | 损耗率(%),默认 0 |
| is_key | bit(1) | 是 | 是否关键物料 |
| level | int | 是 | BOM 层级,默认 1 |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.6 mes_bom_substitute BOM 替代物料表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| bom_item_id | bigint | 是 | 关联 BOM 子项物料 ID |
| substitute_material_id | bigint | 是 | 替代物料 ID |
| substitute_code | varchar(64) | 是 | 替代物料编码(冗余) |
| substitute_name | varchar(128) | 是 | 替代物料名称(冗余) |
| priority | int | 是 | 替代优先级,数字越小越高 |
| substitute_ratio | decimal(12,4) | 是 | 替代比例 |
| remark | varchar(256) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.7 mes_work_order 生产工单表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| order_no | varchar(32) | 是 | 工单号,租户内唯一 |
| product_id | bigint | 是 | 产品 ID |
| product_code | varchar(64) | 是 | 产品编码(冗余) |
| product_name | varchar(128) | 是 | 产品名称(冗余) |
| routing_id | bigint | 是 | 工艺路线 ID |
| bom_id | bigint | 是 | BOM ID |
| plan_qty | int | 是 | 计划生产数量 |
| completed_qty | int | 是 | 已完工数量,默认 0 |
| scrapped_qty | int | 是 | 报废数量,默认 0 |
| priority | tinyint | 是 | 优先级:1-高 2-中 3-低 |
| status | tinyint | 是 | 状态:0-待审核 1-审核通过 2-已下发 3-生产中 4-已完工 5-已关闭 6-已暂停 7-已取消 8-审核拒绝 |
| source_type | tinyint | 否 | 来源类型:1-手动创建 2-销售订单 3-MRP 计划 4-库存补货 |
| source_order_no | varchar(64) | 否 | 来源单号 |
| workshop | varchar(64) | 否 | 生产车间 |
| production_line | varchar(64) | 否 | 生产线 |
| plan_start_time | datetime | 是 | 计划开工时间 |
| plan_end_time | datetime | 是 | 计划完工时间 |
| actual_start_time | datetime | 否 | 实际开工时间 |
| actual_end_time | datetime | 否 | 实际完工时间 |
| audit_user_id | bigint | 否 | 审核人 ID |
| audit_time | datetime | 否 | 审核时间 |
| audit_remark | varchar(256) | 否 | 审核意见 |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.8 mes_work_order_task 工序任务表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| work_order_id | bigint | 是 | 所属工单 ID |
| routing_step_id | bigint | 是 | 工艺路线工序 ID |
| process_id | bigint | 是 | 工序 ID |
| process_name | varchar(64) | 是 | 工序名称(冗余) |
| step_no | int | 是 | 工序顺序号 |
| plan_qty | int | 是 | 计划数量 |
| completed_qty | int | 是 | 已完工数量,默认 0 |
| qualified_qty | int | 是 | 合格数量,默认 0 |
| defective_qty | int | 是 | 不良数量,默认 0 |
| scrapped_qty | int | 是 | 报废数量,默认 0 |
| status | tinyint | 是 | 状态:0-待开始 1-进行中 2-已完成 3-已暂停 |
| is_key | bit(1) | 是 | 是否关键工序 |
| workstation | varchar(64) | 否 | 工位/工作中心 |
| operator_id | bigint | 否 | 操作员 ID |
| plan_start_time | datetime | 否 | 计划开工时间 |
| plan_end_time | datetime | 否 | 计划完工时间 |
| actual_start_time | datetime | 否 | 实际开工时间 |
| actual_end_time | datetime | 否 | 实际完工时间 |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.9 mes_report 报工记录表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| report_no | varchar(32) | 是 | 报工单号,租户内唯一 |
| work_order_id | bigint | 是 | 工单 ID |
| work_order_no | varchar(32) | 是 | 工单号(冗余) |
| task_id | bigint | 是 | 工序任务 ID |
| process_id | bigint | 是 | 工序 ID |
| process_name | varchar(64) | 是 | 工序名称(冗余) |
| operator_id | bigint | 是 | 报工操作员 ID |
| operator_name | varchar(64) | 是 | 操作员姓名(冗余) |
| total_qty | int | 是 | 报工总数量 |
| qualified_qty | int | 是 | 合格数量 |
| defective_qty | int | 是 | 不良数量,默认 0 |
| scrapped_qty | int | 是 | 报废数量,默认 0 |
| work_hours | decimal(6,2) | 否 | 实际工时(小时) |
| equipment_id | bigint | 否 | 使用设备 ID |
| report_time | datetime | 是 | 报工时间 |
| status | tinyint | 是 | 状态:0-待审核 1-已审核 2-已驳回 |
| audit_user_id | bigint | 否 | 审核人 ID |
| audit_time | datetime | 否 | 审核时间 |
| defect_desc | varchar(512) | 否 | 不良品描述 |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.10 mes_quality_template 质量检验模板表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| code | varchar(32) | 是 | 模板编码 |
| name | varchar(128) | 是 | 模板名称 |
| stage | tinyint | 是 | 适用阶段:1-IQC 2-IPQC 3-FQC |
| inspect_type | tinyint | 是 | 检验方式:1-全检 2-抽检 |
| sampling_standard | varchar(64) | 否 | 抽样标准 |
| inspection_level | tinyint | 否 | 检验水平:1-一般 2-加严 3-放宽 |
| sample_size | int | 否 | 抽样数量 |
| accept_num | int | 否 | 接收数(Ac) |
| reject_num | int | 否 | 拒收数(Re) |
| status | tinyint | 是 | 状态:0-启用 1-禁用 |
| description | varchar(512) | 否 | 描述 |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.11 mes_quality_template_item 检验项目表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| template_id | bigint | 是 | 所属检验模板 ID |
| name | varchar(64) | 是 | 检验项目名称 |
| item_type | tinyint | 是 | 项目类型:1-计量型 2-计数型 |
| standard_value | varchar(64) | 否 | 标准值 |
| upper_limit | decimal(12,4) | 否 | 上限值 |
| lower_limit | decimal(12,4) | 否 | 下限值 |
| method | varchar(256) | 否 | 检验方法说明 |
| is_required | bit(1) | 是 | 是否必检项目 |
| sort | int | 是 | 排序号 |
| remark | varchar(256) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.12 mes_quality_inspection 检验记录表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| inspection_no | varchar(32) | 是 | 检验单号,租户内唯一 |
| stage | tinyint | 是 | 检验阶段:1-IQC 2-IPQC 3-FQC |
| template_id | bigint | 是 | 检验模板 ID |
| source_type | tinyint | 是 | 来源类型:1-入库单 2-工序报工 3-工单完工 4-手动创建 |
| source_order_no | varchar(64) | 否 | 来源单号 |
| work_order_id | bigint | 否 | 关联工单 ID |
| product_id | bigint | 是 | 检验产品/物料 ID |
| product_name | varchar(128) | 是 | 产品名称(冗余) |
| batch_no | varchar(64) | 否 | 批次号 |
| inspect_qty | int | 是 | 检验数量 |
| qualified_qty | int | 是 | 合格数量 |
| defective_qty | int | 是 | 不合格数量,默认 0 |
| result | tinyint | 是 | 检验结果:0-待判定 1-合格 2-不合格 3-让步接收 |
| defect_handling | tinyint | 否 | 不良处理方式:1-返工 2-报废 3-让步接收 4-退货 |
| defect_remark | varchar(512) | 否 | 不良品处理说明 |
| inspector_id | bigint | 否 | 检验员 ID |
| inspector_name | varchar(64) | 否 | 检验员姓名(冗余) |
| inspect_time | datetime | 否 | 检验时间 |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.13 mes_quality_inspection_item 检验项目结果表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| inspection_id | bigint | 是 | 所属检验记录 ID |
| template_item_id | bigint | 是 | 模板检验项目 ID |
| item_name | varchar(64) | 是 | 检验项目名称 |
| item_type | tinyint | 是 | 项目类型:1-计量型 2-计数型 |
| standard_value | varchar(64) | 否 | 标准值 |
| upper_limit | decimal(12,4) | 否 | 上限值 |
| lower_limit | decimal(12,4) | 否 | 下限值 |
| actual_value | varchar(64) | 否 | 实测值 |
| result | tinyint | 是 | 单项结果:0-未检 1-合格 2-不合格 |
| is_overridden | bit(1) | 是 | 是否人工覆写判定 |
| override_remark | varchar(256) | 否 | 覆写原因说明 |
| remark | varchar(256) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.14 mes_quality_defect 不良品记录表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| inspection_id | bigint | 是 | 关联检验记录 ID |
| work_order_id | bigint | 否 | 关联工单 ID |
| product_id | bigint | 是 | 产品/物料 ID |
| defect_code | varchar(32) | 是 | 不良品编号 |
| defect_type | varchar(64) | 是 | 不良类型/缺陷描述 |
| handling | tinyint | 是 | 处理方式:1-返工 2-报废 3-让步接收 4-退货 |
| handling_status | tinyint | 是 | 处理状态:0-待处理 1-处理中 2-已完成 |
| handler_id | bigint | 否 | 处理人 ID |
| handling_time | datetime | 否 | 处理完成时间 |
| handling_remark | varchar(512) | 否 | 处理说明 |
| reinspect_no | varchar(32) | 否 | 返工后重新检验单号 |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.15 mes_equipment 设备台账表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| code | varchar(32) | 是 | 设备编码,租户内唯一 |
| name | varchar(128) | 是 | 设备名称 |
| category_id | bigint | 否 | 设备分类 ID |
| model | varchar(128) | 否 | 设备型号 |
| manufacturer | varchar(128) | 否 | 制造商 |
| supplier_id | bigint | 否 | 供应商 ID |
| workshop | varchar(64) | 否 | 所属车间 |
| location | varchar(128) | 否 | 安装位置 |
| purchase_date | date | 否 | 购入日期 |
| original_value | decimal(12,2) | 否 | 原值(元) |
| depreciation_years | int | 否 | 折旧年限 |
| status | tinyint | 是 | 状态:0-空闲 1-运行中 2-维修中 3-保养中 4-停用 5-报废 |
| running_hours | decimal(10,2) | 是 | 累计运行工时(小时) |
| last_maintenance_date | date | 否 | 最后保养日期 |
| next_maintenance_date | date | 否 | 下次保养日期 |
| description | varchar(512) | 否 | 设备描述 |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.16 mes_maintenance_plan 保养计划表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| code | varchar(32) | 是 | 保养计划编码 |
| name | varchar(128) | 是 | 保养计划名称 |
| equipment_id | bigint | 是 | 关联设备 ID |
| maintenance_type | tinyint | 是 | 保养类型:1-日保 2-周保 3-月保 4-季保 5-年保 |
| trigger_type | tinyint | 是 | 触发方式:1-按时间周期 2-按运行工时 |
| trigger_interval | int | 是 | 触发间隔(天或小时) |
| last_trigger_time | datetime | 否 | 最后触发时间 |
| last_trigger_hours | decimal(10,2) | 否 | 最后触发时设备运行工时 |
| estimated_hours | decimal(6,2) | 否 | 预计保养耗时(小时) |
| status | tinyint | 是 | 状态:0-启用 1-禁用 |
| description | varchar(512) | 否 | 描述 |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.17 mes_maintenance_plan_item 保养项目表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| plan_id | bigint | 是 | 所属保养计划 ID |
| name | varchar(64) | 是 | 保养项目名称 |
| operation_desc | varchar(512) | 否 | 操作说明 |
| need_spare_part | bit(1) | 是 | 是否需更换配件 |
| spare_part_name | varchar(128) | 否 | 配件名称 |
| estimated_minutes | int | 否 | 预计耗时(分钟) |
| sort | int | 是 | 排序号 |
| remark | varchar(256) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.18 mes_equipment_repair 维修工单表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| repair_no | varchar(32) | 是 | 维修工单号,租户内唯一 |
| equipment_id | bigint | 是 | 设备 ID |
| equipment_name | varchar(128) | 是 | 设备名称(冗余) |
| fault_desc | varchar(512) | 是 | 故障描述 |
| urgency | tinyint | 是 | 紧急程度:1-紧急 2-一般 3-低 |
| status | tinyint | 是 | 状态:0-待派工 1-维修中 2-待验收 3-已完成 4-已关闭 5-已取消 |
| reporter_id | bigint | 是 | 报修人 ID |
| reporter_name | varchar(64) | 是 | 报修人姓名(冗余) |
| report_time | datetime | 是 | 报修时间 |
| assignee_id | bigint | 否 | 维修人员 ID |
| assignee_name | varchar(64) | 否 | 维修人员姓名(冗余) |
| assign_time | datetime | 否 | 派工时间 |
| start_time | datetime | 否 | 开始维修时间 |
| complete_time | datetime | 否 | 维修完成时间 |
| confirm_time | datetime | 否 | 验收确认时间 |
| fault_cause | varchar(512) | 否 | 故障原因分析 |
| repair_action | varchar(512) | 否 | 维修措施 |
| spare_parts | varchar(1024) | 否 | 更换配件信息(JSON) |
| repair_hours | decimal(6,2) | 否 | 维修耗时(小时) |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
5.4.19 mes_maintenance_record 维保记录表
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | bigint | 是 | 主键 ID |
| equipment_id | bigint | 是 | 设备 ID |
| type | tinyint | 是 | 类型:1-保养 2-维修 |
| ref_id | bigint | 否 | 关联工单 ID |
| ref_no | varchar(32) | 否 | 关联工单号 |
| content | varchar(1024) | 否 | 维保内容摘要 |
| cost | decimal(10,2) | 否 | 维保费用 |
| duration_hours | decimal(6,2) | 否 | 耗时(小时) |
| operator_id | bigint | 否 | 执行人 ID |
| operator_name | varchar(64) | 否 | 执行人姓名 |
| execute_time | datetime | 否 | 执行时间 |
| remark | varchar(512) | 否 | 备注 |
| creator / create_time / updater / update_time / deleted / tenant_id | 公共字段 |
六、跨模块联动
6.1 联动关系总览
| 联动模块 | PRD 文档 | 联动方向 | 说明 |
|---|---|---|---|
| ERP 企业资源 | 08-02 | 双向 | ERP 下达生产计划 → MES 创建工单;MES 完工 → ERP 更新计划状态 |
| WMS 仓库管理 | 08-03 | 双向 | MES 领料 → WMS 出库;MES 完工 → WMS 成品入库 |
| 消息通知 | 02-03 | MES → 消息 | 保养到期、维修通知、工单异常等场景推送消息 |
| 流程设计 | 03-01 | MES → 工作流 | 工单审核、让步接收等需要审批的场景可对接工作流引擎 |
| 角色权限 | 01-03 | 基础支撑 | MES 所有功能的权限控制基础 |
| 文件存储 | 02-02 | MES → 文件 | 质量检验附件、设备图片、维修照片的存储 |
6.2 详细联动设计
6.2.1 MES ↔ ERP 企业资源(08-02)
| 联动场景 | 触发条件 | 联动行为 | 数据流向 |
|---|---|---|---|
| ERP 下达生产计划 | ERP 销售订单/MRP 运算完成 | 自动生成 MES 生产工单(待审核状态) | ERP → MES:产品 ID、计划数量、交期 |
| MES 完工反馈 | MES 工单状态变为「已完工」 | 更新 ERP 生产计划状态为「已完成」 | MES → ERP:工单号、完工数量、完工时间 |
| BOM 物料需求 | MES 工单下发 | 向 ERP 发送物料需求,触发 MRP 运算 | MES → ERP:BOM 展开后的物料清单和数量 |
| 产品主数据同步 | ERP 产品信息变更 | 同步更新 MES 中的产品基础信息 | ERP → MES:产品编码、名称、规格 |
6.2.2 MES ↔ WMS 仓库管理(08-03)
| 联动场景 | 触发条件 | 联动行为 | 数据流向 |
|---|---|---|---|
| 生产领料出库 | MES 工单下发后 | 向 WMS 发送领料申请,WMS 生成出库单 | MES → WMS:物料清单、数量、需求时间 |
| 成品完工入库 | MES 工单完工且 FQC 检验合格 | 向 WMS 发送入库申请,WMS 生成入库单 | MES → WMS:产品 ID、完工数量、批次号 |
| 来料检验联动 | WMS 采购入库单待审核 | 触发 MES 创建 IQC 检验任务 | WMS → MES:物料 ID、批次号、入库单号 |
| 物料库存查询 | MES BOM 用量计算时 | 查询 WMS 当前库存,判断物料是否充足 | MES → WMS:物料 ID;WMS → MES:可用库存 |
6.2.3 MES → 消息通知(02-03)
| 联动场景 | 触发条件 | 通知对象 | 通知内容 |
|---|---|---|---|
| 保养任务到期 | 系统自动生成保养工单 | 设备管理员 | 「设备 {设备名称} 的 {保养类型} 保养任务已生成,请及时处理」 |
| 维修报修通知 | 操作工提交报修登记 | 设备管理员 | 「设备 {设备名称} 发生故障({紧急程度}),请尽快维修」 |
| 工单进度滞后 | 看板检测到工单进度异常 | 生产主管 | 「工单 {工单号} 进度滞后,完成率 {X}%,时间进度 {Y}%」 |
| 质量异常通知 | 检验结果判定为不合格 | 质量主管 + 生产主管 | 「工单 {工单号} {检验阶段} 检验不合格,不良数 {N}」 |
| 工单完工通知 | 工单状态变为已完工 | 生产计划员 | 「工单 {工单号} 已完工,完工数量 {N},请安排入库」 |
6.2.4 MES → 工作流引擎(03-01)
| 联动场景 | 触发条件 | 工作流配置 | 说明 |
|---|---|---|---|
| 工单审核 | 工单提交审核 | 可配置多级审批流程 | 对接工作流引擎,支持灵活配置审核流程 |
| 让步接收 | 质量检验不合格需让步接收 | 质量经理审批 | 不合格品有条件使用需要审批留痕 |
| 工单暂停/恢复 | 因异常暂停工单 | 生产主管审批 | 暂停影响交期,需要主管确认 |
七、附录
7.1 名词解释
| 名词 | 英文 | 通俗理解 |
|---|---|---|
| 工序 | Process | 生产过程中的一个「步骤」,就像做菜时的「切菜」「炒菜」每一步 |
| 工艺路线 | Routing | 把所有工序按顺序串起来的「生产路线图」,就像菜谱里的步骤顺序 |
| BOM | Bill of Materials | 做一样产品需要的「配料清单」,就像做蛋糕需要面粉、鸡蛋、糖的清单 |
| 工单 | Work Order | 一次「生产任务单」,就像餐厅的「点菜单」——做什么、做多少、什么时候要 |
| 工序任务 | Work Order Task | 工单拆到每道工序的「小任务」,就像点菜单拆成「凉菜任务」「热菜任务」 |
| 报工 | Report | 做完一道工序后「汇报成果」——做了多少、好的多少、坏了多少 |
| 冲销 | Reversal | 报工报错了不能改,就再写一条「反向记录」抵消,就像会计的红字冲销 |
| IQC | Incoming Quality Control | 「来料体检」——原材料进厂前先检查合不合格 |
| IPQC | In-Process Quality Control | 「生产中体检」——做到一半抽查,防止批量出问题 |
| FQC | Final Quality Control | 「出厂体检」——成品做完了最终检查,合格才能出货 |
| OEE | Overall Equipment Effectiveness | 设备「综合得分」= 时间利用率 × 速度利用率 × 合格率,满分 100% |
| 关键工序 | Key Process | 对产品质量影响最大的「关键步骤」,必须强制检验 |
| 不良品 | Defect | 质量检查不合格的「次品」 |
| 让步接收 | Concession | 虽然不合格但「将就用」——经过审批后有条件接受不合格品 |
| 保养计划 | Maintenance Plan | 设备的「定期体检计划」——每天/每周/每月该做哪些保养 |
| 维修工单 | Repair Order | 设备坏了后的「维修任务单」——谁报的、谁修、怎么修、花了多久 |
| 工作中心 | Work Center | 干活的「位置」,可以是一台设备或一组工位 |
| 损耗率 | Loss Rate | 生产过程中不可避免的「浪费比例」——切菜会切掉边角料,这就是损耗 |
| 替代物料 | Substitute Material | 「替补队员」——原定材料缺货时可以用替代材料 |
| 多级 BOM | Multi-level BOM | BOM 里套 BOM 的「俄罗斯套娃」结构——半成品本身也有自己的配料清单 |
| 明盘/盲盘 | Visible/Blind Count | 盘点时能不能看到账面数量——明盘能看到,盲盘看不到(防止凑数) |
7.2 权限标识汇总
| 模块 | 权限标识 | 说明 |
|---|---|---|
| 工艺工序管理 | mes:process:query / create / update / delete / import / export | 工序 CRUD + 导入导出 |
| 工艺路线管理 | mes:routing:query / create / update / delete / publish | 路线 CRUD + 发布 |
| BOM 管理 | mes:bom:query / create / update / delete / publish / calculate | BOM CRUD + 发布 + 用量计算 |
| 生产工单管理 | mes:work-order:query / create / update / delete / audit / release / start / complete / close / suspend / resume / export | 工单全生命周期操作 |
| 生产报工 | mes:report:query / create / audit / statistics / export | 报工 CRUD + 审核 + 统计 |
| 质量管理 | mes:quality:template:query / create / update / delete | 检验模板管理 |
| 质量管理 | mes:quality:inspection:query / create / execute / judge / handle-defect / export | 检验执行 + 不良品处理 |
| 设备管理 | mes:equipment:query / create / update / delete | 设备台账管理 |
| 设备管理 | mes:equipment:maintenance-plan:query / create / update / delete | 保养计划管理 |
| 设备管理 | mes:equipment:repair:query / create / assign / confirm | 维修工单管理 |
| 生产看板 | mes:dashboard:view | 查看生产看板 |
文档变更记录
| 版本 | 日期 | 修改人 | 修改内容 |
|---|---|---|---|
| v1.0 | 2026-09-24 | PM | 初始版本 |
| v2.0 | 2026-09-24 | PM | 全面增强:补充业务场景与 AC、页面原型、状态机、业务规则设计原因、跨模块联动、名词解释 |