orc-order-v2/doc/优化实施计划.md
2025-11-15 18:46:03 +08:00

80 lines
4.3 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.

# OCR订单处理系统优化实施建议与周计划
## 目标
- 提升稳定性与可维护性:统一日志、进度回调、错误提示与配置持久化
- 优化用户体验:一致的弹窗与目录打开、清晰进度与结果摘要
- 控制成本与性能:合理并发、避免重复处理、日志滚动归档
## 范围
- 应用层GUI、设置、交互
- 服务层OCR、Excel、合并
- 工具层(日志、配置、校验)
## 已完成优化
- 日志滚动归档单文件5MB保留3个备份RotatingFileHandler
- 统一GUI日志挂载`init_gui_logger`/`dispose_gui_logger`
- 统一进度显示:`ProgressReporter` 接入主要流程
- 结果目录一致化Excel/合并/完整流程优先打开 `data/result`
- Excel引擎错误提示统一弹窗附带安装建议openpyxl/xlrd
- 用户设置持久化:窗口尺寸与主题记忆(`data/user_settings.json`
## 待实施优化(按周迭代)
### 第1周基础能力统一与设置面板扩展
- 任务1系统设置面板扩展
- 新增设置项:日志级别、并发参数(`max_workers`/`batch_size`)、模板路径、输入/输出/结果目录
- 写入 `user_settings.json` 并同步到 `config.ini`(通过 `ConfigManager.update/save_config`
- 验收:设置变更后重启仍生效;操作流程读取最新参数
- 任务2进度回调全链路接入服务层
- 为合并流程(`PurchaseOrderMerger`)添加 `progress_cb`97%→100%UI显示阶段进度
- 完整流程串联 OCR→Excel→合并 三段进度
- 验收状态栏进度从0→100%,阶段文案一致、无跳变
- 任务3错误提示模板统一
- 抽象错误弹窗生成:标题/描述/建议操作(缺依赖、模板列缺失、文件格式异常)
- 在服务层捕获常见错误并附带建议(不用泄露敏感信息)
- 验收:触发典型错误时弹窗一致、日志有详细堆栈
### 第2周兼容性与可维护性增强
- 任务4供应商配置校验schema
-`suppliers_config.json` 加载前校验:字段完整、列映射存在、清洗/计算规则可执行
- 失败时聚合错误列表并弹窗提示
- 验收:错误配置阻止加载且提示清晰;正确配置即时生效
- 任务5拖拽与最近文件
- 日志面板上方增加拖拽区域(图片/Excel拖入即处理
- 最近处理文件列表(持久化、可清空)
- 验收:拖拽成功处理;最近列表记忆与操作正常
- 任务6线程池复用与批次自适应
- OCR批量识别的线程池复用根据 CPU 核心数与文件量自适应 `max_workers`、`batch_size`
- 验收:大批量处理性能平稳,无过载或明显阻塞
### 第3周数据处理与模板管理
- 任务7列映射向导
- 弹窗展示识别到的列与标准列,支持手动修正并保存到供应商配置
- 验收:手动修正列映射后处理成功;配置热重载生效
- 任务8多模板管理与校验
- 支持按供应商选择模板;校验模板表头与系统标准列,给出差异提示
- 验收:不同模板无错填;差异提示友好
### 第4周测试与交付质量
- 任务9单元测试与烟雾测试
- 核心逻辑单元测试(规格解析、数量反推、列映射、模板填充)
- 端到端小样本烟雾测试OCR→Excel→采购单
- 验收:测试通过率达标;烟雾测试稳定
- 任务10打包与版本信息
- 打包资源校验(模板与配置存在性);显示版本号与更新日志入口
- 验收:打包可用;启动显示版本信息;更新日志可查看
## 验收标准与度量
- 功能验收:设置变更生效、进度准确、错误提示一致
- 稳定性:长时间运行日志不会膨胀;批量处理无明显卡顿
- 可维护性:配置驱动、模块职责清晰、代码重复显著减少
## 风险与回滚
- 配置同步风险:提供回滚策略(保留最近一次有效 `config.ini``user_settings.json` 备份)
- 依赖安装风险:提供一键安装与离线安装说明
- 模板差异风险:在校验失败时阻断流程并提示修复路径
## 实施说明
- 每周开始前将与您确认要启动的任务;每个任务完成后提交变更摘要与验证结果
- 如发现新需求或变化,计划将滚动更新,并在执行前与您确认