liuyun bec32cf223 docs(openspec): C2 派单工单 change 提案
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-14 21:53:59 +08:00

41 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 审计落库(派单/调单/取消/计划变更)。