4.4 KiB
4.4 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | P20TRAVEL1-0 | P20TRAVEL1执行合同刷新建档 | 创建并校验差旅申请与行程入站整合的 superseding 执行合同CSV | refresh CSV通过校验并明确 supersede 旧 roadmap CSV 且冻结 TRAVEL-1 权限预算工作流边界 | python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-10_17-32-21-p20-travel-1-l5-request-intake-refresh.csv | manual | DONE | DONE | DONE | issues/2026-03-10_17-32-21-p20-travel-1-l5-request-intake-refresh.csv | [] | 差旅一期只做申请审批与行程入站关联 不做ERP出站与对公支付 |
| 3 | P20TRAVEL1-1 | 差旅模型权限与seed基线 | 新增TravelRequest TravelRequestSegment travel_orders.travel_request_id及travel.*权限与默认seed | Prisma模型 权限映射 文档编号与默认workflow/document category seed全部齐备且与采购请假模式对称 | cd server && npm run prisma:validate && npm run test | manual | DONE | DONE | DONE | server/prisma/schema.prisma | server/prisma/migrations | server/src/constants/permissions.js | server/src/services/documentSequence.js | server/src/scripts/seed-config.js | server/tests | issues/2026-03-10_17-32-21-p20-travel-1-l5-request-intake-refresh.csv | ["P20TRAVEL1-0"] | travel_request一期开启独立travel.*命名空间 且workflow采用直属经理单层审批 |
| 4 | P20TRAVEL1-2 | 差旅申请接口工作流与预算语义 | 实现差旅申请CRUD submit withdraw接口并扩展workflow travel分支与travel orders关联导入 | 创建 提交 审批 驳回 退回 撤回 预算reserve confirm release与订单关联全部成立且不触发ERP事件 | cd server && npm run test | manual | DONE | DONE | DONE | server/src/routes/travelRequests.js | server/src/routes/travelOrders.js | server/src/routes/workflow.js | server/src/constants/notificationTypes.js | server/src/app.js | server/tests | issues/2026-03-10_17-32-21-p20-travel-1-l5-request-intake-refresh.csv | ["P20TRAVEL1-1"] | withdraw与return均回到draft并释放预算 但不新增withdrawn持久状态 |
| 5 | P20TRAVEL1-3 | 差旅前端入口详情与待办联动 | 新增差旅申请页面API与路由导航并扩展workflow task detail/mobile approvals显示差旅实体 | 差旅页可创建提交撤回查看关联订单 审批待办与通知入口可处理travel_request任务且权限边界正确 | cd client && npm run typecheck && npm run build | manual | DONE | DONE | DONE | client/src/api/travelRequests.ts | client/src/api/workflow.ts | client/src/auth/permissions.ts | client/src/pages/TravelRequestsPage.tsx | client/src/pages/WorkflowTasksPage.tsx | client/src/pages/WorkflowTaskDetailPage.tsx | client/src/pages/MobileApprovalsPage.tsx | client/src/pages/NotificationChannelsPage.tsx | client/src/components/navigation/NavLinks.tsx | client/src/router/index.tsx | issues/2026-03-10_17-32-21-p20-travel-1-l5-request-intake-refresh.csv | ["P20TRAVEL1-2"] | 差旅页采用采购式列表+详情/表单布局 并支持travel-requests?id=<id>深链 |
| 6 | P20TRAVEL1-4 | 差旅事件边界与矩阵同步 | 同步差旅一期集成边界 领域事件 Feature Matrix与事实源校验器 | 文档明确TRAVEL-1只做申请审批预算与travel_orders关联 travel_order.imported仅为内部事实且矩阵更新到242 | python3 scripts/validate-feature-matrix.py | manual | DONE | DONE | DONE | docs/integration-boundaries.md | docs/domain-events.md | docs/feature-matrix.md | scripts/validate-feature-matrix.py | issues/2026-03-10_17-32-21-p20-travel-1-l5-request-intake-refresh.csv | ["P20TRAVEL1-3"] | 新增travel_request.submitted approved rejected withdrawn 但不新增ERP travel事件 |
| 7 | P20TRAVEL1-5 | P20TRAVEL1回归与验收收口 | 完成差旅申请 工作流 预算 订单关联 前端构建与文档矩阵回归后收口 | 差旅一期happy path与reject return withdraw import permission场景通过且既有报销采购资产AI集成主流程零回归 | cd server && npm run prisma:validate && npm run test && cd ../client && npm run typecheck && npm run build && python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-10_17-32-21-p20-travel-1-l5-request-intake-refresh.csv && python3 scripts/validate-feature-matrix.py && git diff --check | manual | DONE | DONE | DONE | issues/2026-03-10_17-32-21-p20-travel-1-l5-request-intake-refresh.csv | server/tests | client/src/pages/TravelRequestsPage.tsx | client/src/pages/WorkflowTaskDetailPage.tsx | ["P20TRAVEL1-4"] | 重点核对travel.approve待办可见性 预算释放 幂等导入关联与无ERP出站 |