4.0 KiB
4.0 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | P9A1 | invoicePool拆分方案设计与边界冻结 | 为超大路由文件建立拆分方案:按上传/查询/验真/运维动作分组并定义共享select与mapper边界,输出拆分清单和迁移顺序 | 形成可执行拆分清单且不改变现有API契约与权限模型 | manual: 架构评审拆分方案并逐项确认API/权限/返回结构不变 | manual | DONE | DONE | DONE | server/src/routes/invoicePool.js | server/src/routes/invoicePool/*.js | server/src/routes/invoicePool/shared/*.js | [] | 回滚策略=保留原入口文件并逐步转发 |
| 3 | P9A2 | invoicePool验真路由独立化实施 | 将验真相关端点与事务逻辑从invoicePool主文件拆分至独立模块并保持注册路径不变 | POST/GET/RETRY三个验真端点行为与错误码保持一致且主文件显著瘦身 | cd server && node --check src/routes/invoicePool.js && node --check src/routes/invoicePool/verification.js && ./scripts/regression-verification.sh | manual | DONE | DONE | DONE | server/src/routes/invoicePool.js | server/src/routes/invoicePool/verification.js | server/src/routes/invoicePool/shared/selects.js | ["P9A1"] | 不改API路径=/api/invoice-pool/:id/verification* |
| 4 | P9A3 | invoicePool共享select与响应映射收敛 | 提炼重复select片段与normalize逻辑到shared模块避免遗漏verification_records并降低维护成本 | 所有走normalizeInvoiceResponse的查询都包含必要字段且无行为回归 | cd server && node --check src/routes/invoicePool.js && ./scripts/regression-workflow-actions.sh && ./scripts/regression-verification.sh | manual | DONE | DONE | DONE | server/src/routes/invoicePool.js | server/src/routes/invoicePool/shared/selects.js | server/src/routes/invoicePool/shared/mappers.js | ["P9A2"] | 不做功能增强仅做结构收敛 |
| 5 | P9B1 | Dashboard趋势改为SQL聚合 | 将趋势统计由内存聚合改为数据库聚合(date_trunc/group by)并保留现有过滤与权限约束 | 趋势接口在大数据量下性能提升且返回结构保持兼容 | manual: 对比改造前后同时间窗结果一致并在样本数据下验证响应时间 | manual | DONE | DONE | DONE | server/src/routes/dashboard.js | server/prisma/schema.prisma | server/prisma/migrations/* | [] | 若采用queryRaw需参数化防SQL注入 |
| 6 | P9B2 | Dashboard聚合性能回归脚本补强 | 为趋势与分类聚合新增性能/正确性检查步骤并接入可选回归开关 | 在mock数据下可重复验证聚合一致性且失败输出可定位 | manual: ./scripts/regression-dashboard.sh 增加一致性断言与可选性能指标输出 | manual | DONE | DONE | DONE | server/scripts/regression-dashboard.sh | server/scripts/regression-all.sh | ["P9B1"] | 保持RUN_DASHBOARD_REGRESSION默认0 |
| 7 | P9C1 | feature-matrix纳入P6-P8能力 | 在矩阵中追加R1-S2对应条目并明确事实源为p6-p8 master CSV与回归覆盖映射 | 矩阵可一眼看到P5+P6-P8全量能力并与CSV状态一致 | manual: 逐条核对issues/2026-02-09_23-30-00-p6-p8-remaining-work-master.csv 与 docs/feature-matrix.md | manual | DONE | DONE | DONE | docs/feature-matrix.md | issues/2026-02-09_23-30-00-p6-p8-remaining-work-master.csv | [] | 快照日期与范围说明需更新 |
| 8 | P9C2 | 矩阵一致性校验脚本扩展 | 扩展validate-feature-matrix脚本支持P5+P6-P8双事实源校验并在check-minimal维持门禁 | CI可阻断矩阵与执行合同漂移且错误信息可定位到ID级别 | cd /home/shunli/Projects/hyb-oa && ./scripts/check-minimal.sh | manual | DONE | DONE | DONE | scripts/validate-feature-matrix.py | scripts/check-minimal.sh | .github/workflows/ci-minimal.yml | ["P9C1"] | 保持历史CSV只读不改快照 |
| 9 | P9D1 | P9整体验收与回归基线 | 汇总执行P9后最小门禁和关键回归并更新README中的前置条件说明 | 最小门禁通过且文档明确回归所需环境开关 | cd /home/shunli/Projects/hyb-oa && ./scripts/check-minimal.sh;按需执行RUN_DASHBOARD_REGRESSION=1与RUN_VERIFICATION_REGRESSION=1 | manual | DONE | DONE | DONE | server/README.md | scripts/check-minimal.sh | server/scripts/regression-all.sh | ["P9A3","P9B2","P9C2"] | 不在本Issue内新增业务功能 |