41 lines
2.4 KiB
Markdown
41 lines
2.4 KiB
Markdown
# Tasks — svc-org-c2-plan-order
|
||
|
||
## 1. 数据层
|
||
|
||
- [ ] 1.1 `schema.prisma` 新增 `Plan`/`PlanItem`/`Order`/`ElderSvc` 模型(表名 svc_plan/svc_plan_item/svc_order/ltc_elder_svc)。
|
||
- [ ] 1.2 `prisma.service.ts`:四模型加入 SOFT_DELETE。
|
||
- [ ] 1.3 迁移 `c2_plan_order`(utf8mb4_general_ci)+ `prisma generate`。
|
||
|
||
## 2. 权限码 + 错误码 + APIS
|
||
|
||
- [ ] 2.1 确认 `permissions.ts` 已有 plan.*/order.*(C0 预留);缺则补。
|
||
- [ ] 2.2 `error-codes.ts` 补域 44:PLAN_NOT_FOUND、PLAN_ITEM_RULE、ORDER_NOT_FOUND、ORDER_CONFLICT(2001 映射)、ORDER_STATUS_INVALID。
|
||
- [ ] 2.3 `tenant-template.ts` APIS 登记 plan/order/elder-svc 接口资源。
|
||
|
||
## 3. plan 模块(计划 + 个人项目库)
|
||
|
||
- [ ] 3.1 `src/plan/` 模块:制定计划(L4 校验 + 项数校验 + item_count 快照)、变更(新建+指向旧)、确认、按老人查计划。
|
||
- [ ] 3.2 项数校验:昆明常量规则表(care_mode×care_level),州市 loc_config 无规则则提示。
|
||
- [ ] 3.3 `src/elder-svc/`(或并入 plan):个人项目库 PUT 整表覆盖(svc_id 落 L4、care_mode 变更重制)+ 带入。
|
||
- [ ] 3.4 TDD:制定计划、项数校验、变更留旧版、个人项目库带入;`pnpm test` + `tsc --noEmit`。
|
||
|
||
## 4. order 模块(工单)
|
||
|
||
- [ ] 4.1 `src/order/` 模块:generate(L2)、assign(L1 + 冲突 2001 + 资质 1006)、reassign(reschedule_log)、cancel(原因必填)、detail、today、batch-recommend(只推荐)。
|
||
- [ ] 4.2 时间冲突检测:同 assignee 且 time_slot 重叠 → 2001。
|
||
- [ ] 4.3 TDD:派单 L1 例外(waiting_period 允许)、冲突硬拦、调单留痕、取消需原因;`pnpm test` + `tsc --noEmit`。
|
||
|
||
## 5. 前端
|
||
|
||
- [ ] 5.1 `src/api/plan.ts`、`src/api/order.ts`、`src/api/elder-svc.ts`。
|
||
- [ ] 5.2 排班派单页(`ltc/schedule`):日视图(时间段×护理员)、调单面板、冲突/空缺提示、批量推荐列表。
|
||
- [ ] 5.3 服务对象页:个人项目库区块 + 制定计划入口(带入 + 项数校验提示)。
|
||
- [ ] 5.4 `pnpm type-check` 通过。
|
||
|
||
## 6. 验证
|
||
|
||
- [ ] 6.1 冒烟:制定计划(项数校验)→ 生成工单 → 派单 → 调单 → 取消 → 冲突硬拦。
|
||
- [ ] 6.2 L1 例外:waiting_period 老人可派单、benefit_expired 不可派单。
|
||
- [ ] 6.3 个人项目库带入计划。
|
||
- [ ] 6.4 审计落库(派单/调单/取消/计划变更)。
|