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

54 lines
3.5 KiB
Markdown
Raw Permalink 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.

## 目标
- 按照优化实施计划从第3周任务7/8开始全面落地并同时推进第4周任务9/10确保可视化、配置驱动和交付质量提升。
## 任务7列映射向导完善
- 字段扩展与中文提示:标准字段统一以英+中展示,支持更多列(条码、名称、规格、数量、单位、单价、金额/小计、分类、品牌、供应商)。
- 自动建议增强:结合样本数据统计(字符串比例、特殊关键词、数值特征)给出更可靠的映射建议。
- 表头定位增强:支持预览选择,并保存 `header_row`;向导内清晰提示当前使用的表头行。
- 配置管理:支持导入/导出映射方案JSON可一键应用到多供应商。
- 热重载与快捷入口:保存后自动重载供应商处理器;在系统设置区和快捷键中提供入口。
## 任务8模板管理与校验完善
- 模板组管理:支持为每个供应商选择/保存多个模板默认、备用UI下拉选择当前模板。
- 差异检测:读取模板首行表头与系统标准列比较,列表显示缺失/多余字段与修复建议。
- 批量校验:可一次性校验选定供应商的所有模板组并生成报告。
- 示例生成:按标准列生成示例模板,便于对齐格式。
## 任务9单元测试与烟雾测试
- 单元测试pytest
- `_find_header_row` 不同格式表头识别(第一行/中间行/合并行/空白行混杂)。
- `GenericSupplierProcessor` 列映射、清洗规则remove_rows/fill_na/convert_type与公式计算。
- 模板填充的关键路径(必要列检测、数量/赠送量/单价写入)。
- 烟雾测试准备小样本图片→OCR→Excel→采购单验证端到端可用记录日志与输出。
## 任务10打包与版本信息
- 版本信息:主窗口标题与“关于”对话框显示版本号、构建时间、更新日志入口。
- 打包校验:构建后检查模板与配置文件存在性;打包时拷贝资源并生成校验报告。
- 更新脚本:完善 `build_exe.py` 支持版本号注入与资源校验失败时中止。
## 实现要点
- GUI系统设置页整合入口对话框使用 780×660/540 尺寸,`topmost`/`lift`/`focus_force` 保证焦点。
- 配置:`suppliers_config.json` 增加 `header_row`、`column_mapping`、`output_templates`(数组)与当前选择索引。
- 处理器:优先使用保存的表头行;模板管理选择的模板在处理时应用。
- 日志与提示:保存/校验/重载操作统一写入日志面板并气泡提示。
## 验证
- 交互走查:向导流程顺畅、字段标签明确、置顶行为正常。
- 单元测试通过率达标≥90%覆盖关键模块);烟雾测试输出正确文件且无异常。
- 打包后 EXE 启动显示版本信息;资源齐备,最近文件可双击打开。
## 变更范围
- `启动器.py`设置页UI、向导与模板管理弹窗
- `app/core/processors/supplier_processors/generic_supplier_processor.py`(读取与映射逻辑)
- `app/core/excel/processor.py`(表头行识别与模板填充校验)
- `config/suppliers_config.json`(结构扩展)
- `tests/`新增pytest用例与烟雾测试脚本
- `build_exe.py`(版本注入与校验)
## 时间安排
- Day 1任务7 UI/配置完成,处理器联动与验证
- Day 2任务8 模板管理增强与批量校验
- Day 3任务9 单元测试与烟雾测试
- Day 4任务10 打包与版本信息,回归测试与文档补充
确认后我将按以上计划开始实施并逐项提交验证结果。