Просмотр исходного кода

- 泵站数据表添加类型字段及其相关代码修改

Kazerin 1 день назад
Родитель
Сommit
cd4ae37df1
14 измененных файлов с 113 добавлено и 28 удалено
  1. 4 0
      AGENTS.md
  2. 7 2
      CONTEXT-MAP.md
  3. 7 5
      pipe-network-service/EARLY_WARNING_README.md
  4. 1 1
      pipe-network-service/sql/early_warning_system.sql
  5. 4 2
      pipe-network-service/sql/iot_equipment_management.sql
  6. 24 2
      pipe-network-service/zksy-admin/src/main/java/com/zksy/web/controller/WaterSupply/WaterPumpStation/WaterPumpStationController.java
  7. 11 2
      pipe-network-service/zksy-admin/src/main/java/com/zksy/web/controller/drainage/DrainagePumpStationController.java
  8. 19 0
      pipe-network-service/zksy-system/src/main/java/com/zksy/WaterSupply/WaterPumpStation/domain/PumpStationType.java
  9. 11 3
      pipe-network-service/zksy-system/src/main/java/com/zksy/WaterSupply/WaterPumpStation/domain/WaterPumpStation.java
  10. 2 0
      pipe-network-service/zksy-system/src/main/java/com/zksy/WaterSupply/WaterPumpStation/service/impl/WaterPumpStationServiceImpl.java
  11. 6 1
      pipe-network-service/zksy-system/src/main/java/com/zksy/WaterSupply/WaterSupplyGisMap/service/impl/WaterSupplyGisMapServiceImpl.java
  12. 5 1
      pipe-network-service/zksy-system/src/main/java/com/zksy/WaterSupply/importing/WaterFacilityImportService.java
  13. 3 3
      pipe-network-service/zksy-system/src/main/resources/mapper/WaterSupply/PipeNetworkStatistics/PipeNetworkStatisticsMapper.xml
  14. 9 6
      pipe-network-service/zksy-system/src/main/resources/mapper/WaterSupply/WaterPumpStation/WaterPumpStationMapper.xml

+ 4 - 0
AGENTS.md

@@ -13,3 +13,7 @@ Use the five default triage labels. See `docs/agents/triage-labels.md`.
 ### Domain docs
 
 Use the multi-context layout. See `docs/agents/domain.md`.
+
+## 子代理默认模型
+
+除非任务明确指定其他模型,分发子代理时默认使用 `gpt-5.6-terra`,推理强度设为 `high`。任务或用户的明确模型要求优先于此默认值,并应在分发说明中注明覆盖原因。

+ 7 - 2
CONTEXT-MAP.md

@@ -1,10 +1,15 @@
 # Context Map
 
+## Product Identity
+
+本仓库是“城市地下管网及设施建设改造智能化系统项目”的软件平台,面向“地下管网管控平台”及其业务子系统。当前重点业务上下文为“供水管网安全运行监测系统”,前后端分别由独立工程协作交付。
+
 ## Contexts
 
-- [管网业务服务](./pipe-network-service/CONTEXT.md):承载城市生命线中的管网业务;当前已建模供水安全运行监测领域,其他领域按需补充。
+- [管网业务服务](./pipe-network-service/CONTEXT.md):承载地下管网管控平台的管网业务;当前已建模供水管网安全运行监测领域,其他领域按需补充。
 
 ## Relationships
 
-- **供水设施与监测设备**:供水设施描述供水系统中的业务对象;监测设备负责采集运行数据,两者不是同一概念。
+- **供水设施与监测设备**:供水设施描述水源地、水厂、泵站、管线等承载供水能力的业务对象;带传感器的监测设备负责采集运行数据,两者不是同一概念。井盖在带传感器并接入监测系统时属于智能设备,不属于设施实体。
 - **报警记录、设备报警状态与工单处置**:设备自动报警时生成报警记录并进入报警状态;人工可派发故障维修工单,但设备报警状态由运行系统根据有效报警原因自动维护。
+- **供水/排水共用泵站表**:泵站物理表 `app_user.pump_station` 由供水与排水共用,以 `station_type`(water_supply/drainage)区分归属;两侧接口各自强制过滤本系统类型,不建立第二张平行泵站表(详见 pipe-network-service ADR-0007)。

+ 7 - 5
pipe-network-service/EARLY_WARNING_README.md

@@ -220,12 +220,14 @@ flowable:
 
 ## 六、预警级别说明
 
