diff --git a/backend/src/main/java/com/yfd/platform/env/wt/controller/SdWTMonitorController.java b/backend/src/main/java/com/yfd/platform/env/wt/controller/SdWTMonitorController.java index 8256fe6..8c337b5 100644 --- a/backend/src/main/java/com/yfd/platform/env/wt/controller/SdWTMonitorController.java +++ b/backend/src/main/java/com/yfd/platform/env/wt/controller/SdWTMonitorController.java @@ -167,6 +167,12 @@ public class SdWTMonitorController { return ResponseResult.successData(sdWtMonitorService.getEvnmAutoMonitorList()); } + @PostMapping("/dwInfo/GetKendoListCust") + @Operation(summary = "查询低温水减缓设施数量") + public ResponseResult getDfltkwFacilityCount(@RequestBody DataSourceRequest dataSourceRequest) { + return ResponseResult.successData(sdWtMonitorService.getDfltkwFacilityCount(dataSourceRequest)); + } + @PostMapping("/vmsstbprpt/GetKendoList") @Operation(summary = "根据类型查询水温表基本数据") public ResponseResult getVmsstbprptList(@RequestBody DataSourceRequest dataSourceRequest) { diff --git a/backend/src/main/java/com/yfd/platform/env/wt/entity/vo/DfltkwFacilityCountVo.java b/backend/src/main/java/com/yfd/platform/env/wt/entity/vo/DfltkwFacilityCountVo.java new file mode 100644 index 0000000..5ed8480 --- /dev/null +++ b/backend/src/main/java/com/yfd/platform/env/wt/entity/vo/DfltkwFacilityCountVo.java @@ -0,0 +1,29 @@ +package com.yfd.platform.env.wt.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; + +@Data +@Schema(description = "低温水减缓设施数量统计") +public class DfltkwFacilityCountVo implements Serializable { + + @Schema(description = "类型编码") + private String dwtp; + + @Schema(description = "类型名称") + private String name; + + @Schema(description = "已接入数量") + private Integer accessNum; + + @Schema(description = "已建数量") + private Integer buildNum; + + @Schema(description = "在建数量") + private Integer zjNum; + + @Schema(description = "总数量") + private Integer totalNum; +} diff --git a/backend/src/main/java/com/yfd/platform/env/wt/service/SdWtMonitorService.java b/backend/src/main/java/com/yfd/platform/env/wt/service/SdWtMonitorService.java index e1f417b..044da0a 100644 --- a/backend/src/main/java/com/yfd/platform/env/wt/service/SdWtMonitorService.java +++ b/backend/src/main/java/com/yfd/platform/env/wt/service/SdWtMonitorService.java @@ -2,6 +2,7 @@ package com.yfd.platform.env.wt.service; import com.yfd.platform.common.DataSourceRequest; import com.yfd.platform.common.DataSourceResult; +import com.yfd.platform.env.wt.entity.vo.DfltkwFacilityCountVo; import com.yfd.platform.env.wt.entity.vo.RstcdTreeInfoVo; import com.yfd.platform.env.wt.entity.vo.SdYearDetailVO; import com.yfd.platform.env.wt.entity.vo.WbsbVo; @@ -23,6 +24,8 @@ public interface SdWtMonitorService { DataSourceResult getWbsbList(DataSourceRequest dataSourceRequest); + DataSourceResult getDfltkwFacilityCount(DataSourceRequest dataSourceRequest); + DataSourceResult getYearDetailList(DataSourceRequest dataSourceRequest); List getWtvtDefaultTreeStcd(DataSourceRequest dataSourceRequest); diff --git a/backend/src/main/java/com/yfd/platform/env/wt/service/impl/SdWtMonitorServiceImpl.java b/backend/src/main/java/com/yfd/platform/env/wt/service/impl/SdWtMonitorServiceImpl.java index 468b4b5..e7b09a2 100644 --- a/backend/src/main/java/com/yfd/platform/env/wt/service/impl/SdWtMonitorServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/env/wt/service/impl/SdWtMonitorServiceImpl.java @@ -3,6 +3,7 @@ package com.yfd.platform.env.wt.service.impl; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yfd.platform.common.*; +import com.yfd.platform.env.wt.entity.vo.DfltkwFacilityCountVo; import com.yfd.platform.env.wt.entity.vo.FishSpawnVo; import com.yfd.platform.env.wt.entity.vo.RstcdTreeInfoVo; import com.yfd.platform.env.wt.entity.vo.SdYearDetailVO; @@ -126,6 +127,55 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { return result; } + @Override + public DataSourceResult getDfltkwFacilityCount(DataSourceRequest dataSourceRequest) { + String sql = """ + SELECT c.dwtp AS dwtp, + c.name AS name, + NVL(s.accessNum, 0) AS accessNum, + NVL(s.buildNum, 0) AS buildNum, + NVL(s.zjNum, 0) AS zjNum, + NVL(s.totalNum, 0) AS totalNum + FROM ( + SELECT '1' AS dwtp, '叠梁门' AS name, 1 AS sortOrder FROM DUAL + UNION ALL + SELECT '2' AS dwtp, '前置挡墙' AS name, 2 AS sortOrder FROM DUAL + UNION ALL + SELECT '3' AS dwtp, '隔水幕墙' AS name, 3 AS sortOrder FROM DUAL + UNION ALL + SELECT '4' AS dwtp, '其它' AS name, 4 AS sortOrder FROM DUAL + ) c + LEFT JOIN ( + SELECT CASE + WHEN t.STTP = 'DW_2' THEN '1' + WHEN t.STTP = 'DW_5' THEN '2' + WHEN t.STTP = 'DW_6' THEN '3' + ELSE '4' + END AS dwtp, + COUNT(1) AS totalNum, + SUM(CASE WHEN NVL(t.DTIN, 0) = 1 THEN 1 ELSE 0 END) AS accessNum, + SUM(CASE WHEN NVL(t.BLDSTT_CODE, 0) = 2 THEN 1 ELSE 0 END) AS buildNum, + SUM(CASE WHEN NVL(t.BLDSTT_CODE, 0) = 1 THEN 1 ELSE 0 END) AS zjNum + FROM SD_DFLTKW_B_H t + WHERE NVL(t.IS_DELETED, 0) = 0 + GROUP BY CASE + WHEN t.STTP = 'DW_2' THEN '1' + WHEN t.STTP = 'DW_5' THEN '2' + WHEN t.STTP = 'DW_6' THEN '3' + ELSE '4' + END + ) s + ON s.dwtp = c.dwtp + ORDER BY c.sortOrder + """; + List list = microservicDynamicSQLMapper.getAllListWithResultType(sql, new HashMap<>(), DfltkwFacilityCountVo.class); + DataSourceResult result = new DataSourceResult<>(); + result.setData(list); + result.setTotal((long) list.size()); + result.setAggregates(new HashMap<>()); + return result; + } + @Override public DataSourceResult getYearDetailList(DataSourceRequest dataSourceRequest) { DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();