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

3.4 KiB
Raw Blame History

目标

  • 用你提供的原始文件与期望结果跑通“验证闭环”,自动对比差异并生成修正建议。
  • 将“规则设置”改造成通俗易懂的“向导 + 快速模板 + 自动识别”,让普通用户也能完成操作。

验证闭环(立即可用)

  • 新增“验证匹配”面板:
    • 选择原始Exceldata/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回归测试与打包提供“农夫山泉”预设并用你的样例验证匹配

确认后我将实现“验证匹配”面板并接入建议修复,先用你提供的农夫山泉样例跑通闭环,再推广到其它供应商。