编辑 | blame | 历史 | 原始文档

MES 生产管控核查 - 功能符合性分析

核查要求与现有功能对照


要求1:信息化系统部署与运行

核查企业是否部署生产管控相关信息化系统,如MES制造执行系统、生产管理专用模块等,确认系统已正式投入使用且处于正常运行状态。

符合度:✅ 符合

核查项 现状 说明
MES系统部署 ✅ 已部署 项目包含完整的 yudao-module-mes 模块
生产管理专用模块 ✅ 已具备 包含工单管理、生产任务、报工、排产等子模块
系统运行状态 ✅ 正常 系统可正常编译运行,数据库表和数据已就绪

要求2:生产工单管理制度与系统流程匹配

核查企业是否制定生产工单管理相关制度文件,包括生产工单管理制度、生产进度跟踪细则、物料领用/耗用管理规定等,确认制度中明确了工单创建、派工、报工、核销、归档等全流程规范,且制度要求与信息化系统操作流程相匹配。

符合度:⚠️ 部分符合(系统流程基本覆盖,但缺少核销和归档环节)

核查项 现状 说明
工单创建 ✅ 已实现 POST /mes/pro/work-order/create,草稿状态
工单确认(审批) ✅ 已实现 PUT /mes/pro/work-order/confirm,草稿→已确认
派工(排产) ✅ 已实现 生产任务(Task)从工单派生,含工作站、工序、排产数量
报工 ✅ 已实现 POST /mes/pro-feedback/create,支持自行报工和统一报工
报工提交 ✅ 已实现 PUT /mes/pro-feedback/submit,草稿→审批中
报工审批 ✅ 已实现 PUT /mes/pro-feedback/approve,触发入库/扣料
物料领用 ✅ 已实现 生产发料(ProductIssue)模块,关联工单
物料耗用(倒冲) ✅ 已实现 报工审批时自动按BOM扣料(ItemConsume)
成品入库 ✅ 已实现 生产产出(ProductProduce)模块,审批后自动入库
工单核销 缺失 无工单核销功能,无法对工单进行物料/产量的最终对账核销
工单归档 缺失 无工单归档功能,已完成/已取消的工单无归档状态和归档操作
制度文件管理 ❌ 不属于系统范围 制度文件为线下管理,系统不提供制度文件管理功能

系统操作流程:

工单创建(草稿) → 工单确认(已确认) → 派工/排产(生成任务)
    → 报工(草稿) → 提交(审批中) → 审批通过(已完成)
    → 自动入库(关键工序) / 自动扣料(倒冲工序)
    → 工单完工(已完成) / 工单取消(已取消)

缺失环节:工单核销 → 工单归档

要求3:工单全生命周期线上管理能力

现场演示信息化系统的生产工单核心功能,由企业操作人员依次演示工单创建、审批、下发、进度更新、完工确认的全流程操作,核实系统具备工单全生命周期线上管理能力,各环节操作节点清晰、可追溯。

符合度:⚠️ 部分符合(核心流程具备,但工单级缺少"下发"环节,进度更新依赖报工间接实现)

核查项 现状 说明
工单创建 ✅ 已实现 创建工单 + 自动生成BOM + 自动生成条码
工单审批(确认) ✅ 已实现 confirmWorkOrder,草稿→已确认
工单下发 ⚠️ 弱化 工单确认后即可排产/报工,无独立的"下发"操作和状态,确认即生效
进度更新 ✅ 已实现 通过报工审批后自动累加 quantityProduced,间接更新进度
完工确认 ✅ 已实现 finishWorkOrder,级联完成所有任务
各环节可追溯 ⚠️ 部分具备 详见要求4分析

工单状态流转(现有):

草稿(0) → 已确认(1) → 已完成(2)
                    → 已取消(3)

缺失:已确认 → 已下发(未实现独立下发环节)

要求4:工单操作痕迹完整性与可追溯性

抽查系统内近期生产工单数据,按开工中、工序完工、整体完工、异常停工四种状态分类抽查,核实每笔工单的各环节操作痕迹完整,包含操作人、操作时间、操作内容等信息,工单状态更新及时、准确。

符合度:⚠️ 部分符合(基础审计信息具备,但操作痕迹不够完整,四种状态分类不完整)

