MaterialIntegrityDetectionActivity - 物料完整性校验
概述
MaterialIntegrityDetectionActivity 是一个 MES 专用的物料完整性校验节点,用于验证产品所需的物料是否齐全且正确。该节点支持两种校验模式:物料 BOM 清单校验和物料正确性校验,确保生产过程中物料的完整性和准确性。
基本信息
| 属性 | 值 |
|---|---|
| 显示名称 | 物料完整性校验 |
| 类名 | MaterialIntegrityDetectionActivity |
| 命名空间 | CMS.Plugin.MesSuite.Activitys |
| 基类 | ProcessBusinessActivity |
| 分类 | 工序步骤 |
| 排序 | 10 |
| 发布 | 是 |
配置说明
该节点通过工艺配置和流程上下文变量进行控制。
工艺配置
| 配置项 | 说明 |
|---|---|
| MaterialBomDetection | 物料 BOM 清单校验开关 |
| MaterialCorrectDetection | 物料正确性校验开关 |
| MaterialParameters | 物料参数配置列表 |
输入变量
| 变量名 | 常量 | 类型 | 说明 |
|---|---|---|---|
| MaterialIntegrityDetection_SerialNumber_Value | FlowItemCollection.MaterialIntegrityDetectionSerialNumberValue | string | 产品序列号(可选) |
| MaterialIntegrityDetection_Product_Value | FlowItemCollection.MaterialIntegrityDetectionProductValue | string | 产品识别码(可选) |
输出变量
| 变量名 | 常量 | 类型 | 说明 |
|---|---|---|---|
| MaterialIntegrityDetection_Result | FlowItemCollection.MaterialIntegrityDetectionResultKey | int | 校验结果代码 |
| MaterialIntegrityDetection_Description | FlowItemCollection.MaterialIntegrityDetectionDescriptionKey | string | 校验结果说明 |
| TraceModel | FlowItemCollection.TraceModel | TraceModel | 追溯模型(查询到时) |
| ProductModel | FlowItemCollection.ProductModel | ProductModel | 产品模型 |
校验结果代码
| 代码 | 说明 |
|---|---|
| 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 | 配置服务,获取配方下发方式 |
注意事项
- 功能启用:需要在工艺配置中启用 BOM 校验或正确性校验
- 产品信息:需要能够获取到产品型号才能执行校验
- BOM 配置:BOM 校验需要产品配置了 BOM 清单
- 物料参数:正确性校验基于工艺配置的物料参数
- 配方下发:配方下发方式为"工序识别产品时下发"时,不从配方获取产品
- 结果组合:两种校验可以同时启用,结果会组合
相关节点
- ProcessBusinessActivity - 工序业务活动基类
- MaterialDetectionActivity - 物料检测节点
- MaterialVerificationActivity - 物料校验节点
- InboundDetectionActivity - 进站检测节点
最后更新时间: 2025-11-28