OutboundInitializeActivity - 出站初始化
概述
OutboundInitializeActivity 是一个 MES 专用的出站初始化节点,用于在产品出站时初始化各种状态变量、验证产品码有效性,并获取工单、产品型号、进站时间等关键信息。该节点是出站流程的起点,为后续的质量判定和追溯记录提供必要的上下文数据。
基本信息
| 属性 | 值 |
|---|---|
| 显示名称 | 出站初始化 |
| 类名 | OutboundInitializeActivity |
| 命名空间 | CMS.Plugin.MesSuite.Activitys |
| 基类 | ProcessBusinessActivity |
| 分类 | 工序步骤 |
| 排序 | 21 |
| 发布 | 是 |
配置说明
配置属性
| 属性名 | 显示名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| EntryFinishTaskName | 进站完成 | string | "进站结果下发" | 进站完成步骤的名称,用于获取进站时间 |
输入变量
| 变量名 | 常量 | 类型 | 说明 |
|---|---|---|---|
| SerialNumber | FlowItemCollection.SerialNumber | string | 产品序列号/产品码 |
| TrayCodeAssociationDescriptionValue | FlowItemCollection.TrayCodeAssociationDescriptionValue | string | 托盘码关联查询描述 |
| MaterialCodeAssociationDescriptionValue | FlowItemCollection.MaterialCodeAssociationDescriptionValue | string | 物料码关联查询描述 |
| OrderModel | FlowItemCollection.OrderModel | OrderModel | 工单模型(可选,已存在则复用) |
| ProductModel | FlowItemCollection.ProductModel | AssociationProductModel | 产品型号(可选,已存在则复用) |
| InboundWorkTypeValue | FlowItemCollection.InboundWorkTypeValue | int | 加工类型(可选,已存在则复用) |
输出变量
| 变量名 | 常量 | 类型 | 说明 |
|---|---|---|---|
| Outbound_FinishSignal | FlowItemCollection.OutboundFinishSignal | string | 出站结果 |
| Outbound_Description_Value | FlowItemCollection.OutboundDescriptionValue | string | 出站异常说明 |
| Outbound_ResultVariable_Value | FlowItemCollection.OutboundResultValue | string | 合格判断结果 |
| Outbound_QualityVariable_Value | FlowItemCollection.OutboundQualityValue | string | 设备加工结果 |
| Outbound_Completed_Signal | FlowItemCollection.OutboundCompletedSignal | int | 出站完成信号 |
| Inspection_ResultVariable_Value | FlowItemCollection.InspectionResultValue | string | 点检结果 |
| OrderModel | FlowItemCollection.OrderModel | OrderModel | 生产工单 |
| ProductModel | FlowItemCollection.ProductModel | AssociationProductModel | 产品型号 |
| Inbound_EntryTime | FlowItemCollection.InboundEntryTime | DateTime? | 进站时间 |
| Inbound_WorkType_Value | FlowItemCollection.InboundWorkTypeValue | int | 加工类型 |
业务逻辑
执行流程
┌─────────────────────────────────────────────────────────────┐
│ OutboundInitializeActivity │
├─────────────────────────────────────────────────────────────┤
│ EnterAsync - 初始化阶段 │
│ ├─ 初始化托盘码/物料码关联描述 │
│ ├─ 清空出站描述 │
│ ├─ 设置出站结果 = "未初始化" │
│ ├─ 设置合格判断 = "未初始化" │
│ ├─ 设置点检结果 = "未初始化" │
│ └─ 设置出站完成信号 = 1 │
├─────────────────────────────────────────────────────────────┤
│ ProcessAsync - 处理阶段 │
│ ├─ 检查产品码是否为空 │
│ │ └─ 为空 → 设置对应错误并返回 │
│ ├─ 设置出站结果 = OK │
│ ├─ 获取工单和产品信息 │
│ │ ├─ 优先使用已存在的数据 │
│ │ ├─ 从加工记录获取 │
│ │ ├─ 从配方应用获取 │
│ │ └─ 从当前工单获取 │
│ ├─ 检查点检标记 │
│ │ └─ 有点检 → 设置点检任务和产品 │
│ ├─ 设置加工类型 │
│ └─ 获取进站时间 │
└─────────────────────────────────────────────────────────────┘
数据获取优先级
工单和产品信息
- 已存在数据:优先使用流程上下文中已有的工单和产品信息
- 加工记录:从产品的加工记录中获取
- 配方应用:从当前工序的配方应用中获取
- 当前工单:从工序段的当前下发工单中获取
进站时间
- 流程上下文:优先使用已存在的进站时间
- 进站步骤:从指定的进站完成步骤获取开始时间
- 加工记录:从产品的加工记录中获取
加工类型
| 类型 | 值 | 说明 |
|---|---|---|
| Normal | WorkType.Normal.Value | 正常加工 |
| Inspection | WorkType.Inspection.Value | 点检 |
| Reset | WorkType.Reset.Value | 重置 |
使用示例
典型出站流程
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