核查项 现状 说明
创建人/创建时间 ✅ 已具备 BaseDO 的 creatorcreate_time 字段
更新人/更新时间 ✅ 已具备 BaseDO 的 updaterupdate_time 字段
报工人 ✅ 已具备 FeedbackDO 的 feedbackUserId + feedbackTime
审批人 ✅ 已具备 FeedbackDO 的 approveUserId
完工时间 ✅ 已具备 WorkOrderDO 的 finishDate
取消时间 ✅ 已具备 WorkOrderDO 的 cancelDate
系统操作日志 ✅ 已具备 system_operate_log 表,记录所有API请求的操作人、时间、URL、IP等
工单级操作时间线 缺失 无工单专属的操作历史表,无法按工单ID查询"谁在什么时间做了什么操作"的时间线
审批人自动记录 缺失 报工审批时未自动填充 approveUserId 为当前登录用户
状态分类:开工中 ⚠️ 对应工单"已确认" 但"已确认"不等于"开工中",缺少明确的开工状态
状态分类:工序完工 ⚠️ 间接可查 报工状态=已完成代表工序完工,但无"工序完工"的工单级状态
状态分类:整体完工 ✅ 已具备 工单状态=已完成(2)
状态分类:异常停工 缺失 工单无"异常停工"状态,详见要求6分析

要求5:系统数据与实际生产执行资料核对

核对系统内工单数据与实际生产执行资料,包括物料领用单、生产进度日报表、成品入库单、设备运行记录等,确认工单中的产量、物料耗用、生产工期等数据与实际一致,偏差率在合理范围内。

符合度:⚠️ 部分符合(数据关联链路存在,但缺少核对/对账工具和偏差分析能力)

核查项 现状 说明
物料领用单 ✅ 已具备 生产发料(ProductIssue)模块,关联 workOrderId
物料耗用记录 ✅ 已具备 物料消耗(ItemConsume)模块,报工审批时自动生成,关联 feedbackId
成品入库单 ✅ 已具备 生产产出(ProductProduce)模块,报工审批时自动生成,关联 feedbackId
产量数据 ✅ 已具备 工单 quantityProduced,任务 producedQuantity/qualifyQuantity/unqualifyQuantity
生产工期 ✅ 已具备 任务 startTime/endTime/duration,工单 requestDate/finishDate
设备运行记录 ✅ 已具备 设备维修/点检/保养记录模块(DvRepair/DvCheckRecord/DvMaintenRecord)
工单-物料对账 缺失 无工单物料核销/对账功能,无法自动比对BOM需求量 vs 实际领用量 vs 实际耗用量
工单-产量对账 缺失 无工单产量核销功能,无法自动比对工单数量 vs 报工合计 vs 入库合计
偏差率分析 缺失 无偏差率计算和预警功能
生产进度日报表 缺失 无按日汇总生产进度的报表功能

要求6:工单异常管理能力

核查系统的工单异常管理能力,抽查系统内异常停工工单的处理记录,核实是否包含异常原因分析、处理措施、复工时间等信息,异常工单实现闭环管理,无长期未处理的情况。

符合度:⚠️ 部分符合(有安灯呼叫记录,但工单级异常停工管理严重不足)

核查项 现状 说明
安灯呼叫记录 ✅ 已具备 AndonRecord 模块,记录呼叫原因、级别、处置状态、处置人、处置时间
安灯关联工单 ✅ 已具备 AndonRecordDO 关联 workOrderId
安灯闭环管理 ⚠️ 部分具备 有"未处置→已处置"状态流转,但无超时预警和升级机制
工单"异常停工"状态 缺失 工单状态仅有:草稿/已确认/已完成/已取消,无"异常停工"状态
工单暂停/挂起操作 缺失 无 pauseWorkOrder / suspendWorkOrder 接口
工单恢复/复工操作 缺失 无 resumeWorkOrder 接口和复工时间记录
异常原因分析 缺失 安灯记录仅有 reason 字段(呼叫原因),无结构化的异常原因分析(如设备故障/物料短缺/质量异常等分类)
处理措施记录 缺失 安灯记录仅有 remark 字段(备注),无结构化的处理措施记录
复工时间记录 缺失 无停工开始时间、停工结束时间、停工时长等字段
长期未处理预警 缺失 无异常超时预警机制,无法发现长期未处理的异常工单
异常闭环管理 缺失 工单无法从"异常停工"恢复到"生产中",无闭环流程

缺失功能汇总

🔴 严重缺失(直接影响核查通过)

# 缺失功能 对应要求 说明
1 工单异常停工状态与闭环管理 要求4、6 工单无"异常停工"状态,无暂停/复工操作,无法实现异常工单闭环管理
2 工单操作历史时间线 要求4 无工单专属操作历史表,无法按工单查询完整的操作痕迹时间线
3 审批人自动记录 要求4 报工审批时未自动填充审批人为当前登录用户

🟡 中度缺失(影响核查质量但不致命)

