orc-order-v2/.trae/documents/继续改进并显性呈现改动.md
houhuan fb12e63c4c feat(供应商管理): 新增规则引擎与词典配置支持
refactor(处理器): 重构通用供应商处理器以支持规则引擎
docs: 更新README与文档说明供应商管理功能
build: 更新打包脚本注入版本信息
test: 添加规则引擎单元测试
2025-12-12 13:46:00 +08:00

52 lines
3.2 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.

## 概览
- 目标:让改动更可见并提升识别/处理准确性与可操作性
- 范围GUI入口与提示、表头识别与手动指定、供应商配置联动、交互一致性
## 可见入口改造
- 在“Excel处理→特殊处理”区新增两个明显按钮
- “列映射向导”:加载 Excel 源列 → 映射到标准列 → 保存至 `config/suppliers_config.json`
- “模板管理”:选择模板、校验表头列是否包含必需项 → 保存路径至供应商配置
- 在“快捷操作”区补充一个“显示处理器类型”入口,便于确认支持的文件类型
- 在保存成功后增加气泡提示与日志条目log 面板出现“列映射已保存”“模板路径已保存”)
## 手动表头行支持
- 在“列映射向导”弹窗增加“表头行号(从1开始)”输入框:
- 加载列时按照指定行重读 Excel 并展示源列
- 保存时将 `header_row`(零基索引)写入 `suppliers_config.json`
- 通用供应商处理器读取时优先使用 `supplier_config['header_row']`;未设置时执行自动表头检测(关键词+非空比例+字符串比例)
## 自动表头检测增强
- Excel 单文件处理与通用供应商处理器:
- 扫描范围扩大到前 30 行
- 扩充关键词:加入金额类(“金额/小计/总计/合计/合计金额”)
- 综合评分:关键词命中+非空比例+字符串比例,阈值达到即判为表头;否则选第一个有效行
## 交互与一致性
- “单个识别”按钮直接弹出图片选择(只允许 `jpg/jpeg/png/bmp`),取消即终止
- “单个处理”按钮弹出 Excel 选择(只允许 `xlsx/xls`),取消即终止,不再默认处理最新 Excel
- 处理完成后不再自动打开 `result/output` 目录,改为通过“最近文件”双击打开
- 最近文件仅记录图片/Excel自动过滤无效并按修改时间降序展示空历史时从 `data/output`、`data/result` 回填合规文件
## 供应商配置联动
- `suppliers_config.json`
- `column_mapping`:保存源列→标准列映射
- `header_row`:保存手动指定的表头行(零基)
- `output_template`:保存模板路径(相对路径)
- 处理器加载时校验并日志提示不合法项,保留已通过的配置
## 验证与可视化
- 操作日志:保存映射/模板时写入成功日志
- 处理器信息:通过“显示处理器类型”对话框列出支持的扩展名和描述
- 手动表头验证:在向导中“加载列”后,源列下拉应出现正确列名;处理后“最近文件”出现输出采购单
## 预计改动位置
- GUI按钮与向导弹窗`启动器.py`(特殊处理区与工具函数)
- 自动表头检测与手动表头使用:
- Excel处理`app/core/excel/processor.py` 的 `_find_header_row`、`process_specific_file`
- 通用供应商处理:`app/core/processors/supplier_processors/generic_supplier_processor.py` 的 `_read_supplier_data`、`_find_header_row`
- 供应商配置:`config/suppliers_config.json`
## 交付
- 提交代码改动后,更新打包 EXE便携包包含上述 UI 与功能;提供操作说明与可见验证点。
请确认以上计划,确认后我将按此逐项实现并验证。