fix: 视频监控设备分页查询
This commit is contained in:
parent
7d230273e8
commit
f03bb3f3dd
@ -4,6 +4,8 @@ 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;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Schema(description = "视频监控设备分组统计")
|
@Schema(description = "视频监控设备分组统计")
|
||||||
@ -22,4 +24,109 @@ public class VdVmsstbprptVo implements Serializable {
|
|||||||
|
|
||||||
@Schema(description = "站类数量")
|
@Schema(description = "站类数量")
|
||||||
private Integer countSttpCode;
|
private Integer countSttpCode;
|
||||||
|
|
||||||
|
@Schema(description = "站码")
|
||||||
|
private String stcd;
|
||||||
|
|
||||||
|
@Schema(description = "站名")
|
||||||
|
private String stnm;
|
||||||
|
|
||||||
|
@Schema(description = "监控类型")
|
||||||
|
private String mntp;
|
||||||
|
|
||||||
|
@Schema(description = "站类名称")
|
||||||
|
private String sttpName;
|
||||||
|
|
||||||
|
@Schema(description = "站类全路径")
|
||||||
|
private String sttpFullPath;
|
||||||
|
|
||||||
|
@Schema(description = "所属电站编码")
|
||||||
|
private String rstcd;
|
||||||
|
|
||||||
|
@Schema(description = "所属电站名称")
|
||||||
|
private String ennm;
|
||||||
|
|
||||||
|
@Schema(description = "基地编码")
|
||||||
|
private String baseId;
|
||||||
|
|
||||||
|
@Schema(description = "基地名称")
|
||||||
|
private String baseName;
|
||||||
|
|
||||||
|
@Schema(description = "基地流域编码")
|
||||||
|
private String hbrvcd;
|
||||||
|
|
||||||
|
@Schema(description = "流域编码")
|
||||||
|
private String rvcd;
|
||||||
|
|
||||||
|
@Schema(description = "行政区编码")
|
||||||
|
private String addvcd;
|
||||||
|
|
||||||
|
@Schema(description = "站址")
|
||||||
|
private String stlc;
|
||||||
|
|
||||||
|
@Schema(description = "经度")
|
||||||
|
private BigDecimal lgtd;
|
||||||
|
|
||||||
|
@Schema(description = "纬度")
|
||||||
|
private BigDecimal lttd;
|
||||||
|
|
||||||
|
@Schema(description = "高程")
|
||||||
|
private BigDecimal elev;
|
||||||
|
|
||||||
|
@Schema(description = "建成日期")
|
||||||
|
private Date jcdt;
|
||||||
|
|
||||||
|
@Schema(description = "撤站日期")
|
||||||
|
private Date wddt;
|
||||||
|
|
||||||
|
@Schema(description = "数据是否接入")
|
||||||
|
private Integer dtin;
|
||||||
|
|
||||||
|
@Schema(description = "数据是否接入中文")
|
||||||
|
private String dtinName;
|
||||||
|
|
||||||
|
@Schema(description = "是否启用")
|
||||||
|
private Integer usfl;
|
||||||
|
|
||||||
|
@Schema(description = "建设状态分类")
|
||||||
|
private Integer bldsttCcode;
|
||||||
|
|
||||||
|
@Schema(description = "建设状态中文")
|
||||||
|
private String bldsttCcodeName;
|
||||||
|
|
||||||
|
@Schema(description = "监测指标")
|
||||||
|
private String stindx;
|
||||||
|
|
||||||
|
@Schema(description = "简介")
|
||||||
|
private String introduce;
|
||||||
|
|
||||||
|
@Schema(description = "LOGO")
|
||||||
|
private String logo;
|
||||||
|
|
||||||
|
@Schema(description = "介绍附件")
|
||||||
|
private String inffile;
|
||||||
|
|
||||||
|
@Schema(description = "监测频次")
|
||||||
|
private Integer dtfrqcy;
|
||||||
|
|
||||||
|
@Schema(description = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
@Schema(description = "数据来源")
|
||||||
|
private String vlsr;
|
||||||
|
|
||||||
|
@Schema(description = "数据来源时间")
|
||||||
|
private Date vlsrTm;
|
||||||
|
|
||||||
|
@Schema(description = "基地排序")
|
||||||
|
private Integer baseStepSort;
|
||||||
|
|
||||||
|
@Schema(description = "电站排序")
|
||||||
|
private Integer rstcdStepSort;
|
||||||
|
|
||||||
|
@Schema(description = "站点排序")
|
||||||
|
private Integer siteStepSort;
|
||||||
|
|
||||||
|
@Schema(description = "来源表")
|
||||||
|
private String sourceTable;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package com.yfd.platform.qgc_env.vd.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.yfd.platform.common.DataSourceLoadOptionsBase;
|
import com.yfd.platform.common.DataSourceLoadOptionsBase;
|
||||||
import com.yfd.platform.common.DataSourceRequest;
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
import com.yfd.platform.common.DataSourceResult;
|
import com.yfd.platform.common.DataSourceResult;
|
||||||
@ -10,6 +11,7 @@ import com.yfd.platform.common.GroupingInfo;
|
|||||||
import com.yfd.platform.common.MicroservicDynamicSQLMapper;
|
import com.yfd.platform.common.MicroservicDynamicSQLMapper;
|
||||||
import com.yfd.platform.qgc_env.vd.entity.vo.VdVmsstbprptVo;
|
import com.yfd.platform.qgc_env.vd.entity.vo.VdVmsstbprptVo;
|
||||||
import com.yfd.platform.qgc_env.vd.service.VdMonitorService;
|
import com.yfd.platform.qgc_env.vd.service.VdMonitorService;
|
||||||
|
import com.yfd.platform.utils.QgcQueryWrapperUtil;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@ -29,64 +31,165 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
|||||||
public DataSourceResult<VdVmsstbprptVo> getVmsstbprptList(DataSourceRequest dataSourceRequest) {
|
public DataSourceResult<VdVmsstbprptVo> getVmsstbprptList(DataSourceRequest dataSourceRequest) {
|
||||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||||
GroupingInfo[] groups = loadOptions == null ? null : loadOptions.getGroup();
|
GroupingInfo[] groups = loadOptions == null ? null : loadOptions.getGroup();
|
||||||
|
|
||||||
StringBuilder sql = new StringBuilder();
|
|
||||||
sql.append("SELECT t.STTP_CODE AS sttpCode, COUNT(1) AS COUNT_STTPCODE ")
|
|
||||||
.append("FROM (")
|
|
||||||
.append(buildUnionBaseSql())
|
|
||||||
.append(") t ")
|
|
||||||
.append("WHERE 1 = 1 ");
|
|
||||||
|
|
||||||
Map<String, Object> paramMap = new HashMap<>();
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
String filterSql = buildFilterCondition(dataSourceRequest == null ? null : dataSourceRequest.getFilter(), paramMap, new int[]{0});
|
String filterSql = buildFilterCondition(dataSourceRequest == null ? null : dataSourceRequest.getFilter(), paramMap, new int[]{0});
|
||||||
|
|
||||||
|
if (groups != null && groups.length > 0) {
|
||||||
|
return buildGroupedResult(dataSourceRequest, groups, filterSql, paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
return buildDetailResult(dataSourceRequest, loadOptions, filterSql, paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private DataSourceResult<VdVmsstbprptVo> buildGroupedResult(DataSourceRequest dataSourceRequest,
|
||||||
|
GroupingInfo[] groups,
|
||||||
|
String filterSql,
|
||||||
|
Map<String, Object> paramMap) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
sql.append("SELECT t.sttpCode AS sttpCode, COUNT(1) AS count_sttpCode ")
|
||||||
|
.append("FROM (")
|
||||||
|
.append(buildVmsstbprptViewSql())
|
||||||
|
.append(") t ")
|
||||||
|
.append("WHERE 1 = 1 ");
|
||||||
if (StrUtil.isNotBlank(filterSql)) {
|
if (StrUtil.isNotBlank(filterSql)) {
|
||||||
sql.append(" AND ").append(filterSql).append(" ");
|
sql.append(" AND ").append(filterSql).append(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
sql.append(" GROUP BY t.STTP_CODE ");
|
sql.append(" GROUP BY t.sttpCode ");
|
||||||
sql.append(buildOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getGroup()));
|
sql.append(buildOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getGroup()));
|
||||||
|
|
||||||
List<Map<String, Object>> rows = microservicDynamicSQLMapper.pageAllList(null, sql.toString(), paramMap);
|
List<Map<String, Object>> rows = microservicDynamicSQLMapper.pageAllList(null, sql.toString(), paramMap);
|
||||||
DataSourceResult<VdVmsstbprptVo> result = new DataSourceResult<>();
|
DataSourceResult<VdVmsstbprptVo> result = new DataSourceResult<>();
|
||||||
if (groups != null && groups.length > 0) {
|
if (Boolean.TRUE.equals(dataSourceRequest.getGroupResultFlat())) {
|
||||||
if (Boolean.TRUE.equals(dataSourceRequest.getGroupResultFlat())) {
|
result.setData((List<VdVmsstbprptVo>) (List<?>) new GroupHelper().faltGroup(rows, Arrays.asList(groups)));
|
||||||
result.setData((List<VdVmsstbprptVo>) (List<?>) new GroupHelper().faltGroup(rows, Arrays.asList(groups)));
|
result.setTotal((long) rows.size());
|
||||||
result.setTotal((long) rows.size());
|
|
||||||
} else {
|
|
||||||
result.setData((List<VdVmsstbprptVo>) (List<?>) new GroupHelper().group(rows, Arrays.asList(groups)));
|
|
||||||
result.setTotal((long) rows.size());
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
List<VdVmsstbprptVo> data = new ArrayList<>();
|
result.setData((List<VdVmsstbprptVo>) (List<?>) new GroupHelper().group(rows, Arrays.asList(groups)));
|
||||||
for (Map<String, Object> row : rows) {
|
result.setTotal((long) rows.size());
|
||||||
VdVmsstbprptVo vo = new VdVmsstbprptVo();
|
|
||||||
Object sttpCode = row.get("STTPCODE");
|
|
||||||
Object count = row.get("COUNT_STTPCODE");
|
|
||||||
vo.setSttpCode(sttpCode == null ? null : sttpCode.toString());
|
|
||||||
vo.setSttpCodeValue(sttpCode == null ? null : sttpCode.toString());
|
|
||||||
vo.setSttpCodeExt(null);
|
|
||||||
vo.setCountSttpCode(count == null ? 0 : Integer.parseInt(count.toString()));
|
|
||||||
data.add(vo);
|
|
||||||
}
|
|
||||||
result.setData(data);
|
|
||||||
result.setTotal((long) data.size());
|
|
||||||
}
|
}
|
||||||
result.setAggregates(new HashMap<>());
|
result.setAggregates(new HashMap<>());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String buildUnionBaseSql() {
|
private DataSourceResult<VdVmsstbprptVo> buildDetailResult(DataSourceRequest dataSourceRequest,
|
||||||
return "SELECT vd.STCD, vd.STTP AS STTP_CODE, sttp.STTP_NAME, sttp.FULL_PATH " +
|
DataSourceLoadOptionsBase loadOptions,
|
||||||
"FROM SD_VDINFO_B vd " +
|
String filterSql,
|
||||||
"LEFT JOIN SD_STTP_B sttp ON sttp.STTP_CODE = vd.STTP " +
|
Map<String, Object> paramMap) {
|
||||||
" AND NVL(sttp.IS_DELETED, 0) = 0 AND NVL(sttp.ENABLE, 1) = 1 " +
|
Page<?> page = loadOptions == null ? null : QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||||
"WHERE NVL(vd.USFL, 1) = 1 AND vd.STTP = 'VD_FP' " +
|
StringBuilder sql = new StringBuilder();
|
||||||
|
sql.append("SELECT ")
|
||||||
|
.append("t.stcd AS stcd, ")
|
||||||
|
.append("t.stnm AS stnm, ")
|
||||||
|
.append("t.mntp AS mntp, ")
|
||||||
|
.append("t.sttpCode AS sttpCode, ")
|
||||||
|
.append("t.sttpName AS sttpName, ")
|
||||||
|
.append("t.sttpFullPath AS sttpFullPath, ")
|
||||||
|
.append("t.rstcd AS rstcd, ")
|
||||||
|
.append("t.ennm AS ennm, ")
|
||||||
|
.append("t.baseId AS baseId, ")
|
||||||
|
.append("t.baseName AS baseName, ")
|
||||||
|
.append("t.hbrvcd AS hbrvcd, ")
|
||||||
|
.append("t.rvcd AS rvcd, ")
|
||||||
|
.append("t.addvcd AS addvcd, ")
|
||||||
|
.append("t.stlc AS stlc, ")
|
||||||
|
.append("t.lgtd AS lgtd, ")
|
||||||
|
.append("t.lttd AS lttd, ")
|
||||||
|
.append("t.elev AS elev, ")
|
||||||
|
.append("t.jcdt AS jcdt, ")
|
||||||
|
.append("t.wddt AS wddt, ")
|
||||||
|
.append("t.dtin AS dtin, ")
|
||||||
|
.append("CASE WHEN NVL(t.dtin, 0) = 1 THEN '已接入' ELSE '未接入' END AS dtinName, ")
|
||||||
|
.append("t.usfl AS usfl, ")
|
||||||
|
.append("t.bldsttCcode AS bldsttCcode, ")
|
||||||
|
.append("CASE ")
|
||||||
|
.append("WHEN t.bldsttCcode IN (1, 10, 11) THEN '已建' ")
|
||||||
|
.append("WHEN t.bldsttCcode IN (2, 7, 8) THEN '在建' ")
|
||||||
|
.append("ELSE '未建/规划' END AS bldsttCcodeName, ")
|
||||||
|
.append("t.stindx AS stindx, ")
|
||||||
|
.append("t.introduce AS introduce, ")
|
||||||
|
.append("t.logo AS logo, ")
|
||||||
|
.append("t.inffile AS inffile, ")
|
||||||
|
.append("t.dtfrqcy AS dtfrqcy, ")
|
||||||
|
.append("t.remark AS remark, ")
|
||||||
|
.append("t.vlsr AS vlsr, ")
|
||||||
|
.append("t.vlsrTm AS vlsrTm, ")
|
||||||
|
.append("t.baseStepSort AS baseStepSort, ")
|
||||||
|
.append("t.rstcdStepSort AS rstcdStepSort, ")
|
||||||
|
.append("t.siteStepSort AS siteStepSort, ")
|
||||||
|
.append("t.sourceTable AS sourceTable ")
|
||||||
|
.append("FROM (")
|
||||||
|
.append(buildVmsstbprptViewSql())
|
||||||
|
.append(") t WHERE 1 = 1 ");
|
||||||
|
if (StrUtil.isNotBlank(filterSql)) {
|
||||||
|
sql.append(" AND ").append(filterSql).append(" ");
|
||||||
|
}
|
||||||
|
sql.append(buildDetailOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
||||||
|
|
||||||
|
List<VdVmsstbprptVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(
|
||||||
|
page, sql.toString(), paramMap, VdVmsstbprptVo.class);
|
||||||
|
DataSourceResult<VdVmsstbprptVo> result = new DataSourceResult<>();
|
||||||
|
result.setData(list);
|
||||||
|
result.setTotal(page != null ? page.getTotal() : list.size());
|
||||||
|
result.setAggregates(new HashMap<>());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String buildVmsstbprptViewSql() {
|
||||||
|
return "SELECT " +
|
||||||
|
"src.STCD AS stcd, " +
|
||||||
|
"src.STNM AS stnm, " +
|
||||||
|
"src.MNTP AS mntp, " +
|
||||||
|
"src.STTP AS sttpCode, " +
|
||||||
|
"sttp.STTP_NAME AS sttpName, " +
|
||||||
|
"sttp.FULL_PATH AS sttpFullPath, " +
|
||||||
|
"src.RSTCD AS rstcd, " +
|
||||||
|
"eng.ENNM AS ennm, " +
|
||||||
|
"NVL(eng.BASE_ID, src.BASE_ID) AS baseId, " +
|
||||||
|
"hb.BASENAME AS baseName, " +
|
||||||
|
"NVL(eng.HBRVCD, src.HBRVCD) AS hbrvcd, " +
|
||||||
|
"NVL(eng.RVCD, src.RVCD) AS rvcd, " +
|
||||||
|
"NVL(eng.ADDVCD, src.ADDVCD) AS addvcd, " +
|
||||||
|
"src.STLC AS stlc, " +
|
||||||
|
"src.LGTD AS lgtd, " +
|
||||||
|
"src.LTTD AS lttd, " +
|
||||||
|
"src.ELEV AS elev, " +
|
||||||
|
"src.JCDT AS jcdt, " +
|
||||||
|
"src.WDDT AS wddt, " +
|
||||||
|
"src.DTIN AS dtin, " +
|
||||||
|
"src.USFL AS usfl, " +
|
||||||
|
"src.BLDSTT_CODE AS bldsttCcode, " +
|
||||||
|
"src.STINDX AS stindx, " +
|
||||||
|
"src.INTRODUCE AS introduce, " +
|
||||||
|
"src.LOGO AS logo, " +
|
||||||
|
"src.INFFILE AS inffile, " +
|
||||||
|
"src.DTFRQCY AS dtfrqcy, " +
|
||||||
|
"src.REMARK AS remark, " +
|
||||||
|
"src.VLSR AS vlsr, " +
|
||||||
|
"src.VLSR_TM AS vlsrTm, " +
|
||||||
|
"NVL(hb.ORDER_INDEX, 999999) AS baseStepSort, " +
|
||||||
|
"NVL(eng.ORDER_INDEX, 999999) AS rstcdStepSort, " +
|
||||||
|
"NVL(src.ORDER_INDEX, 999999) AS siteStepSort, " +
|
||||||
|
"src.SOURCE_TABLE AS sourceTable " +
|
||||||
|
"FROM (" +
|
||||||
|
"SELECT vd.STCD, vd.STNM, vd.MNTP, vd.STTP, vd.LGTD, vd.LTTD, vd.ELEV, vd.STLC, " +
|
||||||
|
" vd.JCDT, vd.WDDT, vd.BLDSTT_CODE, vd.USFL, vd.DTIN, vd.STINDX, vd.RSTCD, vd.BASE_ID, " +
|
||||||
|
" vd.HBRVCD, vd.RVCD, vd.ADDVCD, CAST(NULL AS VARCHAR2(3000)) AS INTRODUCE, " +
|
||||||
|
" CAST(NULL AS VARCHAR2(255)) AS LOGO, CAST(NULL AS VARCHAR2(1000)) AS INFFILE, " +
|
||||||
|
" vd.DTFRQCY, vd.REMARK, vd.VLSR, vd.VLSR_TM, CAST(NULL AS NUMBER(8,0)) AS ORDER_INDEX, " +
|
||||||
|
" 'SD_VDINFO_B' AS SOURCE_TABLE " +
|
||||||
|
"FROM SD_VDINFO_B vd WHERE vd.STTP = 'VD_FP' " +
|
||||||
"UNION ALL " +
|
"UNION ALL " +
|
||||||
"SELECT sonar.STCD, sonar.STTP AS STTP_CODE, sttp.STTP_NAME, sttp.FULL_PATH " +
|
"SELECT sonar.STCD, sonar.STNM, sonar.MNTP, sonar.STTP, sonar.LGTD, sonar.LTTD, sonar.ELEV, sonar.STLC, " +
|
||||||
"FROM SD_SONAR_B_H sonar " +
|
" sonar.JCDT, sonar.WDDT, sonar.BLDSTT_CODE, sonar.USFL, sonar.DTIN, sonar.STINDX, sonar.RSTCD, sonar.BASE_ID, " +
|
||||||
"LEFT JOIN SD_STTP_B sttp ON sttp.STTP_CODE = sonar.STTP " +
|
" sonar.HBRVCD, sonar.RVCD, sonar.ADDVCD, sonar.INTRODUCE, sonar.LOGO, sonar.INFFILE, " +
|
||||||
" AND NVL(sttp.IS_DELETED, 0) = 0 AND NVL(sttp.ENABLE, 1) = 1 " +
|
" sonar.DTFRQCY, sonar.REMARK, sonar.VLSR, sonar.VLSR_TM, sonar.ORDER_INDEX, " +
|
||||||
"WHERE NVL(sonar.IS_DELETED, 0) = 0 AND sonar.STTP IN ('VD_WVD', 'VD_SN') ";
|
" 'SD_SONAR_B_H' AS SOURCE_TABLE " +
|
||||||
|
"FROM SD_SONAR_B_H sonar WHERE NVL(sonar.IS_DELETED, 0) = 0 AND sonar.STTP IN ('VD_WVD', 'VD_SN') " +
|
||||||
|
") src " +
|
||||||
|
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = src.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 " +
|
||||||
|
"LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = eng.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 " +
|
||||||
|
"LEFT JOIN SD_STTP_B sttp ON sttp.STTP_CODE = src.STTP " +
|
||||||
|
" AND NVL(sttp.IS_DELETED, 0) = 0 AND NVL(sttp.ENABLE, 1) = 1 ";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String buildFilterCondition(DataSourceRequest.FilterDescriptor filter,
|
private String buildFilterCondition(DataSourceRequest.FilterDescriptor filter,
|
||||||
@ -201,17 +304,29 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return switch (field) {
|
return switch (field) {
|
||||||
case "sttpCode" -> "t.STTP_CODE";
|
case "sttpCode" -> "t.sttpCode";
|
||||||
case "sttpName" -> "t.STTP_NAME";
|
case "sttpName" -> "t.sttpName";
|
||||||
case "sttpFullPath" -> "t.FULL_PATH";
|
case "sttpFullPath" -> "t.sttpFullPath";
|
||||||
case "stcd" -> "t.STCD";
|
case "stcd" -> "t.stcd";
|
||||||
|
case "stnm" -> "t.stnm";
|
||||||
|
case "rstcd" -> "t.rstcd";
|
||||||
|
case "ennm" -> "t.ennm";
|
||||||
|
case "baseId" -> "t.baseId";
|
||||||
|
case "baseName" -> "t.baseName";
|
||||||
|
case "hbrvcd" -> "t.hbrvcd";
|
||||||
|
case "rvcd" -> "t.rvcd";
|
||||||
|
case "addvcd" -> "t.addvcd";
|
||||||
|
case "dtin" -> "t.dtin";
|
||||||
|
case "usfl" -> "t.usfl";
|
||||||
|
case "bldsttCcode" -> "t.bldsttCcode";
|
||||||
|
case "sourceTable" -> "t.sourceTable";
|
||||||
default -> null;
|
default -> null;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private String buildOrderBySql(List<DataSourceRequest.GroupDescriptor> groups) {
|
private String buildOrderBySql(List<DataSourceRequest.GroupDescriptor> groups) {
|
||||||
if (CollUtil.isEmpty(groups)) {
|
if (CollUtil.isEmpty(groups)) {
|
||||||
return " ORDER BY t.STTP_CODE ASC";
|
return " ORDER BY t.sttpCode ASC";
|
||||||
}
|
}
|
||||||
List<String> orderItems = new ArrayList<>();
|
List<String> orderItems = new ArrayList<>();
|
||||||
for (DataSourceRequest.GroupDescriptor group : groups) {
|
for (DataSourceRequest.GroupDescriptor group : groups) {
|
||||||
@ -226,7 +341,29 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
|||||||
orderItems.add(column + " " + direction);
|
orderItems.add(column + " " + direction);
|
||||||
}
|
}
|
||||||
if (orderItems.isEmpty()) {
|
if (orderItems.isEmpty()) {
|
||||||
return " ORDER BY t.STTP_CODE ASC";
|
return " ORDER BY t.sttpCode ASC";
|
||||||
|
}
|
||||||
|
return " ORDER BY " + String.join(", ", orderItems);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String buildDetailOrderBySql(List<DataSourceRequest.SortDescriptor> sortList) {
|
||||||
|
if (CollUtil.isEmpty(sortList)) {
|
||||||
|
return " ORDER BY t.baseStepSort ASC, t.rstcdStepSort ASC, t.siteStepSort ASC, t.stcd ASC";
|
||||||
|
}
|
||||||
|
List<String> orderItems = new ArrayList<>();
|
||||||
|
for (DataSourceRequest.SortDescriptor sort : sortList) {
|
||||||
|
if (sort == null || StrUtil.isBlank(sort.getField())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String column = mapColumn(sort.getField());
|
||||||
|
if (StrUtil.isBlank(column)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String direction = "desc".equalsIgnoreCase(sort.getDir()) ? "DESC" : "ASC";
|
||||||
|
orderItems.add(column + " " + direction);
|
||||||
|
}
|
||||||
|
if (orderItems.isEmpty()) {
|
||||||
|
return " ORDER BY t.baseStepSort ASC, t.rstcdStepSort ASC, t.siteStepSort ASC, t.stcd ASC";
|
||||||
}
|
}
|
||||||
return " ORDER BY " + String.join(", ", orderItems);
|
return " ORDER BY " + String.join(", ", orderItems);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user