diff --git a/backend/src/main/java/com/yfd/platform/env/fh/entity/vo/FhMsstbprptVo.java b/backend/src/main/java/com/yfd/platform/env/fh/entity/vo/FhMsstbprptVo.java index 9ca7df5e..2214ad61 100644 --- a/backend/src/main/java/com/yfd/platform/env/fh/entity/vo/FhMsstbprptVo.java +++ b/backend/src/main/java/com/yfd/platform/env/fh/entity/vo/FhMsstbprptVo.java @@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @Data @@ -63,6 +64,42 @@ public class FhMsstbprptVo implements Serializable { @Schema(description = "监测指标") private String stindx; + @Schema(description = "建设阶段") + private Integer bldstt; + + @Schema(description = "保护对象") + private String qxdbhdx; + + @Schema(description = "保护范围") + private String qxdbhfw; + + @Schema(description = "保护长度") + private BigDecimal qxdbhcd; + + @Schema(description = "保护面积") + private BigDecimal qxdbhmj; + + @Schema(description = "保护河流") + private String bhhl; + + @Schema(description = "保护河段") + private String bhhd; + + @Schema(description = "保护措施") + private String bhcs; + + @Schema(description = "保护方式") + private String qxdbhfs; + + @Schema(description = "实施时间") + private Date ststdt; + + @Schema(description = "数据监测频次") + private Integer dtfrqcy; + + @Schema(description = "投资") + private BigDecimal qxdinv; + @Schema(description = "是否启用") private Integer usfl; diff --git a/backend/src/main/java/com/yfd/platform/env/fh/service/impl/FhHabitatServiceImpl.java b/backend/src/main/java/com/yfd/platform/env/fh/service/impl/FhHabitatServiceImpl.java index d8342689..276b5e16 100644 --- a/backend/src/main/java/com/yfd/platform/env/fh/service/impl/FhHabitatServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/env/fh/service/impl/FhHabitatServiceImpl.java @@ -1008,8 +1008,7 @@ public class FhHabitatServiceImpl implements FhHabitatService { } sql.append(buildFhMsstbprptOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort())); - PageInfo pageInfo = loadOptions == null ? null : QgcQueryWrapperUtil.getPageInfo(loadOptions); - Page page = pageInfo != null && pageInfo.getHasPageInfo() ? pageInfo.getPage() : null; + Page page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake()); List list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, FhMsstbprptVo.class); DataSourceResult result = new DataSourceResult<>(); @@ -1020,11 +1019,50 @@ public class FhHabitatServiceImpl implements FhHabitatService { } private String buildFhMsstbprptBaseSql(String sttpCode) { + boolean onlyFh = "FH".equalsIgnoreCase(StrUtil.trim(sttpCode)); boolean onlyRiver = "ZQ".equalsIgnoreCase(StrUtil.trim(sttpCode)); boolean onlyWtrv = "WTRV".equalsIgnoreCase(StrUtil.trim(sttpCode)); StringBuilder sql = new StringBuilder(); sql.append("SELECT * FROM ("); - if (!onlyWtrv) { + if (onlyFh) { + sql.append("SELECT fh.STCD AS stcd, ") + .append("fh.STNM AS stnm, ") + .append("'FH' AS sttpCode, ") + .append("CAST(NULL AS VARCHAR2(36)) AS fhstcd, ") + .append("CAST(NULL AS VARCHAR2(255)) AS fhstnm, ") + .append("fh.RSTCD AS rstcd, ") + .append("CAST(NULL AS VARCHAR2(255)) AS ennm, ") + .append("fh.BASE_ID AS baseId, ") + .append("hb.BASENAME AS baseName, ") + .append("fh.HBRVCD AS hbrvcd, ") + .append("fh.ATTM AS jcdt, ") + .append("CAST(NULL AS NUMBER(10)) AS mway, ") + .append("fh.DTIN AS dtin, ") + .append("CAST(NULL AS VARCHAR2(255)) AS dtinSrc, ") + .append("CAST(NULL AS NUMBER(10)) AS dtinType, ") + .append("fh.DTIN_TM AS dtinTm, ") + .append("CAST(NULL AS VARCHAR2(1000)) AS stindx, ") + .append("fh.BLPRD AS bldstt, ") + .append("fh.BHDX AS qxdbhdx, ") + .append("fh.BHFW AS qxdbhfw, ") + .append("fh.BHCD AS qxdbhcd, ") + .append("fh.BHMJ AS qxdbhmj, ") + .append("fh.BHHL AS bhhl, ") + .append("fh.BHHD AS bhhd, ") + .append("fh.BHCS AS bhcs, ") + .append("fh.BHFS AS qxdbhfs, ") + .append("fh.ATTM AS ststdt, ") + .append("fh.DTFRQCY AS dtfrqcy, ") + .append("fh.INV AS qxdinv, ") + .append("fh.USFL AS usfl, ") + .append("NVL(hb.ORDER_INDEX, 999999) AS baseStepSort, ") + .append("999999 AS rvcdStepSort, ") + .append("999999 AS rstcdStepSort, ") + .append("NVL(fh.ORDER_INDEX, 999999) AS siteStepSort ") + .append("FROM SD_FHBT_B_H fh ") + .append("LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = fh.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 ") + .append("WHERE NVL(fh.IS_DELETED, 0) = 0 "); + } else if (!onlyWtrv) { sql.append("SELECT river.STCD AS stcd, ") .append("river.STNM AS stnm, ") .append("'ZQ' AS sttpCode, ") @@ -1042,6 +1080,18 @@ public class FhHabitatServiceImpl implements FhHabitatService { .append("river.DTIN_TYPE AS dtinType, ") .append("river.DTIN_TM AS dtinTm, ") .append("river.STINDX AS stindx, ") + .append("fh.BLPRD AS bldstt, ") + .append("fh.BHDX AS qxdbhdx, ") + .append("fh.BHFW AS qxdbhfw, ") + .append("fh.BHCD AS qxdbhcd, ") + .append("fh.BHMJ AS qxdbhmj, ") + .append("fh.BHHL AS bhhl, ") + .append("fh.BHHD AS bhhd, ") + .append("fh.BHCS AS bhcs, ") + .append("fh.BHFS AS qxdbhfs, ") + .append("fh.ATTM AS ststdt, ") + .append("fh.DTFRQCY AS dtfrqcy, ") + .append("fh.INV AS qxdinv, ") .append("river.USFL AS usfl, ") .append("NVL(hb.ORDER_INDEX, 999999) AS baseStepSort, ") .append("999999 AS rvcdStepSort, ") @@ -1055,10 +1105,10 @@ public class FhHabitatServiceImpl implements FhHabitatService { .append("AND river.STTP = 'ZQ' ") .append("AND river.FHSTCD IS NOT NULL "); } - if (!onlyRiver && !onlyWtrv) { + if (!onlyFh && !onlyRiver && !onlyWtrv) { sql.append(" UNION ALL "); } - if (!onlyRiver) { + if (!onlyFh && !onlyRiver) { sql.append("SELECT wt.STCD AS stcd, ") .append("wt.STNM AS stnm, ") .append("'WTRV' AS sttpCode, ") @@ -1076,6 +1126,18 @@ public class FhHabitatServiceImpl implements FhHabitatService { .append("wt.DTIN_TYPE AS dtinType, ") .append("wt.DTIN_TM AS dtinTm, ") .append("wt.STINDX AS stindx, ") + .append("fh.BLPRD AS bldstt, ") + .append("fh.BHDX AS qxdbhdx, ") + .append("fh.BHFW AS qxdbhfw, ") + .append("fh.BHCD AS qxdbhcd, ") + .append("fh.BHMJ AS qxdbhmj, ") + .append("fh.BHHL AS bhhl, ") + .append("fh.BHHD AS bhhd, ") + .append("fh.BHCS AS bhcs, ") + .append("fh.BHFS AS qxdbhfs, ") + .append("fh.ATTM AS ststdt, ") + .append("fh.DTFRQCY AS dtfrqcy, ") + .append("fh.INV AS qxdinv, ") .append("wt.USFL AS usfl, ") .append("NVL(hb.ORDER_INDEX, 999999) AS baseStepSort, ") .append("999999 AS rvcdStepSort, ") @@ -1203,6 +1265,18 @@ public class FhHabitatServiceImpl implements FhHabitatService { case "dtinType" -> "t.dtinType"; case "dtinTm" -> "t.dtinTm"; case "stindx" -> "t.stindx"; + case "bldstt" -> "t.bldstt"; + case "dtfrqcy" -> "t.dtfrqcy"; + case "qxdinv" -> "t.qxdinv"; + case "qxdbhdx" -> "t.qxdbhdx"; + case "qxdbhfw" -> "t.qxdbhfw"; + case "qxdbhcd" -> "t.qxdbhcd"; + case "qxdbhmj" -> "t.qxdbhmj"; + case "bhhl" -> "t.bhhl"; + case "bhhd" -> "t.bhhd"; + case "bhcs" -> "t.bhcs"; + case "qxdbhfs" -> "t.qxdbhfs"; + case "ststdt" -> "t.ststdt"; case "usfl", "enable" -> "t.usfl"; case "baseStepSort" -> "t.baseStepSort"; case "rvcdStepSort" -> "t.rvcdStepSort"; diff --git a/backend/src/main/java/com/yfd/platform/env/wt/entity/vo/SdWtBaseInfoVO.java b/backend/src/main/java/com/yfd/platform/env/wt/entity/vo/SdWtBaseInfoVO.java index 85139154..07d0a824 100644 --- a/backend/src/main/java/com/yfd/platform/env/wt/entity/vo/SdWtBaseInfoVO.java +++ b/backend/src/main/java/com/yfd/platform/env/wt/entity/vo/SdWtBaseInfoVO.java @@ -41,6 +41,9 @@ public class SdWtBaseInfoVO implements Serializable { @Schema(description = "开工日期") private Date ststdt; + @Schema(description = "建设状态") + private String bldsttCcode; + @Schema(description = "建设状态") private String bldsttCcodeName; 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 f9af2aa8..75e6fcfc 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 @@ -563,6 +563,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { String stnm = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "stnm"); String coenvwState = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "coenvwState"); String dtin = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "dtin"); + String bldsttCcode = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "bldsttCcode"); StringBuilder sql = new StringBuilder(); boolean queryEngDirectly = "ENG".equalsIgnoreCase(sttpCode); boolean queryDwDirectly = StrUtil.isNotBlank(sttpCode) && sttpCode.toUpperCase().startsWith("DW_"); @@ -615,6 +616,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { .append("WHEN dw.BLDSTT_CODE IN ('1', '10', '11') THEN '已建' ") .append("WHEN dw.BLDSTT_CODE IN ('2', '7', '8') THEN '在建' ") .append("ELSE '未建/规划' END AS bldsttCcodeName, ") + .append("dw.BLDSTT_CODE AS bldsttCcode, ") .append("eng.HBRVCD AS hbrvcd ") .append("FROM SD_DFLTKW_B_H dw ") .append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = dw.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ") @@ -666,10 +668,15 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService { paramMap.put("sttpCode", sttpCode); sql.append("AND wt.STTP = #{map.sttpCode} "); } - if (queryDwDirectly && sttpCode != null && !sttpCode.isBlank()) { + if (queryDwDirectly && StrUtil.isNotBlank(sttpCode)) { paramMap.put("sttpCode", sttpCode); sql.append("AND dw.STTP = #{map.sttpCode} "); } + + if (queryDwDirectly && StrUtil.isNotBlank(bldsttCcode)) { + paramMap.put("bldsttCcode", bldsttCcode); + sql.append("AND dw.BLDSTT_CODE = #{map.bldsttCcode} "); + } if (rstcd != null && !rstcd.isBlank()) { paramMap.put("rstcd", rstcd); if (queryEngDirectly) {