7.7 KiB
7.7 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | R1 | 历史TODO清账映射(A/C -> E/F) | 对 2026-02-07-p2-kickoff.csv 与 2026-02-08_14-20-25-p2-ci-and-tests.csv 的 TODO 项逐条映射到 implemented/superseded/still-open 并给出证据路径 | 历史 TODO 100% 有去向且可追溯到具体 CSV/代码路径 | manual: 人工逐条对照旧 CSV 与最新 feature-matrix/blueprint-v3 并复核映射表 | manual | DONE | DONE | DONE | docs/todo-reconciliation.md | issues/2026-02-07-p2-kickoff.csv | issues/2026-02-08_14-20-25-p2-ci-and-tests.csv | [] | none |
| 3 | R2 | 规格与计划文档状态同步 | 修正 requirements-specification 与 implementation_plan 中与当前实现冲突的状态描述并补充引用 feature-matrix 的口径说明 | 两份文档状态与 feature-matrix 与 p5-blueprint-v3 一致且不改变业务语义 | manual: 对照 docs/feature-matrix.md 与 issues/2026-02-09_13-39-02-p5-blueprint-v3.csv 复核文档状态项 | manual | DONE | DONE | DONE | docs/requirements-specification.md | docs/implementation_plan.md | ["R1"] | none |
| 4 | R3 | 状态一致性自动校验与CI接入 | 新增脚本校验 feature-matrix 与蓝图 CSV 的 ID/状态一致性并接入最小门禁 | PR 执行 check-minimal 时可阻断矩阵漂移且输出可定位差异 | 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 | ["R2"] | none |
| 5 | V1 | 验真域模型与Provider抽象 | 新增 invoice_verification_records 模型与 provider 抽象(mock 与 tax 占位)且不破坏 OCR 流程 | 支持记录验真请求结果错误耗时请求人并可追溯到票据 | cd server && npm run prisma:validate && node --check src/routes/invoicePool.js | manual | DONE | DONE | DONE | server/prisma/schema.prisma | server/src/services/verification/* | server/src/config.js | ["R3"] | 默认 INVOICE_VERIFICATION_ENABLED=false;provider 优先 mock |
| 6 | V2 | 验真API与异步任务(pg-boss) | 新增 verify/query/retry API 与 pg-boss 任务编排并写入审计日志 | 状态流转 pending->passed/failed/error 正确且重试频控可配置并可审计 | manual: 启用 mock provider 后触发 verify 与 retry 并查询审计日志 | manual | DONE | DONE | DONE | server/src/routes/invoicePool.js | server/src/jobs/pgBossJobs.js | server/src/jobs/jobSystem.js | server/src/routes/audit.js | ["V1"] | none |
| 7 | V3 | 票据中心验真前端闭环 | 在 InvoicePoolPage 增加验真状态展示手动触发失败原因与权限控制 | 角色可见性正确状态与后端一致错误码文案可操作 | cd client && npm run typecheck && npm run build | manual | DONE | DONE | DONE | client/src/pages/InvoicePoolPage.tsx | client/src/api/invoicePool.ts | client/src/api/errorMessages.ts | ["V2"] | none |
| 8 | V4 | 验真回归脚本与总回归接入 | 新增 regression-verification.sh 并通过环境变量接入 regression-all.sh | mock 模式可稳定跑通验真闭环且失败输出可定位 | cd server && ./scripts/regression-verification.sh && RUN_VERIFICATION_REGRESSION=1 ./scripts/regression-all.sh | manual | DONE | DONE | DONE | server/scripts/regression-verification.sh | server/scripts/regression-all.sh | server/README.md | ["V2","V3"] | none |
| 9 | D1 | 看板聚合API | 新增费用总览趋势分类TopN审批效率聚合接口并支持时间与部门过滤 | 接口支持 dateFrom/dateTo/departmentId 且权限隔离正确 | manual: 调用 dashboard API 校验过滤条件与权限边界 | manual | DONE | DONE | DONE | server/src/routes/dashboard.js | server/src/app.js | server/src/constants/permissions.js | ["R3"] | none |
| 10 | D2 | 前端Dashboard强化 | 在 DashboardPage 接入真实指标卡趋势图分类分布并支持 drill-down | 角色可见性正确空态与错误态完整且性能可接受 | cd client && npm run typecheck && npm run build | manual | DONE | DONE | DONE | client/src/pages/DashboardPage.tsx | client/src/api/dashboard.ts | ["D1"] | none |
| 11 | D3 | 看板导出联动 | 为看板统计增加 CSV/XLSX 导出并写审计 | 导出字段与页面过滤一致且审计可检索 | manual: 调用 dashboard 导出并核对字段与审计动作 | manual | DONE | DONE | DONE | server/src/routes/exports.js | client/src/pages/DashboardPage.tsx | client/src/api/exports.ts | ["D1"] | 复用现有 export 能力避免重复造轮子 |
| 12 | B1 | 预算池与台账模型 | 新增 budget_pools 与 budget_ledger_entries 模型含周期与预警阈值 | 支持 allocated/used/remaining 周期统计与审计字段 | cd server && npm run prisma:validate | manual | DONE | DONE | DONE | server/prisma/schema.prisma | server/prisma/migrations/* | ["R3"] | 迁移仅 ADD TABLE/COLUMN/INDEX |
| 13 | B2 | 预算API与提交流程拦截 | 新增预算 CRUD 查询与 submit 校验并支持 warn/block 模式开关 | 超阈值行为符合 BUDGET_CONTROL_MODE 且审计完整 | manual: 分别在 warn/block 下提交报销验证行为与审计 | manual | DONE | DONE | DONE | server/src/routes/budgets.js | server/src/routes/reimbursements.js | server/src/config.js | ["B1"] | 默认 BUDGET_CONTROL_MODE=warn |
| 14 | B3 | 预算前端运营页 | 新增预算管理页面与提交前预算提示条 | finance/manager 可运营员工可见必要告警且不影响既有提交流程 | cd client && npm run typecheck && npm run build | manual | DONE | DONE | DONE | client/src/pages/BudgetsPage.tsx | client/src/api/budgets.ts | client/src/pages/ReimbursementDetailPage.tsx | ["B2"] | none |
| 15 | B4 | 预算回归脚本 | 新增 regression-budget.sh 覆盖 warn/block 两模式并可接入总回归 | 脚本可重复执行稳定且失败可定位 | cd server && ./scripts/regression-budget.sh | manual | DONE | DONE | DONE | server/scripts/regression-budget.sh | server/scripts/regression-all.sh | server/README.md | ["B2","B3"] | none |
| 16 | I1 | 集成框架(Outbox+Adapter) | 建立统一出站事件与适配器重试死信框架并提供审计 | 事件出站重试死信可观测且业务层不直接耦合第三方 | manual: 触发一条出站事件并验证重试与审计 | manual | DONE | DONE | DONE | server/prisma/schema.prisma | server/src/services/integrations/* | server/src/jobs/pgBossJobs.js | ["R3"] | 优先复用 pg-boss 不引入新队列 |
| 17 | I2 | ERP最小集成(paid同步) | 实现 paid 报销同步 ERP 的最小适配器支持手动重推与幂等 | paid 单据可同步失败可重试且可关闭回滚 | manual: mock ERP 下触发同步与重推并验证幂等 | manual | DONE | DONE | DONE | server/src/routes/integrations.js | server/src/services/integrations/erp/* | server/src/routes/reimbursements.js | ["I1"] | 默认 ERP_SYNC_ENABLED=false |
| 18 | I3 | 差旅单导入与报销关联 | 提供差旅订单导入接口与报销关联字段实现最小闭环 | 导入可幂等可关联可审计且失败不影响核心报销流 | manual: 导入同一订单两次验证幂等并关联报销 | manual | DONE | DONE | DONE | server/src/routes/travelOrders.js | server/src/services/integrations/travel/* | server/prisma/schema.prisma | ["I1"] | 默认 TRAVEL_SYNC_ENABLED=false |
| 19 | I4 | 通知渠道扩展(企微/钉钉) | 扩展通知 adapter 支持企微/钉钉模板发送并可开关 | submit/approve/pay 可多渠道发送且失败不阻塞主流程 | manual: mock channel 下触发三类事件验证发送与降级 | manual | DONE | DONE | DONE | server/src/services/notifications/* | server/src/config.js | server/src/routes/notifications.js | ["I1"] | 默认 IM_NOTIFIER_ENABLED=false |
| 20 | S1 | 企业卡/虚拟卡管控预研 | 输出企业卡能力边界数据模型草案预算联动方案与ROI评估 | 形成 ADR 与 PoC 结论并给出做/不做建议 | manual: 评审 ADR 文档与 PoC 记录 | manual | DONE | DONE | DONE | docs/adr/adr-enterprise-card-control.md | ["I1"] | none |
| 21 | S2 | 移动端路线决策预研 | 完成 PWA vs RN vs 小程序在离线拍照与上传可靠性方面的 PoC 对比 | 输出推荐路线成本风险与回滚路径 ADR | manual: 评审 ADR 文档与 PoC 对比表 | manual | DONE | DONE | DONE | docs/adr/adr-mobile-strategy.md | ["R3"] | none |