2026-09-04.md 7.1 KB

2026-09-04 会话记录

工单处置流程:九态收敛为七态的跨仓共识落盘(只改文档,不改代码)

  • 目标:运行 domain-modeling 方法,把用户口述并配三张图(状态机/ER/流程图)的完整版工单处置流程,固化为后端 E:\pipe-ner-server、前端 E:\city-life-line、UE E:\Pipelines 三仓一致的领域共识,并同步修订所有仍写旧状态模型(已驳回终态/延期/九态)的 CONTEXT、ADR、issue、spec、设计与需求文档。
  • 用户定稿(D1-D4):
    • D1 以新目标七态流程为唯一权威;后端代码与存量数据的编码迁移另开任务,本次不重排数据库。
    • D2 只更新文档,暂不改任何代码。
    • D3 取消“已驳回”独立终态,新增任意中间态可进入的“已取消”终态;驳回改为“待验收→处理中”的回退动作。
    • D4 彻底删除“延期审核/已延期”及申请延期环节(非保留标注)。
  • 七态权威模型(目标编码 0-6):0 待派单、1 待接单、2 已接单、3 处理中、4 待验收、5 已结案(终态)、6 已取消(终态)。巡检/维修可创建即下派直接进入待接单;处理中可多次追加图片+描述流水;开始处置必传处理前照片、提交审核必传处理后照片;已结案不可取消,取消后改派需另建新单。

文件变更

后端 E:\pipe-ner-server

  • 新建 pipe-network-service/docs/domain/work-order-lifecycle.md(权威生命周期:角色/入口/七态/迁移表/mermaid 状态机/驳回与取消区别/处置证据/与报警关系/新旧编码对照/删除项)。
  • 新建 pipe-network-service/docs/adr/0008-work-order-lifecycle-seven-states.md(accepted,部分取代 ADR-0004 的驳回/延期措辞)。
  • pipe-network-service/docs/adr/0004-...md(加被 0008 部分取代注记,保留原文)、pipe-network-service/CONTEXT.md(七态/验收驳回/已取消/处理流水术语,措辞对齐)、根 CONTEXT-MAP.md(工单关系条补七态与指针)。
  • 改根 docs/superpowers/specs/2026-08-26-*.md2026-08-27-*.md(顶部加口径注记、删“申请延期”、状态机补“已取消”终态;保留旧编码 1-6 并标注迁移期)。
  • 历史快照仅顶部加注记不改写:.superpowers/sdd/task_plan/ 的 task-1-brief、task-1-review-package、task-2-brief、task-2-report、task-2-review-package、task-2-review-report,以及根 findings.md记忆库.md

前端 E:\city-life-line

  • 新建 docs/domain/work-order-lifecycle.md(七态共识 + 本仓管理端 UI 渲染/动作职责 + 新旧编码对照)。
  • 改根 CONTEXT.md(工单处置状态改七态、补验收驳回/已取消/处理流水术语、终态口径)。
  • docs/design/2026-08-22-water-supply-work-order-ui.md(删全部申请/处理延期、驳回统一为回退动作、误报终止统一走取消→已取消、状态色灰色对象由“驳回”改为“已取消/不可操作”)。

UE E:\Pipelines(只读驾驶舱视角):

  • 新建 docs/domain/work-order-lifecycle.md(七态 + 只读时间线展示要求,不提供任何写入口)。
  • 改根 CONTEXT.md(工单处置流程七态、终态口径)。
  • .scratch/cockpit-monitoring-point-map-and-device-details/issues/10-...nine-states.md(文件名保留防 #11 断链,标题与正文改七态、删已驳回/延期、补已取消与回退、加权威指针)、issues/28-*.mdmap.md(工单当前七态,链接文件名不变)、spec.md(顶部注记 + 中文九态处 + 英文 story44/只读契约/Implementation/Testing 的 nine states、rejected、delay 表述)。
  • docs/ui-design-requirements-for-vendor.md(4.3 节“工单九态”整节改七态七项、删已驳回/延期审核/已延期、补已取消与回退说明,其余九态→七态、只读禁区删延期)、docs/ui-design-vendor-post-short.mddocs/prototypes/cockpit-page-design-notes.mdcockpit-page-state-prototype.mddocs/superpowers/plans/2026-08-25-city-life-cockpit-template.md(含英文 nine work-order state counts)。
  • 不改 .firecrawl/*(外部招标/需求原文抓取缓存,保持第三方原文);.superpowers/sdd/ticket-01/task-1-report.md 的 delayed read / nine tests 为“延迟读取/九个测试”,与工单状态无关,属误报不改。

验证

  • 三仓分别用关键词(九态/已驳回/延期/nine/rejected/delay)全量复扫 Markdown:除“新写的否定/沿革/废止对照表述”“ADR-0004 保留原文+取代注记”“历史快照原文+顶部注记”“.firecrawl 外部原文”外,无把旧九态当现行口径的残留。
  • 新建 4 份文档(后端 lifecycle/ADR-0008、前端 lifecycle、UE lifecycle)均 Test-Path 存在;8 个后端历史注记文件全部检测到注记标记。
  • 本次为纯文档变更,未改 src/、后端 Java、UE 代码,无需构建/单测;不影响前端运行时。

风险与后续

  • 双轨期:文档目标编码 0-6,后端 work_order.order_status 现网仍为旧 1-9(旧 cancel/reject 均落 7、无独立已取消、无 4→3 驳回回退、含 8/9 延期)。编码与存量数据迁移、WorkOrder/WorkOrderLog 语义、状态字典、前端与 UE 解析需另开任务,迁移完成前一律以状态名 + 对照表换算,不得新增依赖已驳回终态/延期的功能。
  • MaintenanceDataStat 的“案件延期率”是统计指标,不是工单状态,本次未改。
  • issue#10 文件名保留 nine-states 以维持 #11 的 blocked-by 引用,标题已注明沿革;若日后重命名文件需同步 map.md 与 #11。

挂起(非本次任务,备查)

  • 运行监测三个 page 接口空数据:MonitoringServiceImpl 已改 EquipmentType::getTypeId,等用户回贴类型树根/子类型排查 SQL 结果以定位(parent_type_id/根 id/外键/量测编码四嫌疑);对应单测 fixture 仍需改,测试命令加 -DfailIfNoTests=false
  • 泵站共用表 station_type 隔离方案、后端全量 install 是否 BUILD SUCCESS 均待用户确认。

T6 供水设备准入/台账与异常态势补充验收

  • 目标:修复 T6 验收暴露的派单优先级/重复建单兜底、真实工单号来源、右侧详情抽屉与全仓只读详情弹窗契约问题;继续限定不合并、不推送。
  • 结论:后端新增 orderLevel、唯一责任人入参、服务端活动工单重复校验,并修正供水 GIS 泵站共用表过滤;前端 WaterDevicePage.vue 支持工单类型只读、优先级、部门树+分页单选责任人、右侧详情抽屉。全仓只读详情弹窗统一转右侧 el-drawer,并修复 spfzgl.vuebefore-close 表达式导致的模板解析/测试误判。
  • 验证:后端 mvn -q clean test 141 tests / 0 failures / 0 errors;前端 node --test tests 67/67 通过;npm run build:prod 成功;git diff --check 干净。
  • 提交:后端 a039728;前端 c00709677efc90。仍未推送/合并。
  • 后续:文档口径中旧编码 7/8/9 与目标七态 5/6 的迁移需要单独任务;真实 KingbaseES + 浏览器端到端验收仍需人工/集成证据。