Type: spec Status: ready-for-agent Label: ready-for-agent Blocked by: 06 Category: spec
本规格固化决策票 06的维护者确认结果,作为同一张 map的子规格单。它是「异常统计、工单处置率、片区/行业统一语义、管理信息面板片区化」的实施输入;不覆盖 .scratch/cockpit-shell-panel-layout/spec.md。
规格文档已发布为 ready-for-agent 并挂到同一决策 map;100% 仅指规格交付,不表示异常桶、处置率或片区契约已实现。后端契约改动(district 字段、basis 改名、管理信息字段删除)需进入后端执行票;前端接线边界在本规格内。
跨模式业务口径当前不统一,真实接线时会沿用旧 mock 语义、产生自相矛盾的读数:
basis 仍为 CLOSED_WORK_ORDERS_OVER_TOTAL_EVENTS(已结案 ÷ 事件总数),与已确认的「状态 5 ÷ 状态 0–6」不符;分母为 0 时若显示 0% 会把"无样本"误报成"结案率 0"。region 是自由文本(实测脏值:UNKNOWN/123/2323);district 编码存在但未透出;管理信息 organizations 是片区名与公司名混合。当前无法按"片区"这一唯一空间维度一致筛选与展示。从值班人员与维护者视角:本项目分析维度只有片区(district 0/1/2 → 城南/城北/太常,空值/乱码=未分区)与行业(供水/排水/燃气/窨井);异常统计按对象分别计数;处置率按「状态 5 ÷ 状态 0–6」且分母为 0 显示不适用;管理信息面板展示片区×行业的设施/设备计数。
核心语义(详见决策票 06 的 Answer):
ALARM / WARNING / OFFLINE / EMPTY;WORK_ORDER 不入。WARNING / ALARM / EXPIRED / OFFLINE / UNKNOWN;按对象分别计数、不相加。WARNING / ALARM 回联(宽清单窄地图;abnormalEquipment 清单可含 EXPIRED/OFFLINE,地图可见性只认 WARNING/ALARM)。basis 改为工单分母语义(如 CLOSED_WORK_ORDERS_OVER_ELIGIBLE_WORK_ORDERS)。district 0/1/2 → 城南/城北/太常;空值/乱码/未识别 → 未分区;唯一权威来源=district(取代 organization 与 regionMap);统计保留数字、展示层映射中文。窨井 为界面显示词,MANHOLE 映射不变)。organizations/ownershipDistribution/unmaintained。ownershipUnit / maintainer / maintainerPhone 保留为静态档案信息,不参与筛选/统计。basis 字段名与分母语义一致且不展示原始码给值班人员,以便可审计口径不误导。basis 改为工单分母语义(如 CLOSED_WORK_ORDERS_OVER_ELIGIBLE_WORK_ORDERS);契约测试覆盖分母含 6、状态 7 排除、分母 0 → state=EMPTY。CLOSED_WORK_ORDERS_OVER_TOTAL_EVENTS 与"状态 6 / 事件总数"口径废止。district(0/1/2)过滤与回显;空值/乱码/未识别 → 未分区。region 不再作为正式范围契约;regionMap 过渡方案失效。organizations / ownershipDistribution / unmaintained 字段。abnormalEquipment 清单语义文档化:可含 WARNING/ALARM/EXPIRED/OFFLINE(宽清单);前端另行按 WARNING/ALARM 做地图回联。domain 纯函数:
WORK_ORDER 不入监测点桶)。state=EMPTY → 显示"不适用",不显示 0%(叠加既有 handlingRateView 纪律,文案改为「当前范围没有可计入工单,处置率不适用」)。district 0/1/2 → 城南/城北/太常,未识别 → 未分区;统计保留数字,展示层映射中文。filterOptions:行业显示词「井盖」→「窨井」(MANHOLE 映射不变);范围默认值保留 城南/城北/太常/未分区。ownershipUnit / maintainer / maintainerPhone 保留为静态行,不参与筛选/统计。modeLayerPlan 域):只用 WARNING/ALARM 设备回联为异常点;OFFLINE/EXPIRED 只进运行概况清单,不冒充异常点。district 映射未识别→未分区、管理面板不再显示管理单位/权属/责任区域、地图异常点只认 WARNING/ALARM;不测组件内部实现。domain 纯函数(异常桶表、处置率视图、district 映射)+ 服务层守卫(basis 不泄漏、异常白名单、filterOptions 词汇)。沿用仓库既有的零依赖逻辑闸门模式(.scratch/cockpit-shell-panel-layout/verify/tNN-*.mjs,先例 t18-monitoring-panels.mjs、t19-warning-response.mjs)。-walkthrough.mjs + data-*):管理信息面板片区×行业计数、处置率不适用提示、行业选择含窨井、地图异常点不含离线、片区筛选项与未分区。sampledAt(采样时刻)与 createdAt(数据时间)字段语义(归决策 03 / 规格 08)。pointStatus 多值筛选、状态栏入口、自动加载(归决策 02 / 规格 07)。CONTEXT.md:新增「片区」「责任区域(=片区别名)」「窨井」词条。regionMap → district);票 25(E1 out-of-scope、处置率/异常口径冻结)。