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

3.5 KiB
Raw Permalink Blame History

目标

  • 按照优化实施计划从第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_rowcolumn_mappingoutput_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 打包与版本信息,回归测试与文档补充

确认后我将按以上计划开始实施并逐项提交验证结果。