From 6c521d9d847dffcf52713d1bb6f3c4a412ad3dee Mon Sep 17 00:00:00 2001 From: tangwei Date: Tue, 7 Jul 2026 14:40:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fb/service/impl/FbStationServiceImpl.java | 2 +- .../fh/service/impl/FhHabitatServiceImpl.java | 4 +- .../service/impl/SdWtMonitorServiceImpl.java | 67 +++++++++++++------ 3 files changed, 48 insertions(+), 25 deletions(-) diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/fb/service/impl/FbStationServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_env/fb/service/impl/FbStationServiceImpl.java index 80cc3408..1712f20c 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/fb/service/impl/FbStationServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/fb/service/impl/FbStationServiceImpl.java @@ -4705,7 +4705,7 @@ public class FbStationServiceImpl implements FbStationService { case "rstcd" -> "a.RSTCD"; case "stcd" -> "a.STCD"; case "sttp" -> "a.STTP"; - case "bldsttCcode" -> "a.BLDSTT_CODE"; + case "bldsttccode" -> "a.BLDSTT_CODE"; case "lgtd" -> "a.LGTD"; default -> null; }; diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/fh/service/impl/FhHabitatServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_env/fh/service/impl/FhHabitatServiceImpl.java index 0efb414b..aa5bad69 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/fh/service/impl/FhHabitatServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/fh/service/impl/FhHabitatServiceImpl.java @@ -1977,7 +1977,7 @@ public class FhHabitatServiceImpl implements FhHabitatService { sql.append("AND ").append(filterSql).append(" "); } Page page = loadOptions == null ? null : QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake()); - List vaVpList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), new HashMap<>(), FhHaVapVo.class); + List vaVpList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, FhHaVapVo.class); for (FhHaVapVo vo : vaVpList) { String bldsttCcode = vo.getBldsttCcode(); @@ -2009,7 +2009,7 @@ public class FhHabitatServiceImpl implements FhHabitatService { return null; } return switch (field.toLowerCase()) { - case "sttpCode" -> "t.sttp"; + case "sttpcode" -> "t.STTP_CODE"; case "lgtd" -> "t.lgtd"; default -> null; }; diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/wt/service/impl/SdWtMonitorServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_env/wt/service/impl/SdWtMonitorServiceImpl.java index b28551d8..127a19cc 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/wt/service/impl/SdWtMonitorServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/wt/service/impl/SdWtMonitorServiceImpl.java @@ -26,6 +26,7 @@ import com.yfd.platform.qgc_env.wt.mapper.SdWtMonitorMapper; import com.yfd.platform.qgc_env.wt.utils.SiteAvoidanceUtils; import com.yfd.platform.qgc_env.wt.service.SdWtMonitorService; import com.yfd.platform.utils.QgcQueryWrapperUtil; +import com.yfd.platform.utils.SecurityUtils; import jakarta.annotation.Resource; import lombok.Data; import org.springframework.jdbc.core.JdbcTemplate; @@ -115,7 +116,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { "t.JCDT AS jcdt, " + "t.WDDT AS wddt, " + "t.BLDSTT_CODE AS bldsttCode, " + - "CASE WHEN t.BLDSTT_CODE =2 THEN '已建' WHEN t.BLDSTT_CODE =1 THEN '在建' ELSE '未建/规划' END AS bldsttCcodeName, "+ + "CASE WHEN t.BLDSTT_CODE =2 THEN '已建' WHEN t.BLDSTT_CODE =1 THEN '在建' ELSE '未建/规划' END AS bldsttCcodeName, " + "t.INV AS inv, " + "t.INVINMN AS invinmn, " + "t.INTRODUCE AS introduce, " + @@ -127,7 +128,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { "t.DTIN_TYPE AS dtinType, " + "t.DTIN_TM AS dtinTm, " + "t.MWAY AS mway, " + - "CASE NVL(t.MWAY, 0) WHEN 1 THEN '人工' WHEN 2 THEN '自动' ELSE '未知' END AS mwayName , "+ + "CASE NVL(t.MWAY, 0) WHEN 1 THEN '人工' WHEN 2 THEN '自动' ELSE '未知' END AS mwayName , " + "t.STINDX AS stindx, " + "t.ORDER_INDEX AS orderIndex, " + "t.DMSTCD AS dmstcd, " + @@ -445,7 +446,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { } sql.append(buildYearDetailOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort())); - Page page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake()); + Page page = QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake()); List list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdYearDetailVO.class); for (SdYearDetailVO vo : list) { vo.setActualTemp(vo.getWt()); @@ -490,7 +491,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { } sql.append(buildMonthDetailOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort())); - Page page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake()); + Page page = QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake()); List list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdMonthDetailVO.class); DataSourceResult result = new DataSourceResult<>(); result.setData(list); @@ -518,7 +519,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { Map paramMap = new HashMap<>(); paramMap.put("stcd", stcd); WtrvVo vo = (WtrvVo) microservicDynamicSQLMapper.getOneBySqlWithResultType(sql, paramMap, WtrvVo.class); - if (vo == null ) { + if (vo == null) { return buildDefaultWtrvVo(stcd); } return vo; @@ -577,7 +578,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { paramMap.put("baseId", baseId); } - Page page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake()); + Page page = QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake()); List wtFishVoList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WtFishVo.class); String hbrvcd = wtFishVoList.isEmpty() ? null : wtFishVoList.get(0).getHbrvcd(); @@ -850,7 +851,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { } sql.append(buildVmsstbprptOrderBySql(dataSourceRequest.getSort())); - Page page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake()); + Page page = QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake()); List list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdWtBaseInfoVO.class); DataSourceResult result = new DataSourceResult<>(); @@ -1153,7 +1154,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { appendCxDetailOrderBy(sql, dataSourceRequest.getSort()); DataSourceLoadOptionsBase loadOptions = dataSourceRequest.toDevRequest(); - Page page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake()); + Page page = QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake()); List rowList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WtCxDetailRow.class); List verticalList = getVerticals(rowList, wtDeviceType); @@ -2954,7 +2955,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { " wt.LTTD AS lttd,\n" + " wt.WT_DEVICE_TYPE AS deviceType,\n" + " wt.ELEV AS dtmel,\n" + - " wt.FHSTNM AS fhstnm,\n" + +// " wt.FHSTNM AS fhstnm,\n" + " wt.MWAY AS mway,\n" + " eng.RVCD AS rvcd,\n" + " eng.ADDVCD AS addvcd,\n" + @@ -2971,21 +2972,30 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { "LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wt.RSTCD AND NVL(eng.IS_DELETED, 0) = 0\n" + "LEFT JOIN SD_WTENGRLTN_B rel ON rel.STCD = wt.STCD AND NVL(rel.IS_DELETED, 0) = 0\n" + "WHERE NVL(wt.IS_DELETED, 0) = 0 AND wt.STTP IN ('WTRV', 'WTVT') AND wt.LGTD IS NOT NULL AND wt.LTTD IS NOT NULL "); - - if (StrUtil.isNotBlank(sttpCode)) { - sql.append(" AND wt.STTP = #{map.sttpCode} "); - } - if (StrUtil.isNotBlank(dtinType)) { - sql.append(" AND wt.DTIN_TYPE = #{map.dtinType} "); - } - Map paramMap = new HashMap<>(); - if (StrUtil.isNotBlank(sttpCode)) { - paramMap.put("sttpCode", sttpCode); - } - if (StrUtil.isNotBlank(dtinType)) { - paramMap.put("dtinType", dtinType); + String filterSql = QgcQueryWrapperUtil.buildFilterCondition( + dataSourceRequest == null ? null : dataSourceRequest.getFilter(), + paramMap, + new int[]{0}, + this::mapWeFvColumn + ); + if (StrUtil.isNotBlank(filterSql)) { + sql.append("AND ").append(filterSql).append(" "); } +// if (StrUtil.isNotBlank(sttpCode)) { +// sql.append(" AND wt.STTP = #{map.sttpCode} "); +// } +// if (StrUtil.isNotBlank(dtinType)) { +// sql.append(" AND wt.DTIN_TYPE = #{map.dtinType} "); +// } +// +// Map paramMap = new HashMap<>(); +// if (StrUtil.isNotBlank(sttpCode)) { +// paramMap.put("sttpCode", sttpCode); +// } +// if (StrUtil.isNotBlank(dtinType)) { +// paramMap.put("dtinType", dtinType); +// } List sort = dataSourceRequest.getSort(); if (sort != null && !sort.isEmpty()) { @@ -3035,4 +3045,17 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { return dataSourceResult; } + private String mapWeFvColumn(String field) { + if (StrUtil.isBlank(field)) { + return null; + } + return switch (field.toLowerCase()) { + case "sttpcode" -> "wt.STTP"; + case "dtintype" -> "wt.DTIN_TYPE"; + case "lgtd" -> "wt.LGTD"; + case "fhstcd" -> "wt.FHSTCD"; + default -> null; + }; + } + }