跳到主要内容
版本:Next

MaterialIntegrityDetectionActivity - 物料完整性校验

概述

MaterialIntegrityDetectionActivity 是一个 MES 专用的物料完整性校验节点,用于验证产品所需的物料是否齐全且正确。该节点支持两种校验模式:物料 BOM 清单校验和物料正确性校验,确保生产过程中物料的完整性和准确性。

基本信息

属性
显示名称物料完整性校验
类名MaterialIntegrityDetectionActivity
命名空间CMS.Plugin.MesSuite.Activitys
基类ProcessBusinessActivity
分类工序步骤
排序10
发布

配置说明

该节点通过工艺配置和流程上下文变量进行控制。

工艺配置

配置项说明
MaterialBomDetection物料 BOM 清单校验开关
MaterialCorrectDetection物料正确性校验开关
MaterialParameters物料参数配置列表

输入变量

变量名常量类型说明
MaterialIntegrityDetection_SerialNumber_ValueFlowItemCollection.MaterialIntegrityDetectionSerialNumberValuestring产品序列号(可选)
MaterialIntegrityDetection_Product_ValueFlowItemCollection.MaterialIntegrityDetectionProductValuestring产品识别码(可选)

输出变量

变量名常量类型说明
MaterialIntegrityDetection_ResultFlowItemCollection.MaterialIntegrityDetectionResultKeyint校验结果代码
MaterialIntegrityDetection_DescriptionFlowItemCollection.MaterialIntegrityDetectionDescriptionKeystring校验结果说明
TraceModelFlowItemCollection.TraceModelTraceModel追溯模型(查询到时)
ProductModelFlowItemCollection.ProductModelProductModel产品模型

校验结果代码

代码说明
0未执行(初始状态)
1校验通过
2物料 BOM 清单校验不通过
3物料正确性校验不通过
4两项校验都不通过 / 未找到产品型号

业务逻辑

执行流程

┌─────────────────────────────────────────────────────────────┐
│ MaterialIntegrityDetectionActivity │
├─────────────────────────────────────────────────────────────┤
│ EnterAsync - 初始化阶段 │
│ ├─ 设置校验结果 = 0 │
│ └─ 清空校验说明 │
├─────────────────────────────────────────────────────────────┤
│ ProcessAsync - 处理阶段 │
│ ├─ 采集物料参数(如果启用校验) │
│ ├─ 获取产品信息 │
│ │ ├─ 通过产品序列号查询追溯数据 │
│ │ ├─ 通过产品识别码查询产品 │
│ │ └─ 从配方/工单/点检任务获取 │
│ ├─ 执行物料 BOM 清单校验(如果启用) │
│ ├─ 执行物料正确性校验(如果启用) │
│ └─ 设置校验结果和说明 │
└─────────────────────────────────────────────────────────────┘

物料 BOM 清单校验

检查产品 BOM 中配置的所有物料是否都已采集到条码:

┌─────────────────────────────────────────────────────────────┐
│ BOM 清单校验流程 │
├─────────────────────────────────────────────────────────────┤
│ 1. 获取产品的 BOM 清单 │
│ 2. 筛选当前工序需要的物料项 │
│ 3. 遍历物料项 │
│ ├─ 检查物料条码是否已采集 │
│ └─ 未采集 → 记录缺失物料 │
│ 4. 如果 BOM 未配置物料 → 校验失败 │
└─────────────────────────────────────────────────────────────┘

物料正确性校验

检查已采集的物料条码是否符合条码规则:

┌─────────────────────────────────────────────────────────────┐
│ 正确性校验流程 │
├─────────────────────────────────────────────────────────────┤
│ 1. 遍历工艺配置的物料参数 │
│ 2. 获取对应的物料条码 │
│ 3. 调用物料服务验证条码规则 │
│ └─ 不符合规则 → 记录校验失败物料 │
└─────────────────────────────────────────────────────────────┘

使用示例

基本配置

{
"Name": "物料完整性校验",
"Type": "MaterialIntegrityDetectionActivity"
}

设置产品序列号

{
"Activities": [
{
"Name": "设置产品码",
"Type": "VariableWriteActivity",
"VariableName": "MaterialIntegrityDetection_SerialNumber_Value",
"VariableValue": "SN123456789"
},
{
"Name": "物料完整性校验",
"Type": "MaterialIntegrityDetectionActivity"
}
]
}

典型流程

┌──────────────────┐
│ 物料采集完成 │
└────────┬─────────┘


┌──────────────────┐
│MaterialIntegrityDetectionActivity│
│ 物料完整性校验 │
└────────┬─────────┘


┌──────────────────┐
│ 检查校验结果 │
│ Result == 1 ? │
└────────┬─────────┘

┌────┴────┐
│ 是 │ 否
▼ ▼
┌────────┐ ┌────────┐
│继续生产 │ │处理异常 │
└────────┘ └────────┘

检查校验结果

{
"Activities": [
{
"Name": "物料完整性校验",
"Type": "MaterialIntegrityDetectionActivity"
},
{
"Name": "检查结果",
"Type": "ConditionActivity",
"Condition": "MaterialIntegrityDetection_Result == 1"
}
]
}

校验结果说明格式

场景说明格式
校验通过物料完整性校验通过
BOM 缺失物料完整性校验失败,{物料名}缺失;{物料名}缺失
规则不符物料完整性校验失败,{物料名}{错误信息};{物料名}{错误信息}
混合失败物料完整性校验失败,{缺失物料};{规则错误物料}

依赖服务

服务接口说明
IMaterialProvider物料服务,获取 BOM 和验证条码
IProductProvider产品服务,获取产品信息
ITraceProvider追溯服务,查询追溯数据
IOrderProvider工单服务,获取当前工单
IFlowVariableService流程变量服务,采集物料参数
ISettingProvider配置服务,获取配方下发方式

注意事项

  1. 功能启用:需要在工艺配置中启用 BOM 校验或正确性校验
  2. 产品信息:需要能够获取到产品型号才能执行校验
  3. BOM 配置:BOM 校验需要产品配置了 BOM 清单
  4. 物料参数:正确性校验基于工艺配置的物料参数
  5. 配方下发:配方下发方式为"工序识别产品时下发"时,不从配方获取产品
  6. 结果组合:两种校验可以同时启用,结果会组合

相关节点


最后更新时间: 2025-11-28