fix: 查询栖息地监测站点列表增加一个子逻辑
This commit is contained in:
parent
3fa0857bfd
commit
e7476da008
@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ -63,6 +64,42 @@ public class FhMsstbprptVo implements Serializable {
|
|||||||
@Schema(description = "监测指标")
|
@Schema(description = "监测指标")
|
||||||
private String stindx;
|
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 = "是否启用")
|
@Schema(description = "是否启用")
|
||||||
private Integer usfl;
|
private Integer usfl;
|
||||||
|
|
||||||
|
|||||||
@ -1008,8 +1008,7 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sql.append(buildFhMsstbprptOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
sql.append(buildFhMsstbprptOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
||||||
PageInfo pageInfo = loadOptions == null ? null : QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||||
Page<?> page = pageInfo != null && pageInfo.getHasPageInfo() ? pageInfo.getPage() : null;
|
|
||||||
List<FhMsstbprptVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, FhMsstbprptVo.class);
|
List<FhMsstbprptVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, FhMsstbprptVo.class);
|
||||||
|
|
||||||
DataSourceResult<FhMsstbprptVo> result = new DataSourceResult<>();
|
DataSourceResult<FhMsstbprptVo> result = new DataSourceResult<>();
|
||||||
@ -1020,11 +1019,50 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String buildFhMsstbprptBaseSql(String sttpCode) {
|
private String buildFhMsstbprptBaseSql(String sttpCode) {
|
||||||
|
boolean onlyFh = "FH".equalsIgnoreCase(StrUtil.trim(sttpCode));
|
||||||
boolean onlyRiver = "ZQ".equalsIgnoreCase(StrUtil.trim(sttpCode));
|
boolean onlyRiver = "ZQ".equalsIgnoreCase(StrUtil.trim(sttpCode));
|
||||||
boolean onlyWtrv = "WTRV".equalsIgnoreCase(StrUtil.trim(sttpCode));
|
boolean onlyWtrv = "WTRV".equalsIgnoreCase(StrUtil.trim(sttpCode));
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT * FROM (");
|
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, ")
|
sql.append("SELECT river.STCD AS stcd, ")
|
||||||
.append("river.STNM AS stnm, ")
|
.append("river.STNM AS stnm, ")
|
||||||
.append("'ZQ' AS sttpCode, ")
|
.append("'ZQ' AS sttpCode, ")
|
||||||
@ -1042,6 +1080,18 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
|||||||
.append("river.DTIN_TYPE AS dtinType, ")
|
.append("river.DTIN_TYPE AS dtinType, ")
|
||||||
.append("river.DTIN_TM AS dtinTm, ")
|
.append("river.DTIN_TM AS dtinTm, ")
|
||||||
.append("river.STINDX AS stindx, ")
|
.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("river.USFL AS usfl, ")
|
||||||
.append("NVL(hb.ORDER_INDEX, 999999) AS baseStepSort, ")
|
.append("NVL(hb.ORDER_INDEX, 999999) AS baseStepSort, ")
|
||||||
.append("999999 AS rvcdStepSort, ")
|
.append("999999 AS rvcdStepSort, ")
|
||||||
@ -1055,10 +1105,10 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
|||||||
.append("AND river.STTP = 'ZQ' ")
|
.append("AND river.STTP = 'ZQ' ")
|
||||||
.append("AND river.FHSTCD IS NOT NULL ");
|
.append("AND river.FHSTCD IS NOT NULL ");
|
||||||
}
|
}
|
||||||
if (!onlyRiver && !onlyWtrv) {
|
if (!onlyFh && !onlyRiver && !onlyWtrv) {
|
||||||
sql.append(" UNION ALL ");
|
sql.append(" UNION ALL ");
|
||||||
}
|
}
|
||||||
if (!onlyRiver) {
|
if (!onlyFh && !onlyRiver) {
|
||||||
sql.append("SELECT wt.STCD AS stcd, ")
|
sql.append("SELECT wt.STCD AS stcd, ")
|
||||||
.append("wt.STNM AS stnm, ")
|
.append("wt.STNM AS stnm, ")
|
||||||
.append("'WTRV' AS sttpCode, ")
|
.append("'WTRV' AS sttpCode, ")
|
||||||
@ -1076,6 +1126,18 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
|||||||
.append("wt.DTIN_TYPE AS dtinType, ")
|
.append("wt.DTIN_TYPE AS dtinType, ")
|
||||||
.append("wt.DTIN_TM AS dtinTm, ")
|
.append("wt.DTIN_TM AS dtinTm, ")
|
||||||
.append("wt.STINDX AS stindx, ")
|
.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("wt.USFL AS usfl, ")
|
||||||
.append("NVL(hb.ORDER_INDEX, 999999) AS baseStepSort, ")
|
.append("NVL(hb.ORDER_INDEX, 999999) AS baseStepSort, ")
|
||||||
.append("999999 AS rvcdStepSort, ")
|
.append("999999 AS rvcdStepSort, ")
|
||||||
@ -1203,6 +1265,18 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
|||||||
case "dtinType" -> "t.dtinType";
|
case "dtinType" -> "t.dtinType";
|
||||||
case "dtinTm" -> "t.dtinTm";
|
case "dtinTm" -> "t.dtinTm";
|
||||||
case "stindx" -> "t.stindx";
|
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 "usfl", "enable" -> "t.usfl";
|
||||||
case "baseStepSort" -> "t.baseStepSort";
|
case "baseStepSort" -> "t.baseStepSort";
|
||||||
case "rvcdStepSort" -> "t.rvcdStepSort";
|
case "rvcdStepSort" -> "t.rvcdStepSort";
|
||||||
|
|||||||
@ -41,6 +41,9 @@ public class SdWtBaseInfoVO implements Serializable {
|
|||||||
@Schema(description = "开工日期")
|
@Schema(description = "开工日期")
|
||||||
private Date ststdt;
|
private Date ststdt;
|
||||||
|
|
||||||
|
@Schema(description = "建设状态")
|
||||||
|
private String bldsttCcode;
|
||||||
|
|
||||||
@Schema(description = "建设状态")
|
@Schema(description = "建设状态")
|
||||||
private String bldsttCcodeName;
|
private String bldsttCcodeName;
|
||||||
|
|
||||||
|
|||||||
@ -563,6 +563,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
|||||||
String stnm = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "stnm");
|
String stnm = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "stnm");
|
||||||
String coenvwState = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "coenvwState");
|
String coenvwState = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "coenvwState");
|
||||||
String dtin = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "dtin");
|
String dtin = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "dtin");
|
||||||
|
String bldsttCcode = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "bldsttCcode");
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
boolean queryEngDirectly = "ENG".equalsIgnoreCase(sttpCode);
|
boolean queryEngDirectly = "ENG".equalsIgnoreCase(sttpCode);
|
||||||
boolean queryDwDirectly = StrUtil.isNotBlank(sttpCode) && sttpCode.toUpperCase().startsWith("DW_");
|
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 ('1', '10', '11') THEN '已建' ")
|
||||||
.append("WHEN dw.BLDSTT_CODE IN ('2', '7', '8') THEN '在建' ")
|
.append("WHEN dw.BLDSTT_CODE IN ('2', '7', '8') THEN '在建' ")
|
||||||
.append("ELSE '未建/规划' END AS bldsttCcodeName, ")
|
.append("ELSE '未建/规划' END AS bldsttCcodeName, ")
|
||||||
|
.append("dw.BLDSTT_CODE AS bldsttCcode, ")
|
||||||
.append("eng.HBRVCD AS hbrvcd ")
|
.append("eng.HBRVCD AS hbrvcd ")
|
||||||
.append("FROM SD_DFLTKW_B_H dw ")
|
.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 ")
|
.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);
|
paramMap.put("sttpCode", sttpCode);
|
||||||
sql.append("AND wt.STTP = #{map.sttpCode} ");
|
sql.append("AND wt.STTP = #{map.sttpCode} ");
|
||||||
}
|
}
|
||||||
if (queryDwDirectly && sttpCode != null && !sttpCode.isBlank()) {
|
if (queryDwDirectly && StrUtil.isNotBlank(sttpCode)) {
|
||||||
paramMap.put("sttpCode", sttpCode);
|
paramMap.put("sttpCode", sttpCode);
|
||||||
sql.append("AND dw.STTP = #{map.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()) {
|
if (rstcd != null && !rstcd.isBlank()) {
|
||||||
paramMap.put("rstcd", rstcd);
|
paramMap.put("rstcd", rstcd);
|
||||||
if (queryEngDirectly) {
|
if (queryEngDirectly) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user