智能 BOM 统一管理方案设计
一、BOM 多视图概念
1.1 EBOM(工程BOM)
- 创建者:设计部门
- 关注点:产品功能设计、装配逻辑关系
- 结构:按功能/装配关系组织
- 数据源头:所有下游 BOM 的起点
1.2 PBOM(工艺BOM)
- 创建者:工艺设计部门
- 关注点:加工路径、装配工序
- 核心动作:拆件(EBOM粗件细化)+ 合件(标准件分组)+ 补工艺信息
1.3 MBOM(制造BOM)
- 创建者:生产制造部门
- 关注点:车间执行、制造顺序
- 核心动作:按工位重组 + 补执行信息(领料包装、线边仓、配送方式)
二、SCSAI agent 中的实现架构
2.1 现有数据模型
Product (产品)
└── Model (型号/变型)
└── Part (零部件)
├── Part BOM (BOM关系)
│ ├── source_id → 父件 Part
│ ├── related_id → 子件 Part
│ ├── quantity (数量)
│ ├── sort_order (排序)
│ └── reference_designator (位号)
└── classification (区分 Component/Assembly)
2.2 Component vs Assembly
| 类型 | 说明 | BOM中的角色 | 生命周期 |
|------|------|------------|---------|
| Assembly(装配件) | 由多个子零件组装而成 | 父件(有子件) | 依赖所有子件达到 Released |
| Component(零件) | 不可再分的最小制造/采购单元 | 叶节点(无子件) | 独立达到 Released |
| Phantom(虚拟件) | 逻辑组装但物理不组装 | 父件但穿透展开 | 无库存,MBOM中删除 |
2.3 多视图实现方案
#### 方案A:基于 classification 字段(推荐,改动最小)
在 Part 的 classification 中区分视图来源:
EBOM_Assembly/EBOM_Component:工程视图MBOM_Assembly/MBOM_Component:制造视图PBOM_Assembly/PBOM_Component:工艺视图
前端通过 BOM 视图选择器,查询对应 classification 的 Part BOM 关系。
#### 方案B:基于独立 Relationship Type
创建三种 Relationship:
Part BOM EBOM:工程BOM关系Part BOM PBOM:工艺BOM关系Part BOM MBOM:制造BOM关系
每种视图独立维护结构,通过"等同件"映射关联。
三、前端实现方案
3.1 BOM 视图切换
[EBOM视图] [PBOM视图] [MBOM视图] [全部视图]
3.2 多层级树展开(懒加载)
- 初始加载:只加载顶层 BOM 列表
- 点击展开:加载该节点的直接子件
- 子件展开:递归加载任意深度
- 全部展开/折叠:控制 globalExpand 状态
3.3 关键查询 AML
<!-- 查询 Part 的 BOM 子件(支持任意层级) -->
<AML>
<Item type="Part BOM" action="get"
select="id,related_id(id,name,item_number,major_rev,state,classification,cost,weight,make_buy,unit),quantity,sort_order"
maxRecords="200">
<source_id condition="eq">{partId}</source_id>
</Item>
</AML>
<!-- 查询所有顶层 BOM(不是任何 BOM 的子件) -->
<AML>
<Item type="Part" action="get" select="id,name,item_number,..." maxRecords="1000">
<Relationships>
<Item type="Part BOM" action="get" select="id">
<source_id>
<Item type="Part" action="get" select="id"/>
</source_id>
</Item>
</Relationships>
</Item>
</AML>
四、Product → Model → Part 层级关系
产品 (Product)
├── 型号A (Model)
│ ├── 零部件1 (Part - Assembly)
│ │ ├── 子零件1.1 (Part - Component)
│ │ └── 子零件1.2 (Part - Component)
│ └── 零部件2 (Part - Component)
└── 型号B (Model)
└── ...
- Product:顶层产品,管理产品系列
- Model:产品变型,关联具体的 Part(通过 part_number)
- Part:BOM 的核心实体,通过 Part BOM 关系形成任意深度的装配树
五、变更管理(ECR/ECN)
- ECR(工程变更请求):提出变更需求
- ECN(工程变更通知):批准并执行变更
- 变更传播:上游 EBOM 变更 → 自动提醒下游 PBOM/MBOM 同步
六、参考资料
- PTC Windchill:产品结构管理 PSE 模块,支持多视图编辑和规则自动生成
- Siemens Teamcenter:变型配置 + BOM 转换规则脚本
- SAP:超级 BOM + 相关性 + 工程变更号控制版本
- SCSAI agent:ItemType + Relationship 体系天然支持多视图
BossAgents