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

1.4 KiB
Raw Permalink Blame History

backend/order Specification

Purpose

定义服务机构端工单域的后端行为——八态工单、派单/调单/取消、时间冲突硬拦、批量推荐。

Requirements

Requirement: 派单前置校验

POST /order/assign MUST 按序校验:工单态 → 老人态(treat_status ∈ {active, waiting_period},否则 1001)→ 有计划(否则 1002)→ 护理员当班 → 时间冲突(2001 硬拦)→ 资质(1006 提示)。

Scenario: 无有效待遇不可派单

  • WHEN 派单时老人 treat_status 非 active/waiting_period
  • THEN 返回 1001 拒绝

Requirement: 时间冲突硬拦

同 assignee_id 且 time_slot 重叠 MUST 拒绝(2001)。

Scenario: 同时段重叠

  • WHEN 同一护理员已有 09:00-10:00 工单,再派 09:30-10:30
  • THEN 返回 2001,拒绝保存

Requirement: 调单与批量推荐

POST /order/:id/reassign MUST 记 reschedule_log(改前改后/时间/操作人);GET /order/batch-recommend MUST 只返回推荐(权重:同资质→历史服务过→距离近→负荷低),不自动派单。

Scenario: 调单留痕

  • WHEN 调单改派护理员
  • THEN 写 reschedule_log 并通知新护理员

Requirement: 工单八态

order_status MUST 支持 to_assign/assigned/serving/done/abnormal/cancelled/overdue/not_met;取消必填 cancel_reason。

Scenario: 取消需原因

  • WHEN 取消工单缺 cancel_reason
  • THEN 拒绝