liuyun 19876fdadd chore(openspec): 归档 C1/C2/C3 change,spec 合并进主 specs
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-15 01:13:08 +08:00

2.4 KiB
Raw Permalink Blame History

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