orc-order-v2/OPENCLAW_GUIDE.md
houhuan 32d41244e5 feat: 实现智能订单识别与自动预处理路由
- 新增智能识别功能,自动检测蓉城易购、烟草公司、杨碧月订单特征
- 修改订单服务流程,在Excel处理前自动执行专用预处理
- 更新无界面API,支持智能识别模式,简化OpenClaw集成
- 完善供应商专用预处理逻辑,修复数量计算和单位换算问题
- 添加变更日志和最终更新报告文档,记录v2.1版本变更
2026-03-30 15:36:27 +08:00

70 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# OCR 订单处理系统 - OpenClaw 对接指南 (增强版)
本指南旨在帮助 OpenClaw 实现对采购单处理系统的全功能自动化控制涵盖图片识别、Excel 清洗、特殊供应商处理及条码映射管理。
## 1. 核心接口说明 (headless_api.py)
`headless_api.py` 是系统的统一命令行入口。它支持多种模式,通过参数切换功能。
### 1.1 智能 Excel 订单处理 (推荐)
当用户直接提供供应商导出的 Excel 文件时使用。**系统会自动识别文件内容特征(如:蓉城易购 RCDH、烟草公司专卖证号、杨碧月经手人并自动路由至专用预处理流程。**
```bash
# 处理 data/input 中最新的 Excel
python headless_api.py --excel
# 处理指定 Excel
python headless_api.py "data/input/supplier_order.xlsx" --excel
```
### 1.2 图片 OCR 识别
当接收到用户发送的采购单图片时使用。OCR 识别完成后,生成的 Excel 同样会经过智能预处理。
```bash
# 自动处理 data/input 中最新的图片
python headless_api.py
# 处理指定图片
python headless_api.py "data/input/my_invoice.jpg"
```
### 1.3 显式特殊供应商处理
仅在智能识别失效时,用于强制指定处理模式。
```bash
# 显式指定:蓉城易购模式
python headless_api.py --rongcheng
# 显式指定:烟草公司模式
python headless_api.py --tobacco
```
## 2. 字段与逻辑变更 (v2.1)
### 2.1 蓉城易购 (Rongcheng)
- **条码位置**:固定映射到 **E列** (Index 4)。
- **数量逻辑**:固定映射到 **N列** (Index 13)。直接提取数值,**不进行任何单位或规格换算**。
- **单价与金额**Q列 (单价) 和 S列 (金额)。
- **条码分裂**:若条码包含 `/`, `,`, ``, `、` 等分隔符,系统将自动均分数量。
### 2.2 烟草公司 (Tobacco)
- **条码位置**:固定映射到 **B列** (Index 1)。
- **数量换算**:映射 **G列** (订单量),最终数量 = 订单量 **x 10**
- **单价换算**:映射 **E列** (批发价),最终单价 = 批发价 **/ 10**。
- **金额逻辑**H列 (金额)。不看规格,直接按数量*单价逻辑填充。
## 3. OpenClaw 集成策略
### 3.1 任务分发逻辑
OpenClaw 应根据用户输入判断调用的参数:
- **收到图片** -> 调用默认模式。
- **收到 Excel** -> 调用 `--excel` 模式(推荐,支持全自动识别)。
- **用户明确要求“强制蓉城”** -> 调用 `--rongcheng`
- **用户明确要求“强制烟草”** -> 调用 `--tobacco`
- **用户纠正条码错误** -> 调用 `--update-mapping`
### 3.2 错误码与返回值
- **0**:处理成功,输出结果文件绝对路径。
- **1**:处理失败,详细错误信息在 `stderr`
- **WARNING** stderr 中包含 `Price validation found...` 表示价格差异过大。
---
*版本2.1 | 更新日期2026-03-30*