文件
hyb-oa/issues/2026-03-06_14-30-00-p15b-l5-leave-v1.csv
T

3.0 KiB

1IDTitleDescriptionAcceptanceTest_MethodToolsDev_StatusReview1_StatusRegression_StatusFilesDependenciesNotes
2P15B-0P15B执行合同建档创建并校验P15B(Leave V1)执行合同CSVCSV通过校验且字段完整python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-06_14-30-00-p15b-l5-leave-v1.csvmanualDONEDONEDONEissues/2026-03-06_14-30-00-p15b-l5-leave-v1.csv[]需在P15A完成后建档
3P15B-1国际化四层模型扩展Prisma 建立 LeaveType/LeavePolicy/LeaveLedger 和增强的 LeaveRequest 字段(am-pm设计与天数计算)Migration完成且结构符合国际HR内控原则npx prisma migrate dev --name init_leave_v1_modelsmanualTODOTODOTODOserver/prisma/schema.prisma["P15B-0"]日历与配额前置计算不纳入V1
4P15B-2HR业务基础类型维表API支持HR增删改查 LeaveType 及绑定策略 (API CRUD)请求返回200并录入数据库manualmanualTODOTODOTODOserver/src/routes/leave-types.js["P15B-1"]新建路由
5P15B-2ALeave申请列表接口补齐员工端与HR端的 Leave 列表查询接口支持按本人或全量视角查看历史申请列表接口返回200且权限边界正确manualmanualTODOTODOTODOserver/src/routes/leave.js["P15B-1"]员工自助可用性的必要补齐
6P15B-3天数预检与隔离碰撞强设闸提交 Leave 时进行可用配额强设闸,并做同员工同时间段的日期重叠阻断接口明确返回 HTTP 422 Conflict Range测试脚本 POST 日期交叉单拦截manualTODOTODOTODOserver/src/routes/leave.js["P15B-1"]核心规则引擎
7P15B-4状态机与冻结账本流转闭环在 workflow.js 中的实体业务分支(875/1005处)追加针对 leave实体的账本扣减/释放逻辑数据库余额按工作流事件准确变更vitest transaction测试校验冻结数与已用数manualTODOTODOTODOserver/src/routes/leave.js | server/src/routes/workflow.js["P15B-3"]避免造不存在的hook
8P15B-4ALeave撤回与冻结释放接口补齐 POST /leave-requests/:id/withdraw 以允许申请人在未被审批人处理前撤回并释放冻结账本撤回后状态回到 draft 且冻结账本被释放manualmanualTODOTODOTODOserver/src/routes/leave.js | server/src/routes/workflow.js["P15B-4"]与报销撤回语义保持一致
9P15B-5Leave申请前端模块集成实装半天粒度携带附件类型规则校验的跨天请假界面与剩余账本卡片视图并注册列表与发起入口联调通过并可创建/查看/撤回请假申请manualmanualTODOTODOTODOclient/src/pages/LeaveRequestPage.tsx | client/src/router/index.tsx | client/src/components/navigation/NavLinks.tsx["P15B-2","P15B-2A","P15B-4","P15B-4A"]基于UI8设计结构
10P15B-6P15B验收联调测试P15B 全量集成流转,测试休假申请能否走通工作流并闭环实扣配额与撤回释放回归测试并且手工创建/提交/撤回/审批请假流转完成cd server && ./scripts/regression-all.shmanualTODOTODOTODOnone["P15B-5"]重中之重