# 人工核验步骤:管网编码与设施类型命名空间 适用范围:[管网编码 0/1 映射与设备边界设施类型命名空间](../issues/20-20-0-1.md) 的后端修复 `740d896`。本说明对应 2026-10-12 数据快照;后续业务数据增长时,先用当时的数据重新核定计数。详见[基线卡片 05](baselines/pipe-network-type-namespace.md)。 ## 核验前准备(约 2 分钟) 1. 打开你部署的前端地址下的 `/cockpit`。`8301` 是后端接口端口,不是前端页面地址。 2. 确认页面使用 `real` 数据源,接口实际请求到 `http://192.168.110.96:8301/api/cockpit/v1/`。按 F12 打开开发者工具 → Network(网络)→ Fetch/XHR,刷新页面,检查 Request URL。 3. 清空行业、片区、设施类型等筛选,回到全量范围。记录核验时间、前后端版本和请求参数。不要用 mock 页面或仍带筛选的数字与下表比较。 4. 核验只涉及浏览页面和 GET 请求,无需创建、修改或删除业务数据。 ## 本次核验基准 | 管网原始编码 | 行业 | 设施类型码 | 中文名 | 条数 | | --- | --- | --- | --- | ---: | | `0` | GAS(燃气) | GAS_PIPE | 燃气管线 | 537 | | `1` | DRAINAGE(排水) | DRAINAGE_PIPE | 排水管线 | 3735 | | `2` | WATER_SUPPLY(供水) | WATER_PIPE | 供水管线 | 996 | | 合计 | | | | **5268** | 这是管网条数,不能与包含其它设施的总数直接比较。旧界面显示 `1001` 是历史异常现象,不作为当前各端点总数的统一期望。 ## 步骤 1:基础档案(页面 + 响应,约 2 分钟) 切换到基础设施模式,查看基础档案的设施总数与类型分布。在 Network 中找到 `infrastructure/base-archives`,打开 Response(响应): - `data.facilityTypeDistribution` 的 `code/name/count` 应包含:GAS_PIPE/燃气管线/537、DRAINAGE_PIPE/排水管线/3735、WATER_PIPE/供水管线/996。 - 三类管网相加应为 **5268**;`data.totals.facilityCount` 应为 **5278**。 - `data.excluded.unknownTypeCount` 应为 **0**。注意:修复前适配器直接丢弃部分管网,这个计数也可能为 0,因此**必须同时核对三类条数**。 - 若界面展示与同一次请求的响应不同,记录为前端消费问题;不要将其误判为后端映射未修复。 ## 步骤 2:总体概览(约 2 分钟) 切换总体概览,查看基础设施分区,并检查 `overview/infrastructure` 的响应: | 响应字段 | 期望 | | --- | ---: | | `data.totals.facilityCount` | **5276** | | `data.industries` 中 GAS 的 `facilityCount` | 537 | | 同上 WATER_SUPPLY | 1004 | | 同上 DRAINAGE | 3735 | | 同上 MANHOLE | 0 | | `data.excluded.unknownTypeCount` | **0**(修复前为 5268) | 总体概览的 5276 = 5268 管网 + 3 水厂 + 5 供水泵站。它不包含基础档案里的 2 处排水工程设施,所以比基础档案少 2 是预期行为。 ## 步骤 3:设施命名空间(接口检查,约 2 分钟) 设备边界不一定有独立可见面板,可直接在浏览器打开下面的只读接口,或使用下方 PowerShell 命令: `http://192.168.110.96:8301/api/cockpit/v1/device-boundary` 核对 `data.facilities[]` 中的设施: - `facilityType.code/name` 只能使用管网语义:GAS_PIPE/燃气管线、DRAINAGE_PIPE/排水管线、WATER_PIPE/供水管线。 - `industry` 分别为 GAS、DRAINAGE、WATER_SUPPLY,`formalScope` 应为 true。 - **管网设施不得被标为“供水设备”“排水设备”“燃气设备”**。这些名称出现在 `data.devices[]` 的监测设备类型里可以正常,不要将设备清单与设施清单混淆。 - `data.statistics.facilityCount=5268`,`unknownTypeCount=0`,行业设施数分别为 537/3735/996。 关键记忆:`network_type=1` 是排水管网,而 `equipment_type.id=1` 是供水设备,两者不能共用数字编码去查类型。 ## 步骤 4:管理信息与运行信息(约 2 分钟) 基础设施模式 → 管理信息,检查 `infrastructure/management-information`: - `data.totals.facilityCount=5273`、`equipmentCount=7`。 - `data.districtIndustry` 的未分区行:GAS 537、DRAINAGE 3735、WATER_SUPPLY 998(996 管网 + 2 水源地)、MANHOLE 3(窨井)。 - `data.excluded.unknownIndustryCount=0`。管网没有权威片区字段,因此归未分区是正确行为。 检查 `infrastructure/operating-information`: - 在 `data.industries[].metrics[]` 中,仅统计 `metricCode` 以 `_pipe_network_length` 结尾的条目;应为 GAS 537、WATER_SUPPLY 996、DRAINAGE 3735,合计 5268。 - `data.excluded.unknownIndustryCount=0`。指标条数是管道数量,不是长度值;长度单位以响应的 `unit` 为准(此指标为 m),不要把它当 km。 - 页面可能聚合指标,未必展示 5268 行明细;此项以响应统计为准。 ## 可选:用 PowerShell 一次输出核心核对项 以下命令只发 GET 请求,可在 Windows PowerShell 中复制执行: ```powershell $base = 'http://192.168.110.96:8301/api/cockpit/v1' function Get-CockpitData($path) { $r = Invoke-RestMethod "$base/$path" -TimeoutSec 60 if ($r.code -ne 200 -or $null -eq $r.data) { throw "接口失败:$path,业务 code=$($r.code)" } return $r.data } $a = Get-CockpitData 'infrastructure/base-archives' $a.facilityTypeDistribution | Where-Object { $_.code -in @('GAS_PIPE', 'WATER_PIPE', 'DRAINAGE_PIPE') } | Format-Table code,name,count "基础档案总数=$($a.totals.facilityCount),未知类型=$($a.excluded.unknownTypeCount)" $o = Get-CockpitData 'overview/infrastructure' "概览总数=$($o.totals.facilityCount),未知类型=$($o.excluded.unknownTypeCount)" $o.industries | Select-Object code,facilityCount | Format-Table $b = Get-CockpitData 'device-boundary' $b.facilities | Group-Object { "$($_.facilityType.code)|$($_.facilityType.name)|$($_.industry)" } | Select-Object Name,Count | Format-Table "设备边界设施数=$($b.statistics.facilityCount),未知类型=$($b.statistics.unknownTypeCount)" ``` ## 判定与记录 三类管网合计一致、名称与行业正确、未知计数为 0,且页面与其实际请求响应一致,才能判定本次管网映射核验通过。固定数字仅对应本次快照;数据新增后应重新建立基准,不将正常变化判成回归。 | 记录项 | 填写 | | --- | --- | | 时间、页面地址、版本 | | | 行业/片区/类型筛选是否清空 | | | 基础档案:三类管网数、总数 | | | 概览:行业设施数、未知类型数 | | | 设备边界:设施名称与行业是否正确 | | | 管理信息:未分区计数;运行信息:管网指标条数 | | | 页面与响应是否一致;异常截图或响应 | | | 操作人、结论(通过/未通过) | | 完整界面与模式阶段验收继续归[前端真实接口联调与阶段收口](../issues/18-frontend-real-integration-gate.md);本说明不代表该阶段已全部收口。