orc-order-v2/.trae/documents/基于样例结果的验证闭环与规则简化优化.md
houhuan fb12e63c4c feat(供应商管理): 新增规则引擎与词典配置支持
refactor(处理器): 重构通用供应商处理器以支持规则引擎
docs: 更新README与文档说明供应商管理功能
build: 更新打包脚本注入版本信息
test: 添加规则引擎单元测试
2025-12-12 13:46:00 +08:00

57 lines
3.4 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.

## 目标
- 用你提供的原始文件与期望结果跑通“验证闭环”,自动对比差异并生成修正建议。
- 将“规则设置”改造成通俗易懂的“向导 + 快速模板 + 自动识别”,让普通用户也能完成操作。
## 验证闭环(立即可用)
- 新增“验证匹配”面板:
- 选择原始Excel`data/output/微信图片_20251115212128_148_108.xlsx`
- 选择期望结果:`data/result/采购单_微信图片_20251115212128_148_108.xls`
- 一键运行当前供应商流程 → 自动生成临时结果 → 与期望结果进行单元格级对比
- 输出差异报告:
- 列差异(列缺失/多余/名称不一致)
- 行差异(按条码或名称对齐,数量/单位/单价/金额差异)
- 规则差异归因(例如:数量未拆分、单位未归一)
- 按“应用建议”自动调整当前供应商的规则/词典(可撤销)
## 简化操作设计
- 两种模式:
- 简单模式(默认):
- 步骤:选择文件 → 选择供应商 → 选择快速模板 → 预览 → 生成
- 字段中文说明name商品名称、quantity数量与自动建议
- 高级模式:
- 可编辑规则顺序与参数、词典、正则具备步骤预览与Diff
- 快速模板:
- “无数量/单位列”模板:自动配置拆分数量单位→名称提取规格→单位归一→缺省填充→标记赠品
- “纯金额/单价反推数量”模板:直接回推数量
- “条码驱动匹配”模板:条码为主键对齐
## 自动识别与建议
- 列名识别:从表头关键词自动映射常用字段
- 单位与数量:从“订单数量”拆分,单位同义词与包装倍数自动套用
- 名称提取规格词典与正则库容量×数量、双乘、“550水24白膜”自动解析失败行计数提示
- 自动修正建议:
- 若数量为空建议添加“split_quantity_unit(source=订单数量)”
- 若单位为“箱/件/提/盒”建议添加“normalize_unit + pack_multipliers”
- 若金额与单价存在且数量为空建议添加“compute_quantity_from_total”
## 差异对比与一键修复
- 差异可视化原始→规范化→模板填充三栏对比支持仅显示变化列、导出CSV
- 一键修复:将建议以“卡片”列表展示,点击应用后立即刷新预览;支持撤销上一步
## 交互流程
1) 进入“验证匹配” → 选择原始与期望 → 运行 → 查看差异
2) 点击“应用建议”直观修复规则/词典 → 差异减少直至匹配
3) 切回“简单模式”一键生成采购单
## 技术实现要点
- 供应商配置:继续使用 `suppliers_config.json`但在GUI中隐藏JSON细节改为中文表单与下拉
- 规则执行:保留引擎,新增“建议生成器”根据差异报告生成规则/词典变更
- 对比对齐:优先按条码对齐;无条码时按名称近似匹配(去噪后模糊比对)
## 里程碑
- Day 1验证面板与差异对比建议生成器数量/单位/规格/金额)
- Day 2简单/高级模式切换;快速模板与自动识别
- Day 3一键修复与撤销导出差异报告
- Day 4回归测试与打包提供“农夫山泉”预设并用你的样例验证匹配
确认后我将实现“验证匹配”面板并接入建议修复,先用你提供的农夫山泉样例跑通闭环,再推广到其它供应商。