# 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 的 `creator`、`create_time` 字段 | | 更新人/更新时间 | ✅ 已具备 | BaseDO 的 `updater`、`update_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` 时,提示用户可完工(可选自动完工) - 修复 `quantityScheduled` 和 `quantityChanged` 死字段:排产时更新 quantityScheduled,调整数量时更新 quantityChanged