diff --git a/docs/task/138-批量重新采集并拆分任务执行按钮.md b/docs/task/138-批量重新采集并拆分任务执行按钮.md new file mode 100644 index 0000000..11b7e48 --- /dev/null +++ b/docs/task/138-批量重新采集并拆分任务执行按钮.md @@ -0,0 +1,46 @@ +# 138 批量重新采集并拆分任务执行按钮 + +- 类型:需求 +- 父级大工单:#1 +- 所属 MVP / 版本:#2 +- 状态:待验收 +- 日期:2026-08-11 +- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/138 + +## 背景与目标 + +原“重新执行”只支持一条采集任务。改为独立的“重新采集”按钮,支持从勾选记录中过滤采购任务,并把可执行的采集任务加入串行队列。 + +## 最终方案 + +Repository 统一完成批量预检,返回可执行、类型过滤和安全阻止三类结果。用户确认后,固定 Android 设备线程按任务编号逐条重新采集;开始每一条前再次校验状态,避免确认后状态变化造成重复执行。 + +## 改了哪些 + +- `client/src/pdd_ui.py`:增加批量重新采集交互,并调整操作按钮顺序。 +- `client/src/pdd_ui_event.py`:增加批量确认、串行队列、停止和结果汇总。 +- `client/src/task_models.py`、`client/src/task_repository.py`:增加批量命令、预检结果和数据库安全校验。 +- `client/test/`:补充多选按钮、批量分类和原流程回归测试。 +- `client/AGENTS.md`、`docs/client/`:同步稳定交互和线程规则。 + +## 验收结果 + +| 验收标准 | 结果 | +|---|---| +| “重新执行”拆为“重新采集”和“重新采购” | 通过 | +| 多选后只把采集任务加入重新采集队列 | 通过 | +| 确认框显示可执行、过滤和阻止数量 | 通过 | +| 固定设备线程逐条执行,停止后不启动剩余任务 | 通过(自动测试);真机待验收 | +| 完成后显示成功、失败和跳过数量 | 通过 | + +## 测试 + +- 执行的命令:`C:/Python310/python.exe -m unittest discover -v -s test -p 'test_*.py'` +- 结果:370 项测试全部通过。 +- 执行的命令:延迟关闭的 PyQt5 离屏 `MainWindow` 冒烟测试。 +- 结果:输出 `SMOKE_OK`。 +- **没验证到的部分**:未连接真实 Android 设备执行多条 PDD 重新采集;需要用户真机验收。 + +## 相关提交 + +- `598c808` 增加批量重新采集和安全重新采购