BOM 物料管理系统 - 真实数据版

BOM 物料管理系统 - 真实数据版

✨ 功能特性

核心功能

  • Product 列表查询 - 获取SCSAI系统中的所有Product
  • Part 列表查询 - 获取SCSAI系统中的所有Part(支持分类过滤)
  • Product Part 关系 - 获取Product包含的Part列表
  • Part BOM 关系 - 获取Part的子Part结构(BOM)
  • 递归BOM树 - 完整的多层BOM结构解析
  • 成本计算 - 自动计算BOM总成本

数据结构

Product (产品)
  └── Product Part (产品-零件关系)
        └── Part (零件/部件)
              └── Part BOM (零件-零件关系)
                    └── Part (子零件)
                          └── Part BOM (递归...)

🚀 快速开始

方式一:双击启动(推荐)

双击 start.bat

方式二:命令行启动

cd C:\Users\tuan_\.qclaw\workspace\openclaw-skill\bom_management_skill
node server.js

访问地址

http://localhost:3003

📁 目录结构

bom_management_skill/
├── server.js                    # Node.js服务器
├── start.bat                    # Windows启动脚本
├── SKILL.md                     # 技能说明
├── README-REAL-DATA.md          # 本文件
├── views/
│   └── bom-manager-vue.html     # 前端界面
├── utils/
│   ├── api-request.js           # API请求工具
│   ├── bom-query.js             # BOM查询工具
│   └── ...
└── PLM/
    └── Import/
        ├── ItemType/            # ItemType定义
        │   ├── Part.xml
        │   └── Product.xml
        └── RelationshipType/    # 关系类型定义
            ├── Part BOM.xml
            └── Product Part.xml

🔌 SCSAI API 接口

认证方式

SCSAI使用HTTP请求头认证,不是SOAP Body:

headers: {
    'AUTHUSER': username,           // 用户名
    'AUTHPASSWORD': md5(password),  // MD5哈希
    'DATABASE': 'SCPLM',            // 数据库
    'TIMEZONE_NAME': 'Asia/Shanghai'
}

查询示例

#### 获取Product列表

<AML>
  <Item type="Product" action="get" select="id,item_number,name,description">
  </Item>
</AML>

#### 获取Part列表

<AML>
  <Item type="Part" action="get" select="id,item_number,name,classification,cost,unit">
  </Item>
</AML>

#### 获取Product的Part列表

<AML>
  <Item type="Product Part" action="get" select="id,source_id,related_id,quantity">
    <source_id>{productId}</source_id>
    <related_id>
      <Item type="Part" action="get" select="id,item_number,name"/>
    </related_id>
  </Item>
</AML>

#### 获取Part的BOM结构

<AML>
  <Item type="Part BOM" action="get" select="id,source_id,related_id,quantity">
    <source_id>{partId}</source_id>
    <related_id>
      <Item type="Part" action="get" select="id,item_number,name"/>
    </related_id>
  </Item>
</AML>

📊 数据模型

Product (产品)

| 属性 | 类型 | 说明 |

|------|------|------|

| id | string | 唯一标识 |

| item_number | string | 产品编号 |

| name | string | 产品名称 |

| description | string | 描述 |

| major_rev | string | 主版本 |

| state | string | 状态 |

Part (零件)

属性类型说明
idstring唯一标识
item_numberstring零件编号
namestring零件名称
classificationstring分类 (Component/Assembly/Material/Software)
costdecimal成本
unitstring单位
weightdecimal重量
make_buylist制造/采购

Product Part (产品-零件关系)

属性类型说明
source_idstringProduct ID
related_idstringPart ID
quantityfloat数量
sort_orderinteger排序

Part BOM (零件-零件关系)

属性类型说明
source_idstring父Part ID
related_idstring子Part ID
quantityfloat数量
sort_orderinteger排序
reference_designatorstring参考位号

🔧 配置

服务器配置在 server.js 中:

const config = {
    port: 3003,                              // 本地端口
    SCSAIServer: 'https://ylxt.chat',    // SCSAI服务器地址
    SCSAIDatabase: 'SCPLM'                    // 数据库名称
};

🎯 使用流程

  1. 启动服务器 - 运行 start.batnode server.js
  2. 打开浏览器 - 访问 http://localhost:3003
  3. 登录SCSAI - 输入用户名、密码、数据库
  4. 获取Product列表 - 点击"获取列表"按钮
  5. 选择Product - 从下拉列表选择要查看的产品
  6. 查看BOM结构 - 点击"查看BOM"按钮
  7. 切换视图 - 树状图/表格/图表/JSON

📝 注意事项

  1. 认证方式 - SCSAI使用HTTP请求头认证,密码需要MD5哈希
  2. 数据源切换 - 如果SCSAI连接失败,自动使用模拟数据
  3. 递归深度 - BOM树最大递归深度为5层,可在代码中调整
  4. 跨域问题 - 服务器已配置CORS,支持跨域请求

🦞 超云艾艾出品

专注传统行业数字化解决方案

← 返回案例列表
分享:
🤖 Try Now →
🤖
🎁