# 无关联设备监测点静默丢弃:后端补丁说明 规格:[无关联设备监测点被静默丢弃(计数不对称)](../issues/28-28.md)。初始源码基线 `E:\pipe-ner-server` 的 `master=740d896`;补丁只涉及 monitoring 包和相应三个测试文件。应用前须重新检查在途修改,使用 `git apply --check` 确认上下文,禁止覆盖其它会话的更改。 ## 实现 - 无设备且无法解析类型的点位保留在监测分布、分页、片区/行业/类型分布和 `EMPTY` 桶中。行业/类型编码为 null,片区如实未分区;指定正式行业/类型时未知对象不匹配,不从点位编码猜行业。 - 坐标验证继续输出真实 `coordinateValidation`,其 `renderable=false` 不再导致统计排除,不修改真实坐标或校核事实。 - distribution 的 `excluded` 只计算统计排除;每个点位和独立设备按自身计 1。兼容字段 `invalidCoordinateCount=0`,表示没有对象仅因坐标而从统计中排除;不能将它继续解释成不可上图对象总数。每对象的坐标验证才是上图依据。 - 无筛选时对账单位是「监测点 + 未关联设备」,不把挂接设备再当独立对象。前三项类型排除沿用原始候选范围;用户筛掉的对象不算数据质量排除,因此不能将任意筛选响应直接与原始全集对账。 - 服务从所有原始点位收集关联编码,再排除全量设备中的同码项;点位被筛掉不改变设备归属。`mapFilter.deviceCodes` 只发布通过全部筛选的点位所带设备。 - overview 快照附显式 `associatedDeviceCount`,旧两参构造保留并用 -1 表示未知事实;真实适配器按关联设备编码去重计数。不会把混合类型或缺字典的有设备点误认成空点。 - overview 的点位数量和 `mapFilter.pointCodes` 同源于声明的选中点位;不发布只有设备记录提及但没有合法点位台账的孤儿点位编码。 - 分布与概览信封有点位内容时返回 CURRENT/READY;概览的设备在线率仍以 online+offline+stale 为分母。只有点没有设备时在线率 EMPTY/NO_RESOLVED_DEVICES 是真实的设备指标空态,不代表点位台账为空。 ## 回归覆盖与验证状态 新增六个契约测试,覆盖六个真实形状的未知空点、分页/筛选/未知桶、新鲜度、坐标独立统计、原始关联去重及筛后回显、按对象排除对账、概览计数与显式关联事实。既有越界设备 fixture 按新口径从 total=8 调为9、NORMAL=1调为2,相应设备增量断言同步。 已做静态源码/补丁检查,`git apply --check` 与应用后 `git diff --check` 均通过。用户明确授权后端编译、契约测试与现有8301只读复验;共享树和隔离提交快照均八模块BUILD SUCCESS,选定Cockpit/BusinessCockpit回归423/423通过。维护者IDE重启后真实验收12/12通过:overview=6、EMPTY=6、total=13、排除0,六点仍不可上图。提交ba0ce076已推origin/fix/cockpit-empty-monitoring-points,执行票已关闭。完整证据见[运行验证记录](../verify/t28-validation.md)。 ## 前端接线观察 只读检查发现当前前端监测分布面板仍将 `excluded.invalidCoordinateCount` 展示为“坐标未通过校验”,null 行业桶回落为“未分区”,且将包含独立设备的 `pagination.total` 标成“监测点总数”。这些既有展示口径需在阶段联调中接线核对,不能通过伪造行业或继续丢统计来适配;本后端补丁不修改前端页面。 ## 应用与静态审查结果 七文件补丁已通过扩展权限实际应用到 `E:\pipe-ner-server`。应用时 `master` 已前移到 `0a6b108`;只读核验该区间没有触碰本票七文件,且补丁上下文检查通过。后端工单相关的并行改动原样保留。应用后 `git diff --check` 通过。 Standards 审查无硬性违规,提出命名和既有重复分类分支两项判断提示;命名已改为 `emptyPointWithUnknownType`,重复分支未扩大重构。Spec 审查为0项可确认问题。运行验证、提交推送和master快进合并均已完成,resolution comment及所属map的实施gist已写入。 ## 最终交付 七文件修复已在独立分支提交并快进合入远端 `master`,远端 `master` 与修复分支均指向 ba0ce076。契约423/423、真实验收12/12通过;本票无剩余验收项。合并后共享本地master出现并行八桶提交7fb7c2c及未提交改动,本票未重置或覆盖它们;八桶扩展由其它执行票承载。