# 缺失功能 对应要求 说明
4 工单下发环节 要求3 工单无独立的"下发"操作和状态,确认即生效,缺少下发节点
5 工单核销功能 要求2 无工单物料/产量的最终对账核销
6 工单归档功能 要求2 无工单归档状态和归档操作
7 工单-物料对账 要求5 无法自动比对BOM需求量 vs 实际领用量 vs 实际耗用量
8 工单-产量对账 要求5 无法自动比对工单数量 vs 报工合计 vs 入库合计
9 异常原因结构化分析 要求6 安灯记录仅有文本原因,无异常分类(设备故障/物料短缺/质量异常等)
10 处理措施结构化记录 要求6 安灯记录仅有备注,无处理措施、复工时间等结构化字段

🟢 轻度缺失(锦上添花)

# 缺失功能 对应要求 说明
11 偏差率分析与预警 要求5 无偏差率计算和预警功能
12 生产进度日报表 要求5 无按日汇总生产进度的报表
13 异常超时预警 要求6 无长期未处理异常的预警机制
14 开工中/工序完工的工单级状态 要求4 工单状态粒度不够,无法直接按"开工中""工序完工"分类
15 工单自动完工 要求3 工单在 quantityProduced >= quantity 时不会自动转为已完成,需手动 finish
16 任务"进行中"状态 要求4 任务仅有草稿/已完成/已取消,无"进行中/生产中"状态,无法区分"已排产待生产"和"正在生产"
17 工单多级审批 要求3 工单确认是单步操作(草稿→已确认),无BPM工作流多级审批
18 quantityScheduled/quantityChanged 字段 要求5 工单DO中存在但从未被更新,属于死字段

建议优先补充的功能(按优先级排序)

P0 - 必须补充(核查硬伤)

1. 工单异常停工闭环管理

  • 工单新增状态:SUSPENDED(4, "异常停工")
  • 新增接口:PUT /mes/pro/work-order/suspend — 暂停工单(已确认→异常停工),记录停工原因、停工时间
  • 新增接口:PUT /mes/pro/work-order/resume — 恢复工单(异常停工→已确认),记录复工时间、处理措施
  • 工单DO新增字段:suspendDate(停工时间)、resumeDate(复工时间)、suspendReason(停工原因)、resumeMeasure(复工措施)
  • 任务同步支持暂停/恢复

2. 工单操作历史记录

  • 新增表 mes_pro_work_order_log,记录工单全生命周期操作
  • 字段:workOrderId、operation(创建/确认/下发/完工/取消/暂停/恢复)、operatorId、operateTime、remark
  • 新增接口:GET /mes/pro/work-order/log — 查询工单操作历史时间线
  • 在工单各状态变更操作中自动写入操作记录
  • 快捷方案:框架已有 @LogRecord(mzt-biz-log)+ system_operate_log 表(支持 bizId 按业务ID查询),CRM/System 模块已在用,MES 模块仅需在工单 Service 方法上加 @LogRecord 注解即可实现基础操作日志记录,无需新建表

3. 报工审批自动记录审批人

  • approveFeedback 方法中自动设置 approveUserId = getLoginUserId()

4. 工单状态转换记录"谁操作"

  • 工单DO新增字段:confirmUserId(确认人)、finishUserId(完工人)、cancelUserId(取消人)
  • 各状态变更方法中自动填充当前登录用户ID

P1 - 建议补充(提升核查质量)

4. 工单下发环节

  • 工单新增状态:ISSUED(2, "已下发")(在已确认和已完成之间)
  • 新增接口:PUT /mes/pro/work-order/issue — 下发工单(已确认→已下发)
  • 调整完工确认前置条件:已下发→已完成

5. 工单核销与归档

  • 工单新增状态:SETTLED(5, "已核销")ARCHIVED(6, "已归档")
  • 核销:比对工单BOM需求量 vs 实际消耗量,工单数量 vs 入库数量,生成核销报告
  • 归档:核销通过后归档,归档后只读不可修改

6. 异常记录结构化增强

  • 安灯记录新增字段:exceptionType(异常分类:设备故障/物料短缺/质量异常/人员不足/其他)、handleMeasure(处理措施)、downtimeStart(停工开始时间)、downtimeEnd(停工结束时间)、downtimeDuration(停工时长)
  • 新增异常超时预警:未处置超过N小时自动升级通知

7. 任务状态增强

  • 任务新增状态:IN_PROGRESS(1, "进行中"),在草稿和已完成之间
  • 报工提交/审批时自动将任务从草稿→进行中
  • 与工单状态联动:工单暂停时任务同步暂停

8. 工单自动完工

  • 当工单所有任务均已完工,或 quantityProduced >= quantity 时,提示用户可完工(可选自动完工)
  • 修复 quantityScheduledquantityChanged 死字段:排产时更新 quantityScheduled,调整数量时更新 quantityChanged