work-order-lifecycle.md 4.6 KB

统一工单处置生命周期 · 管理端口径

状态:accepted 更新日期:2026-10-14 后端权威文档:pipe-network-service/docs/domain/work-order-lifecycle.md

本文是前端 city-life-line 渲染与操作工单状态的唯一业务依据。状态名是业务权威;调用方只能按所属接口契约解释状态编码,不得跨接口复用裸数字。2026-09-10 起,管理端业务工单采用数据库与前端一致的 0–7 契约。

1. 本仓职责

  • 本仓是管理端 Web UI:按管理端契约渲染工单状态标签、状态统计、详情时间线与当前可用操作按钮。
  • 前端只做“当前状态允许哪些动作”的展示控制;最终授权与状态流转由后端校验,前端不自行改状态。
  • UE 驾驶舱是另一只读消费方,本仓不向其输出写操作。

2. 角色

  • 管理员(派单/验收者):派单下发、验收通过、验收驳回、取消工单。
  • 接单责任人:接单确认、开始处置、多次追加处理流水、提交验收。一次派发指定唯一接单责任人。

3. 管理端工单状态

状态编码 状态 含义 是否终态
0 待派单 已创建、未指定责任人,等待派单 否
1 待接单 已派给责任人,等待责任人核查接单 否
2 已接单 责任人已核查接单,尚未开始处置 否
3 处理中 责任人已开始处置;可多次追加处理流水 否
4 待验收 责任人已提交验收,等待管理员验收 否
5 已结案 管理员验收通过,处置闭环 是
6 延期中 延期申请审核通过后的处理旁路,仍需继续处置 否
7 已取消 管理员取消,强制终止;改派需另建新单 是

终态只有“已结案(5)”和“已取消(7)”。延期中不是终态,也不是独立的验收结果。

4. 状态迁移与前端动作

动作 角色 前置态 目标态 前端要点
创建(报警转工单) 系统/管理员 — 待派单 不在报警创建接口塞责任人
直接下派(巡检/维修) 管理员 — 待接单 创建即选唯一责任人
派单/下发 管理员 待派单 待接单 部门树 + 单选责任人弹窗
核查接单 责任人 待接单 已接单 必传现场情况附件,作为处理前证据
处置 责任人 已接单 处理中 可多次追加描述与附件
处置 责任人 处理中 / 延期中 原状态 处理流水自循环,不改状态
提交验收 责任人 处理中 / 延期中 待验收 必传处理后证据与描述
验收通过 管理员 待验收 已结案 填验收结果
验收驳回 管理员 待验收 处理中 必填驳回原因,交同一责任人继续整改
取消工单 管理员 待派单 / 待接单 已取消 必填取消原因
申请延期 责任人 处理中 待延期审核 写入延期申请状态,不改主状态
延期审核 管理员 待延期审核 处理中 / 延期中 通过进入延期中,驳回回到处理中

前端渲染约束:

  • “验收驳回”是动作不是状态;被驳回的工单显示为“处理中”,并在时间线展示驳回原因。
  • “延期中”是处理旁路状态;不得把它渲染成已结案或终态。
  • “延期申请状态”与“工单状态”是两个来源,不得互相替代。
  • “已取消”是终态,用灰色不可操作样式;不提供复活/继续处置入口。
  • 状态标签必须文字与颜色同时表达,颜色语义沿用供水设计文档。

5. 处理流水与处置证据

  • 处理前证据在“核查接单”上传;处理流水在“已接单→处理中”及后续处置中追加;处理后证据在“提交验收”上传。
  • 验收意见、驳回原因、取消原因、延期原因和延期审核结果记录在对应动作日志中。
  • 附件继续兼容既有图片 URL;新附件按后端 MinIO + KingbaseES 阶段化元数据方案处理。

6. 与驾驶舱只读契约的关系

UE 驾驶舱继续消费只读适配契约;该契约必须由后端显式把管理端 0–7 状态映射为驾驶舱展示状态,并由后端保证“延期中”等旁路状态不会误映射成终态。前端 GIS 和管理端工单页面只消费管理端关联工单摘要,不承担数据库状态迁移。

7. 与设备报警状态的关系

工单状态独立于设备报警状态与报警记录状态,三者来源不同、不得互相替代;工单结案只触发后端清警复核,前端不直接把设备改为正常。