diff --git a/backend/src/main/java/com/yfd/platform/qgc_eng/eq/entity/vo/EngEqBaseVmsstbprptVo.java b/backend/src/main/java/com/yfd/platform/qgc_eng/eq/entity/vo/EngEqBaseVmsstbprptVo.java index 4b14d507..84f485a0 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_eng/eq/entity/vo/EngEqBaseVmsstbprptVo.java +++ b/backend/src/main/java/com/yfd/platform/qgc_eng/eq/entity/vo/EngEqBaseVmsstbprptVo.java @@ -2,51 +2,21 @@ package com.yfd.platform.qgc_eng.eq.entity.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; - -import java.io.Serializable; +import lombok.EqualsAndHashCode; @Data +@EqualsAndHashCode(callSuper = true) @Schema(description = "生态流量泄放设施统计查询") -public class EngEqBaseVmsstbprptVo implements Serializable { +public class EngEqBaseVmsstbprptVo extends EngEqMsstbprptVo { private static final long serialVersionUID = 1L; - @Schema(description = "设施类型编码") - private String sttpCode; - - @Schema(description = "设施类型名称") - private String sttpName; - - @Schema(description = "设施编码") - private String stcd; - - @Schema(description = "设施名称") - private String stnm; - @Schema(description = "所属电站编码") private String rstcd; @Schema(description = "所属电站名称") private String rstcdName; - @Schema(description = "基地编码") - private String baseId; - - @Schema(description = "基地名称") - private String baseName; - - @Schema(description = "基地流域编码") - private String hbrvcd; - - @Schema(description = "基地流域名称") - private String hbrvcdName; - - @Schema(description = "数据接入状态") - private Integer dtin; - - @Schema(description = "建设状态分类") - private Integer bldsttCode; - @Schema(description = "基地排序") private Integer baseStepSort; 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 701cec27..cc8cff1f 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 @@ -317,6 +317,7 @@ public class EngEqDataServiceImpl implements EngEqDataService { Page page = loadOptions == null ? null : QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake()); List list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, EngEqBaseVmsstbprptVo.class); + fillBaseVmsstbprptDetailFields(list); DataSourceResult result = new DataSourceResult<>(); result.setData(list); result.setTotal(page != null ? page.getTotal() : list.size()); @@ -396,29 +397,68 @@ public class EngEqDataServiceImpl implements EngEqDataService { private String buildBaseVmsstbprptViewSql() { return "SELECT " + + "eq.STCD AS id, " + + "eq.RECORD_USER AS recordUser, " + + "eq.RECORD_TIME AS recordTime, " + + "eq.MODIFY_TIME AS modifyTime, " + "eq.STTP AS sttpCode, " + "NVL(sttp.STTP_NAME, eq.STTP) AS sttpName, " + + "sttp.ID AS sttp, " + + "sttp.FULL_PATH AS sttpFullPath, " + + "sttp.TREE_LEVEL AS sttpTreeLevel, " + "eq.STCD AS stcd, " + "eq.STNM AS stnm, " + + "eng.ENNM AS ennm, " + "eq.RSTCD AS rstcd, " + "eng.ENNM AS rstcdName, " + "eq.BASE_ID AS baseId, " + "hb.BASENAME AS baseName, " + "eq.HBRVCD AS hbrvcd, " + "hbrv.HBRVNM AS hbrvcdName, " + + "eng.RVCD AS rvcd, " + + "rv.RVNM AS rvcdName, " + + "eng.ADDVCD AS addvcd, " + + "addv.ADDVNM AS addvcdName, " + + "eng.COUNTRY AS country, " + + "eng.COUNTRY_NAME AS countryName, " + + "eng.HYCD AS hycd, " + + "eng.HYNM AS hynm, " + + "eng.TOP_HYCD AS topHycd, " + + "eng.TOP_HYNM AS topHynm, " + + "eq.BLPRD AS blprd, " + + "eq.LGTD AS lgtd, " + + "eq.LTTD AS lttd, " + + "eq.ELEV AS elev, " + + "eq.ELEV AS dtmel, " + + "eq.STLC AS stlc, " + + "eq.USFL AS usfl, " + "eq.DTIN AS dtin, " + - "eq.BLDSTT_CODE AS bldsttCode, " + + "CASE NVL(eq.DTIN, 0) WHEN 1 THEN '已接入' WHEN 0 THEN '未接入' ELSE NULL END AS dtinName, " + + "eq.DTIN_TM AS dtinTm, " + + "eq.INTRODUCE AS introduce, " + + "eq.LOGO AS logo, " + + "eq.INFFILE AS inffile, " + + "eng.PRSC AS prsc, " + + "eng.RUN_STATE AS runState, " + + "eng.BLDSTT AS bldstt, " + + "eng.BLDSTT_CODE AS bldsttCode, " + + "TO_CHAR(eng.BLDSTT_CODE) AS bldsttCcode, " + + "CASE NVL(eng.BLDSTT_CODE, -1) WHEN 0 THEN '未建/规划' WHEN 1 THEN '在建' WHEN 2 THEN '已建' ELSE NULL END AS bldsttCcodeName, " + "NVL(hb.ORDER_INDEX, 999999) AS baseStepSort, " + "NVL(along.ORDER_INDEX, 999999) AS rvcdStepSort, " + "NVL(eng.ORDER_INDEX, 999999) AS rstcdStepSort, " + - "NVL(eq.ORDER_INDEX, 999999) AS siteStepSort " + + "NVL(eq.ORDER_INDEX, 999999) AS siteStepSort, " + + "eq.ORDER_INDEX AS orderIndex, " + + "eq.TM AS tm " + "FROM SD_EQ_B_H eq " + "LEFT JOIN SD_STTP_B sttp ON sttp.STTP_CODE = eq.STTP " + - " AND NVL(sttp.IS_DELETED, 0) = 0 AND NVL(sttp.ENABLED, 1) = 1 " + + " AND NVL(sttp.IS_DELETED, 0) = 0 AND NVL(sttp.ENABLE, 1) = 1 " + "LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = eq.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 " + "LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = eq.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 " + "LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = eq.HBRVCD AND hbrv.BASEID = eq.BASE_ID " + " AND NVL(hbrv.IS_DELETED, 0) = 0 AND NVL(hbrv.ENABLED, 1) = 1 " + + "LEFT JOIN SD_RVCD_DIC rv ON rv.RVCD = eng.RVCD " + + "LEFT JOIN SD_ADDVCD_DIC addv ON addv.ADDVCD = eng.ADDVCD " + "LEFT JOIN MS_ALONG_B along ON along.RVCD = eq.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " + "WHERE NVL(eq.IS_DELETED, 0) = 0"; } @@ -444,17 +484,54 @@ public class EngEqDataServiceImpl implements EngEqDataService { private Map baseVmsstbprptFieldColumns() { Map columns = new LinkedHashMap<>(); + columns.put("id", "t.id AS id"); + columns.put("recordUser", "t.recordUser AS recordUser"); + columns.put("recordTime", "t.recordTime AS recordTime"); + columns.put("modifyTime", "t.modifyTime AS modifyTime"); + columns.put("sttp", "t.sttp AS sttp"); columns.put("sttpCode", "t.sttpCode AS sttpCode"); columns.put("sttpName", "t.sttpName AS sttpName"); + columns.put("sttpFullPath", "t.sttpFullPath AS sttpFullPath"); + columns.put("sttpTreeLevel", "t.sttpTreeLevel AS sttpTreeLevel"); columns.put("stcd", "t.stcd AS stcd"); columns.put("stnm", "t.stnm AS stnm"); + columns.put("ennm", "t.ennm AS ennm"); columns.put("rstcd", "t.rstcd AS rstcd"); columns.put("rstcdName", "t.rstcdName AS rstcdName"); columns.put("baseId", "t.baseId AS baseId"); columns.put("baseName", "t.baseName AS baseName"); columns.put("hbrvcd", "t.hbrvcd AS hbrvcd"); columns.put("hbrvcdName", "t.hbrvcdName AS hbrvcdName"); + columns.put("rvcd", "t.rvcd AS rvcd"); + columns.put("rvcdName", "t.rvcdName AS rvcdName"); + columns.put("addvcd", "t.addvcd AS addvcd"); + columns.put("addvcdName", "t.addvcdName AS addvcdName"); + columns.put("country", "t.country AS country"); + columns.put("countryName", "t.countryName AS countryName"); + columns.put("hycd", "t.hycd AS hycd"); + columns.put("hynm", "t.hynm AS hynm"); + columns.put("topHycd", "t.topHycd AS topHycd"); + columns.put("topHynm", "t.topHynm AS topHynm"); + columns.put("blprd", "t.blprd AS blprd"); + columns.put("lgtd", "t.lgtd AS lgtd"); + columns.put("lttd", "t.lttd AS lttd"); + columns.put("elev", "t.elev AS elev"); + columns.put("dtmel", "t.dtmel AS dtmel"); + columns.put("stlc", "t.stlc AS stlc"); + columns.put("usfl", "t.usfl AS usfl"); columns.put("dtin", "t.dtin AS dtin"); + columns.put("dtinName", "t.dtinName AS dtinName"); + columns.put("dtinTm", "t.dtinTm AS dtinTm"); + columns.put("introduce", "t.introduce AS introduce"); + columns.put("logo", "t.logo AS logo"); + columns.put("inffile", "t.inffile AS inffile"); + columns.put("prsc", "t.prsc AS prsc"); + columns.put("runState", "t.runState AS runState"); + columns.put("bldstt", "t.bldstt AS bldstt"); + columns.put("bldsttCcode", "t.bldsttCcode AS bldsttCcode"); + columns.put("bldsttCcodeName", "t.bldsttCcodeName AS bldsttCcodeName"); + columns.put("orderIndex", "t.orderIndex AS orderIndex"); + columns.put("tm", "t.tm AS tm"); columns.put("bldsttCode", "t.bldsttCode AS bldsttCode"); columns.put("baseStepSort", "t.baseStepSort AS baseStepSort"); columns.put("rvcdStepSort", "t.rvcdStepSort AS rvcdStepSort"); @@ -463,6 +540,27 @@ public class EngEqDataServiceImpl implements EngEqDataService { return columns; } + private void fillBaseVmsstbprptDetailFields(List list) { + if (CollUtil.isEmpty(list)) { + return; + } + Map sttpNameCache = new HashMap<>(); + for (EngEqBaseVmsstbprptVo item : list) { + if (item == null) { + continue; + } + if (StrUtil.isBlank(item.getSttpName())) { + item.setSttpName(resolveSttpName(item.getSttpCode(), sttpNameCache)); + } + if (StrUtil.isBlank(item.getDtinName()) && item.getDtin() != null) { + item.setDtinName(resolveEqDtinName(String.valueOf(item.getDtin()))); + } + if (StrUtil.isBlank(item.getBldsttCcodeName()) && StrUtil.isNotBlank(item.getBldsttCcode())) { + item.setBldsttCcodeName(resolveBldsttName(item.getBldsttCcode())); + } + } + } + private DataSourceResult queryMsstbprptDetailList(DataSourceRequest dataSourceRequest, DataSourceLoadOptionsBase loadOptions) { StringBuilder sql = new StringBuilder(); @@ -1571,6 +1669,14 @@ public class EngEqDataServiceImpl implements EngEqDataService { }; } + private String resolveEqDtinName(String keyValue) { + return switch (keyValue) { + case "1" -> "已接入"; + case "0" -> "未接入"; + default -> keyValue; + }; + } + private String resolveDtinEnvName(String keyValue) { return switch (keyValue) { case "2" -> "已全部接入";