67 lines
4.2 KiB
Markdown
67 lines
4.2 KiB
Markdown
# 益选 OCR 订单处理系统
|
||
|
||
## 概览
|
||
- 面向零售与分销场景的采购单处理工具,支持图片 OCR → Excel 规范化 → 模板填充 → 合并导出全流程
|
||
- 通过供应商管理与规则引擎,适配不同供应商的格式差异(数量含单位、名称包含规格、缺失列补齐)
|
||
- 提供验证匹配面板与单价校验机制,确保输出与既定模板一致且价格合理
|
||
|
||
## 核心功能
|
||
- **全自动智能识别**:系统现在能自动识别 Excel 内容特征(如:蓉城易购 RCDH、烟草公司专卖证号、杨碧月经手人),并自动路由至专用预处理流程,无需手动干预。
|
||
- **图片/Excel处理**:支持拖拽或选择文件,一键生成标准银豹采购单。
|
||
- **极简 UI 体验**:移除了冗余的供应商特定按钮,所有 Excel 统一走智能路由处理。
|
||
- **无界面自动化接口 (headless_api.py)**:专为 OpenClaw 等平台设计,支持全自动文件类型与供应商识别。
|
||
- **单价预警机制**:自动比对 `templates/商品资料.xlsx`,若价差超过 1.0 元则触发警告。
|
||
|
||
## 供应商专用逻辑 (v2.2)
|
||
### 蓉城易购 (Rongcheng)
|
||
- **精准映射**:商品条码(E列)、数量(N列)、单价(Q列)、金额(S列)。
|
||
- **条码分裂**:支持多条码行(如 `条码1/条码2`)自动均分数量。
|
||
- **逻辑简化**:直接提取原始数量,不进行多余的单位或包装换算。
|
||
|
||
### 烟草公司 (Tobacco)
|
||
- **换算逻辑**:条码(B列)、数量(G列 x 10)、单价(E列 / 10)、总额(H列)。
|
||
- **智能跳行**:自动识别并跳过合计行及非数据行。
|
||
|
||
### 杨碧月订单
|
||
- **自动对齐**:识别到经手人“杨碧月”后,自动将非标 Excel 转换为标准列格式,支持单位换算(件 -> 瓶)。
|
||
|
||
## 关键适配(蓉城易购)
|
||
- 新模板(如“订单1765440157955.xlsx”):
|
||
- 使用第三行作为表头(`header=2`)
|
||
- 关键词选列并重命名到期望字段:商品条码(小条码)、订购数量(小单位)、单价(小单位)、优惠后金额(小单位)、单位
|
||
- 单位优先匹配“单位(订购单位)”列,清洗为去空白并将“件”替换为“份”
|
||
- 多条码行(逗号/顿号/斜杠/空格分隔)拆分为多行,数量均分并重算金额,单位保持订购单位
|
||
- 新模板映射:将“优惠后金额(小单位)”作为单价,“出库小计(元)”作为金额来源
|
||
|
||
## 使用说明
|
||
1. 运行程序(EXE或源码运行)
|
||
2. 在主界面:
|
||
- 拖拽或选择图片/Excel进行处理
|
||
- 系统设置 → 供应商管理:配置供应商、列映射与规则;使用规则预览查看规范化效果
|
||
- 系统设置 → 验证匹配:选择原始与期望文件,差异对比;应用建议后重载配置
|
||
3. 处理成功后,采购单保存到 `data/output` 或 `data/result`,最近文件列表可双击打开查看
|
||
|
||
## 构建与打包
|
||
- 依赖:Python 3.9+,虚拟环境建议
|
||
- 安装打包工具:`pip install pyinstaller`
|
||
- 运行打包脚本:`python build_exe.py`
|
||
- 生成 EXE:`dist/OCR订单处理系统.exe`
|
||
- 生成便携包:`release/OCR订单处理系统.exe`(包含 `templates/银豹-采购单模板.xls` 与 `templates/商品资料.xlsx`)
|
||
|
||
## Git 提交建议
|
||
- 建议忽略构建目录与运行输出(见 `.gitignore`)
|
||
- 保留模板与配置:`templates/银豹-采购单模板.xls`、`templates/商品资料.xlsx`、`config/config.ini`、`config/barcode_mappings.json`
|
||
|
||
## 常见问题
|
||
- 表头识别失败:在供应商管理的“列映射与表头”页预览表头行并选择正确行号
|
||
- 数量含单位:启用 `split_quantity_unit` 与 `normalize_unit` 规则并配置单位同义词与包装倍数
|
||
- 名称中规格:配置 `ignore_words` 与 `name_patterns`,使用步骤预览确认解析效果
|
||
- 单价校验未提示:确认 `templates/商品资料.xlsx` 存在且列名包含“进货价”与条码列(`商品条码/条码/barcode`)
|
||
|
||
## 变更记录(近期)
|
||
- 新增验证匹配面板与建议修复
|
||
- 规则预设与步骤预览(原始→逐步→规范化)
|
||
- 单价校验机制(价差>1元提示)
|
||
- 蓉城易购新模板适配(第三行表头、单位(订购单位)、多条码拆分、金额映射)
|
||
|