From f1651fb18edcf1cc3fba758f4ed488241b87b639 Mon Sep 17 00:00:00 2001 From: tangwei Date: Tue, 9 Jun 2026 17:17:59 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E6=B5=81=E5=9F=9F?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=E4=B8=8B=E6=8B=89=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/RegisterAccessTokenFilter.java | 3 +- .../RegisterDropdownController.java | 12 ++ .../service/impl/AlongDetailServiceImpl.java | 81 +++++++++-- .../mapper/qgc_base/SdRvcdDicMapper.xml | 136 +++++++++--------- 4 files changed, 153 insertions(+), 79 deletions(-) diff --git a/backend/src/main/java/com/yfd/platform/config/RegisterAccessTokenFilter.java b/backend/src/main/java/com/yfd/platform/config/RegisterAccessTokenFilter.java index 024e4967..12b85648 100644 --- a/backend/src/main/java/com/yfd/platform/config/RegisterAccessTokenFilter.java +++ b/backend/src/main/java/com/yfd/platform/config/RegisterAccessTokenFilter.java @@ -20,6 +20,7 @@ public class RegisterAccessTokenFilter extends OncePerRequestFilter { private static final String ENG_INFO_PATH = "/register/dropdown/engInfo"; private static final String HBRV_PATH = "/register/dropdown/hbrv"; private static final String HYCD_PATH = "/register/dropdown/hycd"; + private static final String RVCD_PATH = "/register/dropdown/rvcd"; @Resource private RegisterAccessTokenService registerAccessTokenService; @@ -51,7 +52,7 @@ public class RegisterAccessTokenFilter extends OncePerRequestFilter { } private boolean needsRegisterAccessToken(String uri) { - return ENG_INFO_PATH.equals(uri) || HBRV_PATH.equals(uri) || HYCD_PATH.equals(uri); + return ENG_INFO_PATH.equals(uri) || HBRV_PATH.equals(uri) || HYCD_PATH.equals(uri)|| RVCD_PATH.equals(uri); } private String resolveRequestPath(HttpServletRequest request) { diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/controller/RegisterDropdownController.java b/backend/src/main/java/com/yfd/platform/qgc_base/controller/RegisterDropdownController.java index e79db19b..5c6155b0 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_base/controller/RegisterDropdownController.java +++ b/backend/src/main/java/com/yfd/platform/qgc_base/controller/RegisterDropdownController.java @@ -5,6 +5,7 @@ import com.yfd.platform.qgc_base.domain.SdEngInfoBHRequest; import com.yfd.platform.qgc_base.service.ISdEngInfoBHService; import com.yfd.platform.qgc_base.service.ISdHbrvDicService; import com.yfd.platform.qgc_base.service.ISdHycdDicService; +import com.yfd.platform.qgc_base.service.ISdRvcdDicService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; @@ -29,6 +30,9 @@ public class RegisterDropdownController { @Resource private ISdHycdDicService hycdDicService; + @Resource + private ISdRvcdDicService sdRvcdDicService; + @PostMapping("/engInfo") @Operation(summary = "注册场景电站下拉") public ResponseResult engInfoDropdown(@RequestBody SdEngInfoBHRequest request) { @@ -50,4 +54,12 @@ public class RegisterDropdownController { @RequestParam(required = false) String phycd) { return ResponseResult.successData(hycdDicService.regDropdown(hynm, grd, lx, phycd)); } + + @GetMapping("/rvcd") + @Operation(summary = "流域下拉框列表查询(注册)") + public ResponseResult regDropdown( + @RequestParam(required = false) String rvnm, + @RequestParam(required = false) String rvcd) { + return ResponseResult.successData(sdRvcdDicService.regDropdown(rvnm, rvcd)); + } } diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/wt/service/impl/AlongDetailServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_env/wt/service/impl/AlongDetailServiceImpl.java index d1bb3656..205a8f19 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/wt/service/impl/AlongDetailServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/wt/service/impl/AlongDetailServiceImpl.java @@ -228,16 +228,18 @@ public class AlongDetailServiceImpl extends ServiceImpl it.get("tm") != null) - .collect(Collectors.groupingBy(it -> (Date) it.get("tm"))); + .filter(it -> getDateValueIgnoreCase(it, "tm") != null) + .collect(Collectors.groupingBy(it -> getDateValueIgnoreCase(it, "tm"))); } else { wtvtDataVoMap = null; } Map> iwtDataMap = iwtDataVoList.stream() - .collect(Collectors.toMap(it -> (Date) it.get("tm"), Function.identity())); + .filter(it -> getDateValueIgnoreCase(it, "tm") != null) + .collect(Collectors.toMap(it -> getDateValueIgnoreCase(it, "tm"), Function.identity())); Map> dwtDataMap = dwtDataVoList.stream() - .collect(Collectors.toMap(it -> (Date) it.get("tm"), Function.identity())); + .filter(it -> getDateValueIgnoreCase(it, "tm") != null) + .collect(Collectors.toMap(it -> getDateValueIgnoreCase(it, "tm"), Function.identity())); // hydropwDataVoList.addAll(this.alongDetailMapper.getHydropwDataList(wtrvInfo.getStcd(), startTime, endTime)); // Map> hydropwDataMap = hydropwDataVoList.stream() @@ -255,10 +257,10 @@ public class AlongDetailServiceImpl extends ServiceImpl it.get("mnth") != null) + .filter(it -> getIntegerValueIgnoreCase(it, "mnth") != null) .collect(Collectors.toMap( - it -> (Integer) it.get("mnth"), - it -> (BigDecimal) it.get("wt") + it -> getIntegerValueIgnoreCase(it, "mnth"), + it -> getBigDecimalValueIgnoreCase(it, "wt") ))); } @@ -296,8 +298,8 @@ public class AlongDetailServiceImpl extends ServiceImpl> vtList = wtvtDataVoMap.get(it.getTm()); if (vtList != null) { Map>> vtMap = vtList.stream() - .filter(tt -> tt.get("vwt") != null) - .collect(Collectors.groupingBy(tt -> (BigDecimal) tt.get("vwt"))); + .filter(tt -> getBigDecimalValueIgnoreCase(tt, "vwt") != null) + .collect(Collectors.groupingBy(tt -> getBigDecimalValueIgnoreCase(tt, "vwt"))); if (vtMap.containsKey(it.getWt())) { vo.put("wtvtDataVo", vtMap.get(it.getWt()).get(0)); @@ -332,8 +334,10 @@ public class AlongDetailServiceImpl extends ServiceImpl data, String key) { + if (data == null || StrUtil.isBlank(key)) { + return null; + } + if (data.containsKey(key)) { + return data.get(key); + } + String upperKey = key.toUpperCase(Locale.ROOT); + if (data.containsKey(upperKey)) { + return data.get(upperKey); + } + String lowerKey = key.toLowerCase(Locale.ROOT); + if (data.containsKey(lowerKey)) { + return data.get(lowerKey); + } + for (Map.Entry entry : data.entrySet()) { + if (entry.getKey() != null && entry.getKey().equalsIgnoreCase(key)) { + return entry.getValue(); + } + } + return null; + } + + private Date getDateValueIgnoreCase(Map data, String key) { + return (Date) getValueIgnoreCase(data, key); + } + + private Integer getIntegerValueIgnoreCase(Map data, String key) { + Object value = getValueIgnoreCase(data, key); + if (value == null) { + return null; + } + if (value instanceof Integer integerValue) { + return integerValue; + } + if (value instanceof Number numberValue) { + return numberValue.intValue(); + } + return Integer.valueOf(String.valueOf(value)); + } + + private BigDecimal getBigDecimalValueIgnoreCase(Map data, String key) { + Object value = getValueIgnoreCase(data, key); + if (value == null) { + return null; + } + if (value instanceof BigDecimal decimalValue) { + return decimalValue; + } + if (value instanceof Number numberValue) { + return BigDecimal.valueOf(numberValue.doubleValue()); + } + return new BigDecimal(String.valueOf(value)); + } + @Override public WtrvInfo getWtrvInfoByStcd(String stcd) { diff --git a/backend/src/main/resources/mapper/qgc_base/SdRvcdDicMapper.xml b/backend/src/main/resources/mapper/qgc_base/SdRvcdDicMapper.xml index fe7a7a8c..504dcc0b 100644 --- a/backend/src/main/resources/mapper/qgc_base/SdRvcdDicMapper.xml +++ b/backend/src/main/resources/mapper/qgc_base/SdRvcdDicMapper.xml @@ -61,25 +61,26 @@ t.GRD, t.PATH, t.ORDER_INDEX, - t.LGTD, - t.LTTD, - t.AREA, - t.PERIMETER, - t.COUNTRY, - t.LOGO, - t.INTRODUCE, - t.INFFILE, +-- t.LGTD, +-- t.LTTD, +-- t.AREA, +-- t.PERIMETER, +-- t.COUNTRY, +-- t.LOGO, +-- t.INTRODUCE, +-- t.INFFILE, t.SHORTNAME, t.SHEPRANGE, - t.BASEID, - t.ENABLED, - t.RECORD_USER, - t.RECORD_TIME, - t.MODIFY_USER, - t.MODIFY_TIME, - t.IS_DELETED, - t.DELETE_USER, - t.DELETE_TIME + t.BASEID +-- , +-- t.ENABLED, +-- t.RECORD_USER, +-- t.RECORD_TIME, +-- t.MODIFY_USER, +-- t.MODIFY_TIME, +-- t.IS_DELETED, +-- t.DELETE_USER, +-- t.DELETE_TIME FROM ( SELECT d.RVCD, @@ -88,25 +89,25 @@ d.GRD, d.PATH, d.ORDER_INDEX, - d.LGTD, - d.LTTD, - d.AREA, - d.PERIMETER, - d.COUNTRY, - d.LOGO, - d.INTRODUCE, - d.INFFILE, +-- d.LGTD, +-- d.LTTD, +-- d.AREA, +-- d.PERIMETER, +-- d.COUNTRY, +-- d.LOGO, +-- d.INTRODUCE, +-- d.INFFILE, d.SHORTNAME, d.SHEPRANGE, d.BASEID, - d.ENABLED, - d.RECORD_USER, - d.RECORD_TIME, - d.MODIFY_USER, - d.MODIFY_TIME, - d.IS_DELETED, - d.DELETE_USER, - d.DELETE_TIME, +-- d.ENABLED, +-- d.RECORD_USER, +-- d.RECORD_TIME, +-- d.MODIFY_USER, +-- d.MODIFY_TIME, +-- d.IS_DELETED, +-- d.DELETE_USER, +-- d.DELETE_TIME, SYS_CONNECT_BY_PATH(LPAD(NVL(d.ORDER_INDEX, 999999999), 10, '0'), '/') AS ORDER_PATH, LEVEL AS TREE_LEVEL FROM ( @@ -137,25 +138,26 @@ t.GRD, t.PATH, t.ORDER_INDEX, - t.LGTD, - t.LTTD, - t.AREA, - t.PERIMETER, - t.COUNTRY, - t.LOGO, - t.INTRODUCE, - t.INFFILE, +-- t.LGTD, +-- t.LTTD, +-- t.AREA, +-- t.PERIMETER, +-- t.COUNTRY, +-- t.LOGO, +-- t.INTRODUCE, +-- t.INFFILE, t.SHORTNAME, t.SHEPRANGE, - t.BASEID, - t.ENABLED, - t.RECORD_USER, - t.RECORD_TIME, - t.MODIFY_USER, - t.MODIFY_TIME, - t.IS_DELETED, - t.DELETE_USER, - t.DELETE_TIME + t.BASEID +-- , +-- t.ENABLED, +-- t.RECORD_USER, +-- t.RECORD_TIME, +-- t.MODIFY_USER, +-- t.MODIFY_TIME, +-- t.IS_DELETED, +-- t.DELETE_USER, +-- t.DELETE_TIME FROM ( SELECT d.RVCD, @@ -164,25 +166,25 @@ d.GRD, d.PATH, d.ORDER_INDEX, - d.LGTD, - d.LTTD, - d.AREA, - d.PERIMETER, - d.COUNTRY, - d.LOGO, - d.INTRODUCE, - d.INFFILE, +-- d.LGTD, +-- d.LTTD, +-- d.AREA, +-- d.PERIMETER, +-- d.COUNTRY, +-- d.LOGO, +-- d.INTRODUCE, +-- d.INFFILE, d.SHORTNAME, d.SHEPRANGE, d.BASEID, - d.ENABLED, - d.RECORD_USER, - d.RECORD_TIME, - d.MODIFY_USER, - d.MODIFY_TIME, - d.IS_DELETED, - d.DELETE_USER, - d.DELETE_TIME, +-- d.ENABLED, +-- d.RECORD_USER, +-- d.RECORD_TIME, +-- d.MODIFY_USER, +-- d.MODIFY_TIME, +-- d.IS_DELETED, +-- d.DELETE_USER, +-- d.DELETE_TIME, SYS_CONNECT_BY_PATH(LPAD(NVL(d.ORDER_INDEX, 999999999), 10, '0'), '/') AS ORDER_PATH, LEVEL AS TREE_LEVEL FROM ( @@ -199,7 +201,7 @@ AND EXISTS ( SELECT 1 FROM SD_ENGINFO_B_H eng - WHERE eng.RVCD = t.RVCD + WHERE eng.REACHCD = t.RVCD AND NVL(eng.IS_DELETED, 0) = 0 )