## 目标 - 用你提供的原始文件与期望结果跑通“验证闭环”,自动对比差异并生成修正建议。 - 将“规则设置”改造成通俗易懂的“向导 + 快速模板 + 自动识别”,让普通用户也能完成操作。 ## 验证闭环(立即可用) - 新增“验证匹配”面板: - 选择原始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:回归测试与打包;提供“农夫山泉”预设并用你的样例验证匹配 确认后我将实现“验证匹配”面板并接入建议修复,先用你提供的农夫山泉样例跑通闭环,再推广到其它供应商。