Type: grilling Status: resolved Labels: wayfinder:grilling Blocked by: 01
锁定 map-snapshot 的 pointStatus 过滤契约,以及未关联设备在状态筛选、分页、快照和坐标汇总中的处理方式。讨论中进一步扩展为全局状态筛选入口与自动渐进加载行为。
industry/region/deviceType 条件 → 其所属监测点进入结果。未关联设备按自身 industry/region/deviceType 直接匹配。map-snapshot 与 /monitoring/distribution 两端同一语义、点位集合一致。pointStatus(六态:ALARM/WARNING/WORK_ORDER/NORMAL/OFFLINE/EMPTY)匹配。不做设备级 OR 归并——一个点位只有一个聚合状态,选 ALARM 只显示聚合状态为 ALARM 的点位,点位不会跨状态重复出现,与「点位状态分布」六态计数严格一致。domain/deviceStatus.js 五态:报警/预警/工单处置/正常/离线 + 状态未发布 UNKNOWN)匹配。EMPTY(无设备)只适用于监测点,不适用于设备自身。ALARM 但未选「无关联设备」桶 → 显示聚合状态为 ALARM 的监测点 + 设备状态为 ALARM 的未关联设备(状态筛选本身作用到未关联设备,不需要额外勾选类别桶)。map-snapshot 点位响应带命中设备子集(deviceCodes/设备明细按当前筛选裁剪;未筛=全部),前端展开直接用,不额外 N+1。pointStatus 多值契约(Q10/Q16)pointStatus=ALARM,WARNING,UNKNOWN,UNASSOCIATED(逗号分隔或重复参数,OR 语义)。UNKNOWN=点位上状态缺失或不在六态词典(对未关联设备=设备状态未发布)。UNASSOCIATED=只筛未关联设备(类别筛选)。INVALID_REQUEST;mapFilter 回显整套生效值。mapFilter 回显全部生效维度;结果为空走既有 EMPTY,前端不猜原因。freshness tick)→ 自动 refresh;③收到相关 WS 状态增量 → 按需 refresh。map-snapshot:
pointStatus(含 UNKNOWN/UNASSOCIATED)。/monitoring/distribution:
map-snapshot 语义)。pointStatusDistribution 未筛时含八桶。map-snapshot 的筛选语义一致(行业/范围/类型设备级匹配 + 状态按聚合/设备各自匹配)。mapFilter 回显的约定统一。deviceStatus.js)本身不在本票范围;本票只引用它来定义未关联设备参与状态筛选的匹配取值。已解决。 全局状态筛选入口、未关联设备参与状态筛选的设备级语义、多值 pointStatus 契约、命中设备子集、展开交互、坐标汇总口径、死胡同修复与自动渐进加载/手动刷新入口均已确认。后端契约改动清单待进入执行票;#04 引用本票的自动刷新时机结论。