ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

sop-bom-report

SOP与BOM对比校对,生成独立校对报告。支持单个SOP与多个BOM合并校对。从SOP提取物料信息(含页码、序号),与BOM对比,生成包含三个表格的报告:有差异物料(并排对比)、SOP独有物料、BOM独有物料。差异用红色标注,重复物料编码用黄色标注。保留SOP中所有重复物料条目不合并,逐条与BOM对比校对。自动清理临时文件和旧报告缓存。跨平台兼容(Linux/Mac/Windows)。支持多种SOP格式(标准格式、AR列格式、共享字符串格式)。智能检测位号和数量列,自动调整报告格式。列宽自适应内容长度,行距优化显示更清晰。

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/2656255594/sop-bom-report
Or

SOP-BOM 校对报告生成器

系统要求

  • Python: 3.8 或更高版本
  • 依赖库:
    • 标准库:无额外安装
    • 可选:openpyxl(用于读取数值类型的数量数据)
      pip install openpyxl
      
  • 平台: Linux / macOS / Windows
  • 内存: 建议 512MB 以上

功能说明

  1. 解析 SOP 文件:提取物料信息(页码、序号、物料编码、名称规格、位号、数量)
  2. 解析 BOM 文件:提取物料信息(项次、物料编码、名称、规格、位号、数量)
  3. 多 BOM 合并:支持多个 BOM 文件合并后一起校对
  4. 对比校对:以物料编码为基准,对比名称规格、位号、数量
  5. 生成校对报告:独立 xlsx 文件,包含三个表格
  6. 自动清理缓存:每次生成报告后自动清理临时文件和旧报告

使用方法

单个 BOM 校对

python sop_bom_report.py bom.xlsx --sop sop.xlsx

多个 BOM 合并校对

# 多个 BOM 文件会合并后一起与 SOP 对比
python sop_bom_report.py bom1.xlsx bom2.xlsx bom3.xlsx --sop sop.xlsx

指定输出目录

python sop_bom_report.py bom.xlsx --sop sop.xlsx -d ./reports

详细输出(调试模式)

python sop_bom_report.py bom.xlsx --sop sop.xlsx -v

缓存清理策略

自动清理

每次生成报告后自动执行:

  • 临时目录:清理系统临时目录下的 sop_extract_*bom_extract_*report_*
  • 旧报告
    • 保留最近 20 份报告
    • 删除超过 7 天的报告
    • 日志输出清理统计

手动清理

如需手动清理,可执行:

# Linux/Mac
rm -rf /tmp/sop_extract_* /tmp/bom_extract_* /tmp/report_*

# Windows (PowerShell)
Remove-Item -Path "$env:TEMP\sop_extract_*" -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:TEMP\bom_extract_*" -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:TEMP\report_*" -Force -ErrorAction SilentlyContinue

输出报告结构

表格1:有差异的物料(并排对比)

页码序号物料编码名称规格位号数量项次物料编码名称规格位号数量
SOP数据BOM数据

颜色标注

  • 🔴 红色:差异内容(名称规格/位号/数量)
  • 🟡 黄色:重复物料编码(同一物料编码在SOP中出现多次)

表格2:SOP 独有物料

SOP 中有但 BOM 中没有的物料,显示完整 SOP 数据(页码、序号、物料编码、名称规格、位号、数量)。

表格3:BOM 独有物料

BOM 中有但 SOP 中没有的物料,显示完整 BOM 数据(项次、物料编码、名称、规格、位号、数量)。

文件格式

SOP 文件(作业指导书)

三级提取策略

1. 标准格式(优先)

当 SOP 文件符合标准格式时,使用以下列提取:

字段说明
BF页码格式:"第X页,共Y页"
AN序号范围 1-20
AQ物料编码格式:XXXXX-XXX-XXX
AX名称规格名称和规格合在一起
BI位号物料位置信息
BO数量物料数量(优先使用 openpyxl 读取数值)

2. 兼容格式(后备)

当标准格式提取不到物料时,自动启用多列兼容模式:

字段说明
AQ/AR/AX/AN/BU/BF物料编码自动扫描多列查找(按优先级)
AX/AQ/AR/AN/BU/BF名称规格自动检测(排除物料编码本身)
BI/BJ/BK位号自动检测
BO/BP/BN/BQ数量自动检测(优先使用 openpyxl 读取数值)

特殊格式支持

  • AR 列物料编码:部分 SOP 格式中物料编码在 AR 列
  • 共享字符串提取:当物料编码不在标准列时,从共享字符串中直接提取
  • 数值数量读取:使用 openpyxl 的 data_only=True 模式读取实际显示的数值

3. 共享字符串直接提取(最后后备)

当以上格式都无法提取时,直接从 Excel 共享字符串中提取物料编码:

  • 匹配格式:^\d{5}-\d{3}-\d{3}$
  • 名称规格:取物料编码相邻的下一个字符串

BOM 文件

自动识别两种 BOM 格式

格式一(新格式)

字段说明
F项次物料序号
G物料编码格式:XXXXX-XXX-XXX
H名称物料名称
I规格规格型号
K用量分子用于计算数量
L用量分母用于计算数量
M备注包含位号信息

Metadata

Stars4473
Views2
Updated2026-05-01
View Author Profile
AI Skill Finder

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 skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-2656255594-sop-bom-report": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.