3.6 KiB
3.6 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | P16B-0 | P16B执行合同建档 | 创建并校验P16B节假日历主数据执行合同CSV | CSV通过校验且字段完整 | python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-07_16-22-07-p16b-l5-holiday-calendar.csv | manual | DONE | DONE | DONE | issues/2026-03-07_16-22-07-p16b-l5-holiday-calendar.csv | [] | P16B只建设日历主数据与关闭态增强算法 |
| 3 | P16B-1 | Prisma日历模型与迁移 | 新增HolidayCalendar与HolidayCalendarDay模型并为LegalEntity补默认日历关联和必要索引 | Prisma schema与迁移可通过校验并成功生成客户端 | cd server && npm run prisma:validate && npx prisma migrate dev --name p16b_holiday_calendar && npm run prisma:generate | manual | DONE | DONE | DONE | server/prisma/schema.prisma | server/prisma/migrations/20260307084423_p16b_holiday_calendar | ["P16B-0"] | 补充LegalEntity默认日历关联并保持请假算法默认不切换 |
| 4 | P16B-2 | 日历开关与种子补齐 | 新增leave_holiday_calendar功能开关及默认记录并补齐演示日历种子 | 功能开关可在系统页展示且seed后可看到演示日历 | cd server && npm run test && npm run seed:config && npm run seed:dev-users | manual | DONE | DONE | DONE | server/src/services/featureFlags/index.js | client/src/api/featureFlags.ts | client/src/pages/FeatureFlagsPage.tsx | server/src/scripts/seed-config.js | server/src/scripts/seed-dev.js | server/.env.example | ["P16B-1"] | 默认保持关闭态并通过Env+在线开关双闸控制 |
| 5 | P16B-3 | 后端日历主数据API | 实现holiday-calendars列表 新建 更新 批量日期覆盖 归档接口并挂入master-data命名空间 | 日历与日历日接口支持权限校验 唯一性校验 引用法体校验与批量覆盖 | cd server && npm run test | manual | DONE | DONE | DONE | server/src/routes/masterDataHolidayCalendars.js | server/src/app.js | server/src/plugins/auth.js | ["P16B-2"] | 接口范围固定为GET POST PATCH GET days PUT days POST archive |
| 6 | P16B-4 | 前端主数据日历Tab | 在MasterDataPage加入日历Tab并补API封装及功能开关显示名 | 具备masterdata.view/manage的用户可查看与维护日历及日期明细 | cd client && npm run typecheck && npm run build | manual | DONE | DONE | DONE | client/src/api/masterData.ts | client/src/components/master-data/HolidayCalendarTab.tsx | client/src/pages/MasterDataPage.tsx | client/src/router/index.tsx | client/src/components/navigation/NavLinks.tsx | client/src/pages/FeatureFlagsPage.tsx | client/src/api/errorMessages.ts | ["P16B-3"] | 继续复用/system/master-data单页多Tab |
| 7 | P16B-5 | 请假日历增强计算器 | 在leave服务中新增可选日历版请假天数计算器并通过feature flag按法体默认日历读取 | 关闭开关时结果与现有自然日算法一致 打开后可识别holiday adjusted_workday | cd server && npm run test | manual | DONE | DONE | DONE | server/src/services/leave.js | server/src/routes/leave.js | server/src/services/featureFlags/index.js | ["P16B-3"] | 默认关闭且仅增强requestedDays计算不改账本语义 |
| 8 | P16B-6 | P16B回归与矩阵收口 | 完成日历主数据手工验证 请假算法双模式验证 并同步feature-matrix事实源 | CSV 矩阵 回归与越权负测全部通过 | cd server && npm run test && ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build && python3 scripts/validate-feature-matrix.py | manual | DONE | DONE | DONE | docs/feature-matrix.md | scripts/validate-feature-matrix.py | issues/2026-03-07_16-22-07-p16b-l5-holiday-calendar.csv | ["P16B-4","P16B-5"] | 已完成finance只读 finance_mgr可维护 默认日历禁止归档与开关双模式验证 |