-| 级别编码 | 级别名称 | 颜色 | 说明 |
+| 级别编码 | 级别名称 | 驾驶舱展示颜色 | 说明 |
 |----------|----------|------|------|
-| 1 | 蓝色预警 | #1890FF | 注意 |
-| 2 | 黄色预警 | #FAAD14 | 关注 |
-| 3 | 橙色预警 | #FA8C16 | 较严重 |
-| 4 | 红色预警 | #F5222D | 严重 |
+| 1 | 一级事件 | 红色 | 最高等级 |
+| 2 | 二级事件 | 黄色 | 高关注 |
+| 3 | 三级事件 | 蓝色 | 一般关注 |
+| 4 | 四级事件 | 绿色 | 常态提示 |
+
+> 驾驶舱统一使用 1 红、2 黄、3 蓝、4 绿的事件展示颜色。该颜色只用于前端事件列表、设备详情和事件徽标,不改变 `warning_level`/`alarm_level` 的数值含义;监测点主图标另行使用点位状态色。
 
 ## 七、预警状态说明
 

+ 1 - 1
pipe-network-service/sql/early_warning_system.sql

@@ -9,7 +9,7 @@ CREATE TABLE `early_warning` (
   `warning_no` varchar(64) NOT NULL COMMENT '预警编号',
   `warning_name` varchar(256) NOT NULL COMMENT '预警名称',
   `warning_type` varchar(64) NOT NULL COMMENT '预警类型',
-  `warning_level` varchar(32) NOT NULL COMMENT '预警级别(1-蓝色 2-黄色 3-橙色 4-红色)',
+  `warning_level` varchar(32) NOT NULL COMMENT '预警级别(1-最高 2-次高 3-一般 4-常态;驾驶舱展示色为1红2黄3蓝4绿)',
   `warning_special` varchar(128) DEFAULT NULL COMMENT '预警专项',
   `location` varchar(512) DEFAULT NULL COMMENT '预警位置',
   `longitude` decimal(15,10) DEFAULT NULL COMMENT '经度',

+ 4 - 2
pipe-network-service/sql/iot_equipment_management.sql

@@ -36,8 +36,10 @@ CREATE TABLE `pipe_network_base` (
   `network_level` VARCHAR(32) COMMENT '等级',
   `management_unit` VARCHAR(256) COMMENT '管养单位',
   `location` VARCHAR(512) COMMENT '位置描述',
-  `longitude` DECIMAL(15, 10) COMMENT '经度',
-  `latitude` DECIMAL(15, 10) COMMENT '纬度',
+  `start_longitude` DECIMAL(15, 10) COMMENT '管网起点WGS84经度',
+  `start_latitude` DECIMAL(15, 10) COMMENT '管网起点WGS84纬度',
+  `end_longitude` DECIMAL(15, 10) COMMENT '管网终点WGS84经度',
+  `end_latitude` DECIMAL(15, 10) COMMENT '管网终点WGS84纬度',
   `length` DECIMAL(10, 2) COMMENT '长度(米)',
   `diameter` DECIMAL(10, 2) COMMENT '管径(毫米)',
   `material` VARCHAR(128) COMMENT '材质',

+ 24 - 2
pipe-network-service/zksy-admin/src/main/java/com/zksy/web/controller/WaterSupply/WaterPumpStation/WaterPumpStationController.java

@@ -2,6 +2,8 @@ package com.zksy.web.controller.WaterSupply.WaterPumpStation;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zksy.WaterSupply.WaterPumpStation.domain.PumpStationType;
 import com.zksy.WaterSupply.WaterPumpStation.domain.WaterPumpStation;
 import com.zksy.WaterSupply.WaterPumpStation.service.IWaterPumpStationService;
 import com.zksy.common.core.domain.AjaxResult;
@@ -69,7 +71,9 @@ public class WaterPumpStationController {
     public AjaxResult getById(
             @ApiParam(value = "泵站ID", required = true, example = "1") @PathVariable Long id) {
         try {
-            WaterPumpStation data = pumpStationService.getById(id);
+            WaterPumpStation data = pumpStationService.getOne(new LambdaQueryWrapper<WaterPumpStation>()
+                    .eq(WaterPumpStation::getId, id)
+                    .eq(WaterPumpStation::getStationType, PumpStationType.WATER_SUPPLY));
             return data == null ? AjaxResult.warn("未找到该泵站信息") : AjaxResult.success("查询成功", data);
         } catch (Exception e) {
             log.error("查询泵站详情异常", e);
@@ -87,6 +91,8 @@ public class WaterPumpStationController {
     public AjaxResult add(@RequestBody WaterPumpStation pumpStation) {
         try {
             pumpStation.setDelFlag("0");
+            // 供水入口强制归属为供水泵站,忽略前端传入的类型
+            pumpStation.setStationType(PumpStationType.WATER_SUPPLY);
             try {
                 pumpStation.setCreateBy(SecurityUtils.getUsername());
             } catch (Exception e) {
@@ -110,8 +116,22 @@ public class WaterPumpStationController {
     })
     public AjaxResult update(@RequestBody WaterPumpStation pumpStation) {
         try {
+            // —— C:归属门禁,供水入口只能改 water_supply 记录 ——
+            Long id = pumpStation.getId();
+            if (id == null) {
+                return AjaxResult.error("缺少泵站ID,无法修改");
+            }
+            WaterPumpStation owned = pumpStationService.getOne(new LambdaQueryWrapper<WaterPumpStation>()
+                    .eq(WaterPumpStation::getId, id)
+                    .eq(WaterPumpStation::getStationType, PumpStationType.WATER_SUPPLY));
+            if (owned == null) {
+                log.warn("供水入口拒绝修改非供水泵站,id={}", id);
+                return AjaxResult.error("未找到供水泵站,禁止修改");
+            }
+
             // 禁止修改关键字段
             pumpStation.setDelFlag(null);
+            pumpStation.setStationType(null);
             pumpStation.setCreateBy(null);
             pumpStation.setCreateTime(null);
 
@@ -141,7 +161,9 @@ public class WaterPumpStationController {
             @ApiParam(value = "泵站ID数组,多个用逗号分隔", required = true, example = "1,2,3") @PathVariable Long[] ids) {
         try {
             log.info("开始删除泵站数据,ids: {}", (Object) ids);
-            boolean result = pumpStationService.removeByIds(List.of(ids));
+            boolean result = pumpStationService.remove(new LambdaQueryWrapper<WaterPumpStation>()
+                    .in(WaterPumpStation::getId, List.of(ids))
+                    .eq(WaterPumpStation::getStationType, PumpStationType.WATER_SUPPLY));
             return result
                     ? AjaxResult.success("删除成功,已移入回收站,共删除 " + ids.length + " 条数据")
                     : AjaxResult.error("删除失败");

+ 11 - 2
pipe-network-service/zksy-admin/src/main/java/com/zksy/web/controller/drainage/DrainagePumpStationController.java

@@ -2,6 +2,7 @@ package com.zksy.web.controller.drainage;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.WaterSupply.WaterPumpStation.domain.PumpStationType;
 import com.zksy.WaterSupply.WaterPumpStation.domain.WaterPumpStation;
 import com.zksy.WaterSupply.WaterPumpStation.service.IWaterPumpStationService;
 import com.zksy.common.annotation.Anonymous;
@@ -46,6 +47,7 @@ public class DrainagePumpStationController {
 
         Page<WaterPumpStation> page = new Page<>(pageNum, pageSize);
         LambdaQueryWrapper<WaterPumpStation> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(WaterPumpStation::getStationType, PumpStationType.DRAINAGE);
 
         if (StringUtils.hasText(stationName)) {
             wrapper.like(WaterPumpStation::getStationName, stationName);
@@ -73,6 +75,7 @@ public class DrainagePumpStationController {
             @ApiParam("运行状态") @RequestParam(required = false) String status) {
 
         LambdaQueryWrapper<WaterPumpStation> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(WaterPumpStation::getStationType, PumpStationType.DRAINAGE);
         if (StringUtils.hasText(stationName)) {
             wrapper.like(WaterPumpStation::getStationName, stationName);
         }
@@ -92,7 +95,10 @@ public class DrainagePumpStationController {
     @GetMapping("/{id}")
     @ApiOperation(value = "根据ID查询泵站详情")
     public AjaxResult getById(@PathVariable Long id) {
-        WaterPumpStation station = waterPumpStationService.getById(id);
+        WaterPumpStation station = waterPumpStationService.getOne(
+                new LambdaQueryWrapper<WaterPumpStation>()
+                        .eq(WaterPumpStation::getId, id)
+                        .eq(WaterPumpStation::getStationType, PumpStationType.DRAINAGE));
         if (station == null) {
             return AjaxResult.error("泵站不存在");
         }
@@ -126,7 +132,10 @@ public class DrainagePumpStationController {
         }
 
         // 查询这些泵站
-        List<WaterPumpStation> stations = waterPumpStationService.listByIds(idList);
+        List<WaterPumpStation> stations = waterPumpStationService.list(
+                new LambdaQueryWrapper<WaterPumpStation>()
+                        .in(WaterPumpStation::getId, idList)
+                        .eq(WaterPumpStation::getStationType, PumpStationType.DRAINAGE));
 
         // 解析关联起始月份
         YearMonth sinceMonth = null;

+ 19 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/WaterSupply/WaterPumpStation/domain/PumpStationType.java

@@ -0,0 +1,19 @@
+package com.zksy.WaterSupply.WaterPumpStation.domain;
+
+/**
+ * 公用泵站信息表 pump_station 的业务归属类型。
+ *
+ * <p>泵站表由供水、排水共用,通过 station_type 区分;各业务系统查询、新增时
+ * 必须显式限定本系统类型,不得跨类型读写。</p>
+ */
+public final class PumpStationType {
+
+    /** 供水泵站。 */
+    public static final String WATER_SUPPLY = "water_supply";
+
+    /** 排水泵站。 */
+    public static final String DRAINAGE = "drainage";
+
+    private PumpStationType() {
+    }
+}

+ 11 - 3
pipe-network-service/zksy-system/src/main/java/com/zksy/WaterSupply/WaterPumpStation/domain/WaterPumpStation.java

@@ -15,13 +15,13 @@ import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 /**
- * 泵站信息实体
+ * 泵站信息实体(公用泵站表:供水/排水共用,按 stationType 区分归属)
  */
 @Data
-@TableName(value = "water_pump_station", schema = "app_user")
+@TableName(value = "pump_station", schema = "app_user")
 @ApiModel(
         value = "WaterPumpStation",
-        description = "泵站信息对象,包含供水泵站的所有基础属性"
+        description = "公用泵站信息对象,通过 stationType 区分供水泵站(water_supply)与排水泵站(drainage)"
 )
 public class WaterPumpStation {
 
@@ -52,6 +52,14 @@ public class WaterPumpStation {
     )
     private String stationName;
 
+    @ApiModelProperty(
+            value = "泵站类型",
+            example = "water_supply",
+            allowableValues = "water_supply,drainage",
+            notes = "业务归属类型:water_supply-供水泵站,drainage-排水泵站;由后端按入口强制写入,不接受前端指定"
+    )
+    private String stationType;
+
     @ApiModelProperty(
             value = "泵站地址",
             example = "xx大道123号",

+ 2 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/WaterSupply/WaterPumpStation/service/impl/WaterPumpStationServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zksy.WaterSupply.WaterPumpStation.domain.PumpStationType;
 import com.zksy.WaterSupply.WaterPumpStation.domain.WaterPumpStation;
 import com.zksy.WaterSupply.WaterPumpStation.mapper.WaterPumpStationMapper;
 import com.zksy.WaterSupply.WaterPumpStation.service.IWaterPumpStationService;
@@ -25,6 +26,7 @@ public class WaterPumpStationServiceImpl extends ServiceImpl<WaterPumpStationMap
                                              LocalDateTime startTime,
                                              LocalDateTime endTime) {
         LambdaQueryWrapper<WaterPumpStation> query = new LambdaQueryWrapper<WaterPumpStation>()
+                .eq(WaterPumpStation::getStationType, PumpStationType.WATER_SUPPLY)
                 .like(stationCode != null && !stationCode.isEmpty(), WaterPumpStation::getStationCode, stationCode)
                 .like(stationName != null && !stationName.isEmpty(), WaterPumpStation::getStationName, stationName)
                 .eq(status != null && !status.isEmpty(), WaterPumpStation::getStatus, status)

+ 6 - 1
pipe-network-service/zksy-system/src/main/java/com/zksy/WaterSupply/WaterSupplyGisMap/service/impl/WaterSupplyGisMapServiceImpl.java

@@ -1,7 +1,10 @@
 package com.zksy.WaterSupply.WaterSupplyGisMap.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zksy.WaterSupply.WaterPipeInfo.service.IWaterPipeInfoService;
 import com.zksy.WaterSupply.WaterPlantInfo.service.IWaterPlantInfoService;
+import com.zksy.WaterSupply.WaterPumpStation.domain.PumpStationType;
+import com.zksy.WaterSupply.WaterPumpStation.domain.WaterPumpStation;
 import com.zksy.WaterSupply.WaterPumpStation.service.IWaterPumpStationService;
 import com.zksy.WaterSupply.WaterSourceInfo.service.IWaterSourceInfoService;
 import com.zksy.WaterSupply.WaterSupplyGisMap.dto.GisFeatureCollectionDTO;
@@ -53,7 +56,9 @@ public class WaterSupplyGisMapServiceImpl implements WaterSupplyGisMapService {
         switch (facilityType) {
             case "source": return sourceService.getById(id);
             case "plant": return plantService.getById(id);
-            case "pumpStation": return pumpStationService.getById(id);
+            case "pumpStation": return pumpStationService.getOne(new LambdaQueryWrapper<WaterPumpStation>()
+                    .eq(WaterPumpStation::getId, id)
+                    .eq(WaterPumpStation::getStationType, PumpStationType.WATER_SUPPLY));
             case "pipe": return pipeService.getById(id);
             default: return userService.getById(id);
         }

+ 5 - 1
pipe-network-service/zksy-system/src/main/java/com/zksy/WaterSupply/importing/WaterFacilityImportService.java

@@ -6,6 +6,7 @@ import com.zksy.WaterSupply.WaterPipeInfo.domain.WaterPipeInfo;
 import com.zksy.WaterSupply.WaterPipeInfo.service.IWaterPipeInfoService;
 import com.zksy.WaterSupply.WaterPlantInfo.domain.WaterPlantInfo;
 import com.zksy.WaterSupply.WaterPlantInfo.service.IWaterPlantInfoService;
+import com.zksy.WaterSupply.WaterPumpStation.domain.PumpStationType;
 import com.zksy.WaterSupply.WaterPumpStation.domain.WaterPumpStation;
 import com.zksy.WaterSupply.WaterPumpStation.service.IWaterPumpStationService;
 import com.zksy.WaterSupply.WaterSourceInfo.domain.WaterSourceInfo;
@@ -72,7 +73,9 @@ public class WaterFacilityImportService {
     public String importPumps(List<WaterPumpStationExportDTO> rows, boolean updateSupport, String operator) {
         return importRows(rows, updateSupport, operator, new ImportPlan<WaterPumpStation, WaterPumpStationExportDTO>(
                 WaterPumpStationExportDTO::getStationCode,
-                code -> pumpService.getOne(Wrappers.<WaterPumpStation>lambdaQuery().eq(WaterPumpStation::getStationCode, code), false),
+                code -> pumpService.getOne(Wrappers.<WaterPumpStation>lambdaQuery()
+                        .eq(WaterPumpStation::getStationCode, code)
+                        .eq(WaterPumpStation::getStationType, PumpStationType.WATER_SUPPLY), false),
                 WaterPumpStation::new,
                 (row, entity) -> BeanUtils.copyProperties(row, entity),
                 pumpService,
@@ -155,6 +158,7 @@ public class WaterFacilityImportService {
     }
 
     private void initialize(WaterPumpStation value, String operator, LocalDateTime now) {
+        value.setStationType(PumpStationType.WATER_SUPPLY);
         value.setDelFlag("0"); value.setCreateBy(operator); value.setCreateTime(now);
         if (value.getStatus() == null) value.setStatus("0");
     }

+ 3 - 3
pipe-network-service/zksy-system/src/main/resources/mapper/WaterSupply/PipeNetworkStatistics/PipeNetworkStatisticsMapper.xml

@@ -20,7 +20,7 @@
                COALESCE(SUM(CASE WHEN status = '1' THEN 1 ELSE 0 END), 0),
                COALESCE(SUM(CASE WHEN status = '2' THEN 1 ELSE 0 END), 0),
                COALESCE(SUM(CASE WHEN status IS NULL OR status NOT IN ('0', '1', '2') THEN 1 ELSE 0 END), 0)
-        FROM app_user.water_pump_station WHERE del_flag = '0'
+        FROM app_user.pump_station WHERE del_flag = '0' AND station_type = 'water_supply'
         <if test="status != null and status != ''">AND status = #{status}</if>
         UNION ALL
         SELECT 'pipe', '供水管网', COUNT(*), COALESCE(SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END), 0),
@@ -50,7 +50,7 @@
     <select id="selectPumpStationSummary" resultType="java.util.Map">
         SELECT COUNT(*) total_count, COALESCE(SUM(pump_count),0) pump_count,
                COALESCE(SUM(design_flow),0) design_flow, COALESCE(SUM(design_head),0) design_head,
-               COALESCE(SUM(power_capacity),0) power_capacity FROM app_user.water_pump_station WHERE del_flag = '0'
+               COALESCE(SUM(power_capacity),0) power_capacity FROM app_user.pump_station WHERE del_flag = '0' AND station_type = 'water_supply'
         <if test="status != null and status != ''">AND status = #{status}</if>
     </select>
     <select id="selectWaterSourceSummary" resultType="java.util.Map">
@@ -91,7 +91,7 @@
 
     <select id="selectStatusDistribution" resultType="com.zksy.WaterSupply.PipeNetworkStatistics.dto.MetricItemDTO">
         SELECT COALESCE(status, '未知') name, COUNT(*) "value", '条' unit FROM
-        <choose><when test="tableType == 'pipe'">app_user.water_pipe_info</when><when test="tableType == 'plant'">app_user.water_plant_info</when><when test="tableType == 'pumpStation'">app_user.water_pump_station</when><when test="tableType == 'source'">app_user.water_source_info</when><otherwise>app_user.water_user_info</otherwise></choose>
+        <choose><when test="tableType == 'pipe'">app_user.water_pipe_info</when><when test="tableType == 'plant'">app_user.water_plant_info</when><when test="tableType == 'pumpStation'">(SELECT * FROM app_user.pump_station WHERE station_type = 'water_supply') pump_station</when><when test="tableType == 'source'">app_user.water_source_info</when><otherwise>app_user.water_user_info</otherwise></choose>
         WHERE del_flag = '0' <if test="status != null and status != ''">AND status = #{status}</if> GROUP BY status
     </select>
     <select id="selectWaterPlantSourceTypeDistribution" resultType="com.zksy.WaterSupply.PipeNetworkStatistics.dto.MetricItemDTO">

+ 9 - 6
pipe-network-service/zksy-system/src/main/resources/mapper/WaterSupply/WaterPumpStation/WaterPumpStationMapper.xml

@@ -6,6 +6,7 @@
         <id column="id" property="id" />
         <result column="station_code" property="stationCode" />
         <result column="station_name" property="stationName" />
+        <result column="station_type" property="stationType" />
         <result column="location" property="location" />
         <result column="longitude" property="longitude" />
         <result column="latitude" property="latitude" />
@@ -26,7 +27,7 @@
     </resultMap>
 
     <sql id="Base_Column_List">
-        id, station_code, station_name, location, longitude, latitude, pump_count, design_flow, design_head,
+        id, station_code, station_name, station_type, location, longitude, latitude, pump_count, design_flow, design_head,
         power_capacity, commission_date, status, principal, contact_phone, remark,
         del_flag, create_by, create_time, update_by, update_time
     </sql>
@@ -34,8 +35,9 @@
     <!-- 条件查询泵站列表 -->
     <select id="selectStationList" resultMap="BaseResultMap">
         SELECT <include refid="Base_Column_List"/>
-        FROM app_user.water_pump_station
+        FROM app_user.pump_station
         WHERE del_flag = '0'
+        AND station_type = 'water_supply'
         <if test="stationCode != null and stationCode != ''">
             AND station_code LIKE CONCAT('%', #{stationCode}, '%')
         </if>
@@ -60,8 +62,9 @@
     <!-- 回收站SQL -->
     <select id="selectDeletedList" resultMap="BaseResultMap">
         SELECT <include refid="Base_Column_List"/>
-        FROM app_user.water_pump_station
+        FROM app_user.pump_station
         WHERE del_flag = '2'
+        AND station_type = 'water_supply'
         <if test="stationCode != null and stationCode != ''">
             AND station_code LIKE CONCAT('%', #{stationCode}, '%')
         </if>
@@ -81,18 +84,18 @@
     </select>
 
     <update id="restoreByIds">
-        UPDATE app_user.water_pump_station
+        UPDATE app_user.pump_station
         SET del_flag = '0',
         update_by = #{updateBy},
         update_time = CURRENT_TIMESTAMP
-        WHERE id IN
+        WHERE station_type = 'water_supply' AND id IN
         <foreach collection="ids" item="id" open="(" separator="," close=")">
             #{id}
         </foreach>
     </update>
 
     <delete id="deleteByIdsPhysically">
-        DELETE FROM app_user.water_pump_station WHERE id IN
+        DELETE FROM app_user.pump_station WHERE station_type = 'water_supply' AND id IN
         <foreach collection="ids" item="id" open="(" separator="," close=")">
             #{id}
         </foreach>