From 34be84057befdfaa3813e87d9798067e14ccea06 Mon Sep 17 00:00:00 2001 From: tangwei Date: Wed, 1 Jul 2026 17:53:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=8E=AF=E4=BF=9D=E8=AE=BE=E6=96=BD?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E6=8F=8F=E7=82=B9=E9=BB=98=E8=AE=A4=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E6=9C=89=E6=95=B0=E6=8D=AE=E7=9A=84=E5=B9=B4=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eq/controller/EngEqDataController.java | 6 +++ .../qgc_eng/eq/service/EngEqDataService.java | 2 + .../eq/service/impl/EngEqDataServiceImpl.java | 44 +++++++++++++++++++ 3 files changed, 52 insertions(+) diff --git a/backend/src/main/java/com/yfd/platform/qgc_eng/eq/controller/EngEqDataController.java b/backend/src/main/java/com/yfd/platform/qgc_eng/eq/controller/EngEqDataController.java index 66190642..8ff8bc00 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_eng/eq/controller/EngEqDataController.java +++ b/backend/src/main/java/com/yfd/platform/qgc_eng/eq/controller/EngEqDataController.java @@ -162,4 +162,10 @@ public class EngEqDataController { public ResponseResult getQecRateCount(@RequestBody DataSourceRequest dataSourceRequest) { return ResponseResult.successData(engEqDataService.qecRateCount(dataSourceRequest)); } + + @PostMapping("/operat/default/year") + @Operation(summary = "环保设施点击描点默认展示有数据的年份,不包含过鱼设施描点") + public ResponseResult getDefaultYear(@RequestBody DataSourceRequest dataSourceRequest) { + return ResponseResult.successData(engEqDataService.getDefaultYear(dataSourceRequest)); + } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_eng/eq/service/EngEqDataService.java b/backend/src/main/java/com/yfd/platform/qgc_eng/eq/service/EngEqDataService.java index 7f0a0bf8..4bdafb61 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_eng/eq/service/EngEqDataService.java +++ b/backend/src/main/java/com/yfd/platform/qgc_eng/eq/service/EngEqDataService.java @@ -59,4 +59,6 @@ public interface EngEqDataService { DataSourceResult getEvnmAutoMonitorList(DataSourceRequest dataSourceRequest); DataSourceResult qecRateCount(DataSourceRequest dataSourceRequest); + + DataSourceResult getDefaultYear(DataSourceRequest dataSourceRequest); } diff --git a/backend/src/main/java/com/yfd/platform/qgc_eng/eq/service/impl/EngEqDataServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_eng/eq/service/impl/EngEqDataServiceImpl.java index 124541a0..e0582bb7 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_eng/eq/service/impl/EngEqDataServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_eng/eq/service/impl/EngEqDataServiceImpl.java @@ -5805,4 +5805,48 @@ public class EngEqDataServiceImpl implements EngEqDataService { default -> null; }; } + + @Override + public DataSourceResult getDefaultYear(DataSourceRequest dataSourceRequest) { + DataSourceResult dataSourceResult = new DataSourceResult<>(); + List resultList = new ArrayList<>(); + dataSourceResult.setData(resultList); + dataSourceResult.setTotal(resultList.size()); + DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest(); + String stcd = loadOptions == null ? null : QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "stcd"); + String sttpCode = loadOptions == null ? null : QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "sttpCode"); + if (StrUtil.isBlank(stcd) || StrUtil.isBlank(sttpCode)) { + return dataSourceResult; + } + + Map paramMap = new HashMap<>(); + paramMap.put("stcd", stcd); + + String sql = switch (sttpCode) { + case "DW" -> "SELECT MAX(TM) AS TM FROM SD_DW_R WHERE STCD = #{map.stcd} AND NVL(IS_DELETED, 0) = 0"; + case "EQ" -> "SELECT MAX(TM) AS TM FROM SD_EQ_R WHERE STCD = #{map.stcd} AND NVL(IS_DELETED, 0) = 0"; + case "FB" -> "SELECT MAX(TM) AS TM FROM SD_ENGFR_R WHERE STCD = #{map.stcd} AND NVL(IS_DELETED, 0) = 0"; + case "VA" -> "SELECT MAX(TM) AS TM FROM SD_VA_R WHERE STCD = #{map.stcd} AND NVL(IS_DELETED, 0) = 0"; + case "VP" -> "SELECT MAX(TM) AS TM FROM SD_VP_R WHERE STCD = #{map.stcd} AND NVL(IS_DELETED, 0) = 0"; + default -> ""; + }; + + if (StrUtil.isBlank(sql)) { + return dataSourceResult; + } + + List> allList = microservicDynamicSQLMapper.getAllList(sql, paramMap); + if (CollUtil.isEmpty(allList)) { + return dataSourceResult; + } + Map map = allList.get(0); + if (map == null) { + return dataSourceResult; + } + Object tm = map.getOrDefault("TM", ""); + if (tm != null && StrUtil.isNotBlank(tm.toString())) { + resultList.add(tm.toString()); + } + return dataSourceResult; + } }