状态:accepted(跨后端 pipe-ner-server、前端 city-life-line、UE 驾驶舱 Pipelines 的统一领域共识)
确立日期:2026-09-04(状态编码 2026-09-05 调整为从 1 开始)
决策依据:ADR-0008 工单生命周期收敛为七态
取代口径:旧“九态模型”(含“已驳回”终态、“延期审核/已延期”),以及 ADR-0004 中“驳回、延期日志语义”的旧表述。
本文只定义领域流程共识(状态、角色、迁移动作、证据与边界),不规定具体类、接口或 SQL。后端代码与存量数据当前仍是旧编码,编码迁移另开任务,在迁移完成前以本文状态名为唯一业务权威,编码以对照表换算。
状态编码从 1 开始:
| 目标编码 | 状态 | 含义 | 是否终态 |
|---|---|---|---|
| 1 | 待派单 | 已创建、尚未指定接单责任人,等待管理员派单 | 否 |
| 2 | 待接单 | 已派给责任人,等待责任人接单确认 | 否 |
| 3 | 已接单 | 责任人已接单确认,尚未开始现场处置 | 否 |
| 4 | 处理中 | 责任人已开始处置;可多次追加处理流水 | 否 |
| 5 | 待验收 | 责任人已提交审核,等待管理员验收 | 否 |
| 6 | 已结案 | 管理员审核通过,处置闭环 | 是 |
| 7 | 已取消 | 管理员取消,强制终止;用于改派新责任人(另建新单) | 是 |
终态只有“已结案(6)”和“已取消(7)”。除两个终态外,其余均为中间态(1–5)。
| 动作 | 角色 | 前置态 | 目标态 | 必填信息 |
|---|---|---|---|---|
| 创建(报警转工单) | 系统/管理员 | — | 1 待派单 | 工单描述、来源报警/设备 |
| 直接下派(巡检/维修等) | 管理员 | — | 2 待接单 | 唯一责任人 |
| 派单/下发 | 管理员 | 1 | 2 待接单 | 唯一责任人 |
| 接单确认 | 责任人 | 2 | 3 已接单 | — |
| 开始处置 | 责任人 | 3 | 4 处理中 | 处理前照片 + 现场简述 |
| 追加处理流水 | 责任人 | 4 | 4 处理中(自循环,可多次) | 处理描述,可含图片 |
| 提交审核 | 责任人 | 4 | 5 待验收 | 处理后照片 + 处理描述 |
| 审核通过 | 管理员 | 5 | 6 已结案(终态) | 审核评价/建议 |
| 验收驳回 | 管理员 | 5 | 4 处理中(回退) | 驳回原因 |
| 取消工单 | 管理员 | 1/2/3/4/5 任一中间态 | 7 已取消(终态) | 建议填取消原因 |
约束:
stateDiagram-v2
[*] --> 待派单: 报警转工单创建
[*] --> 待接单: 巡检/维修直接下派
待派单 --> 待接单: 管理员派单
待接单 --> 已接单: 责任人接单确认
已接单 --> 处理中: 开始处置(处理前照片+简述)
处理中 --> 处理中: 追加处理流水(可多次)
处理中 --> 待验收: 提交审核(处理后照片+描述)
待验收 --> 处理中: 验收驳回(驳回原因)
待验收 --> 已结案: 审核通过(评价/建议)
待派单 --> 已取消: 管理员取消
待接单 --> 已取消: 管理员取消
已接单 --> 已取消: 管理员取消
处理中 --> 已取消: 管理员取消
待验收 --> 已取消: 管理员取消
已结案 --> [*]
已取消 --> [*]
处置证据按阶段区分,遵循 ADR-0006 工单附件存储(MinIO 对象 + KingbaseES 阶段化元数据,旧 URL 字段兼容):
目标七态仍以 1–7 为权威。当前后端已出现两类并存契约:驾驶舱只读适配器输出目标 1–7;管理端 BusinessWorkOrderService 与供水设备详情仍读取数据库现网 0–7 编码,并保留 6-延期中 兼容分支。
| 状态名 | 目标编码(权威/驾驶舱只读) | 管理端现网编码 |
|---|---|---|
| 待派单 | 1 | 0 |
| 待接单 | 2 | 1 |
| 已接单 | 3 | 2 |
| 处理中 | 4 | 3 |
| 待验收 | 5 | 4 |
| 已结案 | 6 | 5 |
| 已取消 | 7 | 7 |
| — | 6(迁移期兼容) |
迁移期间调用方必须按接口契约解释编码并以状态名展示,不能跨接口复用裸数字。监测设备 GIS 只消费管理端关联工单摘要,不承担数据库状态迁移。后续迁移任务需把管理端状态编码对齐目标 1–7、删除延期兼容分支,并同步操作日志、前端和 UE 状态字典。