diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdEngInfoBHRequest.java b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdEngInfoBHRequest.java index 4a7f7127..ceb43999 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdEngInfoBHRequest.java +++ b/backend/src/main/java/com/yfd/platform/qgc_base/domain/SdEngInfoBHRequest.java @@ -14,7 +14,7 @@ public class SdEngInfoBHRequest { private String hbrvcd; private String rvcd; private String reachcd; - private List basIds; + private List baseIds; private List hbrvcds; private List rvcds; // private List rvcds; diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java index f7c00095..07bd92ea 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java @@ -198,6 +198,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl selectForDropdownCached(SdEngInfoBHRequest sdEngInfoBHRequest) { String baseId = sdEngInfoBHRequest.getBaseId(); + List baseIds = sdEngInfoBHRequest.getBaseIds(); String hbrvcd = sdEngInfoBHRequest.getHbrvcd(); String ennm = sdEngInfoBHRequest.getEnnm(); String rvcd = sdEngInfoBHRequest.getRvcd(); @@ -210,6 +211,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl getAnchorPointKendoListCust(DataSourceRequest dataSourceRequest); + /** + * 获取水质达标率默认有数据的电站 + */ + DataSourceResult getDefaultStcd(DataSourceRequest dataSourceRequest); + void wqLastData(JobBaseAo ao); } diff --git a/backend/src/main/java/com/yfd/platform/qgc_env/wq/service/impl/EnvWqDataServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_env/wq/service/impl/EnvWqDataServiceImpl.java index 4d553f10..a330286c 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_env/wq/service/impl/EnvWqDataServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_env/wq/service/impl/EnvWqDataServiceImpl.java @@ -4997,4 +4997,63 @@ public class EnvWqDataServiceImpl implements EnvWqDataService { redisCacheUtil.setString("wqLastDate:" + wqDataVo.getStcd(), JSONUtil.toJsonStr(wqDataVo)); } } + + @Override + public DataSourceResult getDefaultStcd(DataSourceRequest dataSourceRequest) { + DataSourceResult result = new DataSourceResult<>(); + result.setAggregates(new HashMap<>()); + + if (dataSourceRequest == null) { + result.setData(new ArrayList<>()); + result.setTotal(0L); + return result; + } + + // 构建过滤条件 + Map paramMap = new HashMap<>(); + String filterSql = QgcQueryWrapperUtil.buildFilterCondition( + dataSourceRequest.getFilter(), + paramMap, + new int[]{0}, + this::mapWqDefaultStcdColumn + ); + + String sql = "SELECT sb.STCD AS stcd, sb.STNM AS stnm " + + "FROM MS_WQ_T wq " + + "INNER JOIN SD_WQ_B_H sb ON wq.STCD = sb.STCD " + + "WHERE sb.STTP = 'WQ' " + + " AND sb.USFL = 1 " + + " AND NVL(sb.IS_DELETED, 0) = 0 " + + " AND NVL(wq.IS_DELETED, 0) = 0 "; + + // 拼接动态过滤条件 + if (StrUtil.isNotBlank(filterSql)) { + sql += " AND " + filterSql + " "; + } + + sql += " AND ROWNUM = 1"; + + List dataList = microservicDynamicSQLMapper + .pageAllListWithResultType(null, sql, paramMap, WqDefaultStcdVo.class); + + result.setData(dataList); + result.setTotal(dataList != null ? dataList.size() : 0L); + return result; + } + + /** + * 水质默认电站过滤字段映射 + */ + private String mapWqDefaultStcdColumn(String field) { + if (StrUtil.isBlank(field)) { + return null; + } + return switch (field.toLowerCase()) { + case "tm" -> "wq.TM"; + case "stcd" -> "sb.STCD"; + case "base_id", "baseid" -> "sb.BASE_ID"; + case "rstcd" -> "sb.RSTCD"; + default -> null; + }; + } }