bom-sop-check
BOM与SOP对比校对技能。支持多个BOM文件合并后与SOP对比,检测名称规格、位号、数量差异,在SOP文件中标注差异、追加BOM数据并生成报告。校对报告包含:SOP独有物料、BOM独有物料、数量差异明细三个表格。触发场景:用户发送BOM和SOP文件要求对比校对。
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/2656255594/bom-sop-checkBOM 与 SOP 校对技能
功能说明
- 解析 BOM 表提取物料信息(编码、名称、规格、数量、位号)
- 解析 SOP 表 AN-BQ 列范围提取物料信息
- 按物料编码匹配,对比名称规格、位号、数量
- 在 SOP 文件中标注差异单元格(红色/黄色)
- 将 BOM 数据追加到 SOP 新列(BS/BT/BU)
- 新增:生成校对报告工作表
- 生成差异报告并发送标注后的文件
v1.10.0 功能特性
核心功能
- BOM 数据追加:将 BOM 的名称规格、数量、位号写入 SOP 新列
- BS 列:BOM 名称规格
- BT 列:BOM 数量
- BU 列:BOM 位号
表头样式
- 第154行添加 BOM 表头
- 表头样式:加粗 + 浅蓝背景 + 边框
- 数据单元格:细边框表格效果
合并单元格支持
- 自动识别 SOP 中的合并单元格
- BOM 数据列与 SOP 格式保持一致
- 仅给有差异的物料添加 BOM 信息
校对报告工作表(v1.10 新增)
- 新增"校对报告"工作表
- 包含 BOM 独有物料列表(BOM有但SOP没有)
- 包含 SOP 独有物料列表(SOP有但BOM没有)
- 表格格式:类型、物料编码、物料名称、名称规格、数量、位号
版本历史
- v1.0:核心对比功能 + 简单标注(红/黄)
- v1.9:新增 BS/BT/BU 列、表头样式、边框、合并单元格支持
- v1.10:新增校对报告工作表
稳定性保障
文件验证
- ✅ 文件存在性检查
- ✅ 文件格式验证(必须是 .xlsx)
- ✅ 文件大小限制(≤100MB)
- ✅ Excel 格式有效性验证(ZIP 结构检查)
数据处理
- ✅ 最大行数限制(10000 行)
- ✅ 字符串长度限制(500 字符)
- ✅ 物料编码格式验证(
\d{5}-\d{3}-\d{3}) - ✅ 空值保护(None → 空字符串)
- ✅ 除零保护(分母为 0 时默认为 1)
对比逻辑
- ✅ 规范化比较(去除多余空格)
- ✅ 数量浮点误差容忍(±0.001)
- ✅ 位号分隔符兼容(逗号、中文逗号、空格)
错误处理
- ✅ 异常捕获与日志记录
- ✅ 友好错误消息
- ✅ 详细模式(
--verbose)
文件格式支持
.xlsx- 直接处理.zip- 自动解压后处理(支持多个文件或单个文件压缩)
压缩文件处理
当用户发送 .zip 文件时:
- 自动解压到临时目录
- 识别其中的 BOM 和 SOP 文件(根据文件名和内容)
- 执行对比校对
- 清理临时文件
文件识别规则
BOM 文件特征:
- 文件名包含 "BOM" 或 "物料清单"
- 列 I 含物料编码格式
XXXXX-XXX-XXX - 有父项/子项结构
SOP 文件特征:
- 文件名包含 "SOP" 或 "作业指导书"
- AN-BQ 列范围存在物料编码
文件接收处理
文件缓存目录
- 缓存路径:
/root/.openclaw/workspace-text-1-feishu-6/skills/bom-sop-check/cache/ - 状态文件:
cache/status.json- 记录已接收的文件信息
场景处理流程
场景1:同时发送多个文件
- 接收所有文件,保存到缓存目录
- 逐一识别文件类型(BOM/SOP)
- 全部识别完成后开始对比
- 完成后清理缓存
场景2:先后发送文件
- 接收第一个文件,识别类型并保存到缓存
- 更新 status.json 记录已接收文件
- 告知用户已接收 X 文件,等待 Y 文件
- 接收到第二个文件后自动开始对比
- 完成后清理缓存
场景3:单个文件包含多个工作表
- 解析所有工作表
- 自动识别哪个 sheet 是 BOM,哪个是 SOP
- 开始对比
- 完成后清理缓存
文件类型识别规则
BOM 文件特征:
- 列 I 含 "物料编码" 或数据格式为 XXXXX-XXX-XXX
- 列 J 含 "物料名称" 或 "子项物料名称"
- 列 K 含 "规格型号" 或 "子项规格型号"
- 有父项/子项结构(列 D 有父项物料编码)
SOP 文件特征:
- AN-BQ 列范围存在数据
- 列 AQ (或对应列) 含物料编码格式 XXXXX-XXX-XXX
- 通常是作业指导书格式
文件格式
BOM 文件
| 列 | 字段 | 说明 |
|---|---|---|
| I | 物料编码 | 格式:XXXXX-XXX-XXX |
| J | 物料名称 | 子项物料名称 |
| K | 规格型号 | 子项规格型号 |
| N | 用量分子 | 用于计算数量 |
| O | 用量分母 | 用于计算数量 |
| P | 备注 | 包含位号信息 |
数量计算:实际用量 = 分子(N) ÷ 分母(O),分母为空或0时默认为1
SOP 文件(作业指导书)
提取物料信息(按用户指定映射):
| 列范围 | 字段 | 实际取值 |
|---|---|---|
| AQ-AW | 物料编码 | AQ 列 |
| AX-BH | 名称规格 | AX 列 |
| BI-BN | 位号 | BI 列 |
| BO-BQ | 数量 | BO 列 |
校对逻辑
对比流程
- 物料编码匹配:BOM 列 I ↔ SOP 列 AQ
- 名称规格对比:BOM 列 J+K ↔ SOP 列 AX
- 位号对比:BOM 列 P ↔ SOP 列 BI
- 数量对比:BOM 列 N÷O ↔ SOP 列 BO
差异定义
- 名称规格差异:名称或规格型号不一致
- 位号差异:位号信息不匹配
- 数量差异:数量值不一致
输出说明
1. 差异报告
| 物料编码 | 名称 | 差异类型 | BOM内容 | SOP内容 |
|---|
差异类型:名称规格、位号、数量
2. 标注文件
标注颜色:
| 颜色 | 含义 | 应用列 |
|---|---|---|
| 🔴 红色 | 名称规格/位号/数量差异 | AX, BI, BO |
| 🟡 黄色 | 仅 SOP 中存在的物料 | AX, BI, BO |
注意:物料编码列(AQ)不标注颜色
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-2656255594-bom-sop-check": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
sop-bom-report
SOP与BOM对比校对,生成独立校对报告。支持单个SOP与多个BOM合并校对。从SOP提取物料信息(含页码、序号),与BOM对比,生成包含三个表格的报告:有差异物料(并排对比)、SOP独有物料、BOM独有物料。差异用红色标注,重复物料编码用黄色标注。保留SOP中所有重复物料条目不合并,逐条与BOM对比校对。自动清理临时文件和旧报告缓存。跨平台兼容(Linux/Mac/Windows)。支持多种SOP格式(标准格式、AR列格式、共享字符串格式)。智能检测位号和数量列,自动调整报告格式。列宽自适应内容长度,行距优化显示更清晰。
local-file-sender
本地文件发送工具。用户通过自然语言指定本地文件路径,将文件上传到云存储并发送下载链接。支持 Windows/Linux/macOS 路径格式。⚠️ 仅适用于本地部署的 OpenClaw,云端部署无法访问用户本地文件。