延续 09-08 管网信息查询页重构(4 票已完成):确认 water_pipe_info 表剩余关联后,按用户确认的 A2 决策(选项 2:压力分布图改为「等级分布」,network_level + pipe_network_level 字典)执行 E1→E4,删除旧表全部接口与实体类。
water_pipe_info → pipe_network_base,network_type='2')由用户侧执行,先于代码上线生效;SQL 迁移前 GIS/统计页会查不到管网数据。network_type = '2'(新表为燃气/排水/供水共用表)。location 在 KingBase 是保留字,GIS mapper 中必须带引号 "location"(与 plant/pumpStation 一致)。mapper/WaterSupply/WaterSupplyGisMap/WaterSupplyGisMapMapper.xml:selectPipeFeatures 与 selectOverview 的 pipe 段改读 app_user.pipe_network_base(network_type='2',输出键保持 id/code/name/status/location + 4 坐标)。WaterSupplyGisMapService.getDetail(String, Long) → (String, String)(管网主键为 UUID);实现注入 PipeNetworkBaseService 替代 IWaterPipeInfoService,pipe 分支 getById(id),其余分支 Long.valueOf(id);控制器 @PathVariable Long id → String id。WaterSupplyGisMapServiceTest / WaterSupplyGisMapControllerTest 调用点 Long→String。mapper/WaterSupply/PipeNetworkStatistics/PipeNetworkStatisticsMapper.xml 6 条管网 SQL 改读 pipe_network_base(network_type='2'):设施概览 pipe 段、summary(length/diameter)、管材分布(material)、管径分布(diameter)、建设年代分布(EXTRACT(YEAR FROM build_date) + MOD 十年档,KingBase 兼容)、selectPipePressureDistribution → selectPipeLevelDistribution(COALESCE(network_level,'未填报'),即 A2 选项 2);selectStatusDistribution pipe 分支改为子查询包裹 network_type='2'。PipeNetworkStatisticsMapper.java 同步重命名;PipeNetworkStatisticsServiceImpl dashboard key pressureDistribution → levelDistribution。WaterPipeInfoController、WaterPipeInfo 实体、WaterPipeInfoMapper(.java/.xml)、IWaterPipeInfoService、WaterPipeInfoServiceImpl、WaterPipeExportDTO。
WaterFacilityExportController 移除 pipeService 字段与 /pipe/export、/pipe/importData、/pipe/importTemplate 三个端点(其余四类设施保留)。WaterFacilityImportService 移除 importPipes、pipeService 构造参数/字段、preparePipe、initialize(WaterPipeInfo);类注释「五类」→「四类」。WaterFacilityQueryServiceTest(删 pipe 分页/导出测试与 mapper 路径)、WaterFacilityImportServiceTest(删 pipe 导入测试、构造器去参)、FacilityCoordinateModelTest(pipe 坐标实体改用 PipeNetworkBase;mapper 清单去 WaterPipeInfo;GIS location 断言适配)、WaterFacilityExportControllerContractTest(去 pipe 断言)。sql/water_supply_facility_gis.sql 历史迁移脚本中的 water_pipe_info ALTER(表尚未物理删除,脚本为历史事实)。WaterFacilityDashboard.vue:pressureDistribution:'压力等级分布' → levelDistribution:'等级分布'(描述「按等级统计管网数量」);onMounted 拉取 pipe_network_level 字典,formatStatisticRow 对 levelDistribution 行做码值→字典标签翻译(未命中回退原值;组件内不得出现「未填报」字面量,有测试约束)。src/api/pipeNetwork/waterSupply.js:删除死代码 exportWaterPipe(/api/water/pipe/export),全仓 grep 无残留。mvn -pl zksy-system,zksy-admin test:zksy-system 95/95 通过;zksy-admin 80 测中仅 CockpitEquipmentDetailAggregateControllerTest 2 个失败——该测试是用户进行中的驾驶舱设备聚合工作(工作区未跟踪文件),与本任务无关,未触碰。node --test "tests/*.test.mjs":75/75 通过(含此前的 GisMapCanvas Icon 契约测试,用户并行改动已自行通过)。git diff --check:前端干净;后端仅 logs/.../spring.log 运行时日志有尾随空格(历史噪声,从不入暂存)。WaterPipeInfo|IWaterPipeInfoService|WaterPipeExportDTO|water_pipe_info 仅剩迁移脚本断言 1 处(预期);前端 exportWaterPipe|/api/water/pipe 零残留。/api/water/pipe/* 全部 404 属预期(前端已无调用方)。length/diameter/material/build_date 列名与 PipeNetworkBase 实体一致,统计 SQL 与分页共用字段,无额外映射。markerSize + 18),随后连同管网迁移前端改动、会话记忆和无关临时文件清理一起推送到 origin/master。WaterGisPageShell.vue,把设施 GIS、监测设备 GIS 和报警 GIS 的页头、统计、筛选、图例、搜索结果、地图区和抽屉布局收敛到统一页壳;左侧面板改用单个有界滚动容器,报警图增加点位搜索结果列表。node --test "tests/*.test.mjs" 79/79 通过;node node_modules\vite\bin\vite.js build 通过;git diff --check 通过。Spec 审查发现的坐标转换回归已恢复,Standards 审查余留插槽样式重复属 P3 非阻塞项。