1.4 KiB
1.4 KiB
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 拒绝