Merge branch 'dev-tw'
This commit is contained in:
commit
36892c222d
@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||
import com.yfd.platform.utils.SecurityUtils;
|
||||
import org.springframework.cache.CacheManager;
|
||||
import org.springframework.cache.annotation.EnableCaching;
|
||||
import org.springframework.cache.interceptor.KeyGenerator;
|
||||
@ -114,4 +115,9 @@ public class RedisConfig {
|
||||
public KeyGenerator cacheKeyGenerator() {
|
||||
return (target, method, params) -> target.getClass().getName() + "." + method.getName() + ":" + DigestUtil.md5Hex(JSONUtil.toJsonStr(params));
|
||||
}
|
||||
|
||||
@Bean("cacheKeyByUserGenerator")
|
||||
public KeyGenerator cacheKeyByUserGenerator() {
|
||||
return (target, method, params) -> SecurityUtils.getUserId()+"."+target.getClass().getName() + "." + method.getName() + ":" + DigestUtil.md5Hex(JSONUtil.toJsonStr(params));
|
||||
}
|
||||
}
|
||||
@ -59,6 +59,10 @@ public class EngPointVo {
|
||||
@Schema(description = "所属行政区名称")
|
||||
private String addvcdName;
|
||||
|
||||
@Schema(description = "基地名称")
|
||||
private String baseName;
|
||||
|
||||
|
||||
@Schema(description = "站点类型")
|
||||
private String sttp;
|
||||
|
||||
|
||||
@ -1081,7 +1081,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
||||
"t.DTIN AS dtin, " +
|
||||
"t.DTIN_TM AS dtinTm, " +
|
||||
"t.BLDSTT_CODE AS bldsttCode, " +
|
||||
"CASE WHEN t.BLDSTT_CODE =2 THEN '已建' WHEN t.BLDSTT_CODE =1 THEN '在建' ELSE '未建/规划' END AS bldsttCcodeName, " +
|
||||
"CASE WHEN t.BLDSTT_CODE = 2 THEN '已建' WHEN t.BLDSTT_CODE = 1 THEN '在建' ELSE '未建/规划' END AS bldsttCcodeName, " +
|
||||
"t.INTRODUCE AS introduce, " +
|
||||
"t.LOGO AS logo, " +
|
||||
"t.INFFILE AS inffile, " +
|
||||
@ -1095,6 +1095,9 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
||||
"t.WDDT AS wddt, " +
|
||||
"t.ORDER_INDEX AS orderIndex, " +
|
||||
"t.REMARK AS remark, " +
|
||||
"t.STINDX AS stindx, " +
|
||||
"t.COENVW_STATE AS coenvwState, " +
|
||||
"CASE t.DVTP WHEN '1' THEN '堤坝式' WHEN '2' THEN '引水式' WHEN '3' THEN '混合式' ELSE '未知' END AS dvtpName, " +
|
||||
"t.VLSR AS vlsr, " +
|
||||
"t.VLSR_TM AS vlsrTm, " +
|
||||
"t.RECORD_USER AS recordUser, " +
|
||||
@ -1256,7 +1259,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
||||
"CAST(NULL AS NUMBER) AS ddz, " +
|
||||
"eng.NRZAR AS nrzar, " +
|
||||
"eng.BCKLEN AS bcklen, " +
|
||||
"CAST(NULL AS NUMBER) AS ttcp, " +
|
||||
"rbh.TTCP AS ttcp, " +
|
||||
"CAST(NULL AS NUMBER) AS nmzcp, " +
|
||||
"CAST(NULL AS VARCHAR2(255)) AS fldcpStr, " +
|
||||
"CAST(NULL AS NUMBER) AS actcp, " +
|
||||
@ -1323,19 +1326,20 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
||||
"LEFT JOIN SD_HYCD_DIC hy ON hy.HYCD = eng.HYCD AND NVL(hy.IS_DELETED, 0) = 0 AND NVL(hy.ENABLED, 1) = 1 " +
|
||||
"LEFT JOIN SD_HYCD_DIC topHy ON topHy.HYCD = eng.TOP_HYCD AND NVL(topHy.IS_DELETED, 0) = 0 AND NVL(topHy.ENABLED, 1) = 1 " +
|
||||
"LEFT JOIN SD_PWR_B_H pwr ON pwr.STCD = eng.STCD AND NVL(pwr.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN SD_RSVRFCCH_B_H rbh ON rbh.STCD = eng.STCD " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = eng.STCD " +
|
||||
") rstSort ON rstSort.BASEID = eng.BASE_ID AND rstSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = eng.STCD " +
|
||||
") siteSort ON siteSort.BASEID = eng.BASE_ID AND siteSort.STCD = eng.STCD " +
|
||||
"WHERE NVL(eng.IS_DELETED, 0) = 0";
|
||||
}
|
||||
|
||||
@ -2148,19 +2152,19 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
||||
"LEFT JOIN SD_ENGINFO_B_H s ON e.STCD = s.STCD AND NVL(s.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN SD_STTP_B sttp ON sttp.STTP_CODE = 'ENG' AND NVL(sttp.IS_DELETED, 0) = 0 AND NVL(sttp.ENABLE, 1) = 1 " +
|
||||
"LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = s.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.RVCD = s.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = e.BASEID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = s.HBRVCD AND rstSort.STCD = s.STCD " +
|
||||
") rstSort ON rstSort.BASEID = e.BASEID AND rstSort.STCD = s.STCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = s.HBRVCD AND siteSort.STCD = s.STCD " +
|
||||
") siteSort ON siteSort.BASEID = e.BASEID AND siteSort.STCD = s.STCD " +
|
||||
"WHERE NVL(e.IS_DELETED, 0) = 0";
|
||||
}
|
||||
|
||||
@ -2839,6 +2843,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
||||
}
|
||||
|
||||
@Override
|
||||
@Cacheable(cacheNames = "engPointCache#3600", keyGenerator = "cacheKeyByUserGenerator")
|
||||
public DataSourceResult<EngPointVo> getEngPointKendoListCust(DataSourceRequest dataSourceRequest) {
|
||||
DataSourceResult<EngPointVo> result = new DataSourceResult<>();
|
||||
result.setAggregates(new HashMap<>());
|
||||
@ -2857,6 +2862,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
||||
.append("t.ENNM AS stnm, ")
|
||||
.append("t.ENNM AS titleName, ")
|
||||
.append("t.RVCD AS rvcd, ")
|
||||
.append("t.BASE_NAME AS baseName, ")
|
||||
.append("t.ADDVCD AS addvcd, ")
|
||||
.append("t.LGTD AS lgtd, ")
|
||||
.append("t.LTTD AS lttd, ")
|
||||
@ -2894,19 +2900,19 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
||||
.append("FROM SD_ENGINFO_B_H t ")
|
||||
.append("LEFT JOIN SD_PWR_B_H p ON t.STCD = p.STCD AND NVL(p.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = t.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN MS_ALONG_B along ON along.RVCD = t.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN MS_ALONG_B along ON along.BASEID = t.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN ( ")
|
||||
.append(" SELECT det.SORT, cfg.RVCD, det.STCD ")
|
||||
.append(" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' ")
|
||||
.append(") rstSort ON rstSort.RVCD = t.HBRVCD AND rstSort.STCD = t.STCD ")
|
||||
.append(") rstSort ON rstSort.BASEID = t.BASE_ID AND rstSort.STCD = t.STCD ")
|
||||
.append("LEFT JOIN ( ")
|
||||
.append(" SELECT det.SORT, cfg.RVCD, det.STCD ")
|
||||
.append(" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' ")
|
||||
.append(") siteSort ON siteSort.RVCD = t.HBRVCD AND siteSort.STCD = t.STCD ")
|
||||
.append(") siteSort ON siteSort.BASEID = t.BASE_ID AND siteSort.STCD = t.STCD ")
|
||||
.append("LEFT JOIN ( ")
|
||||
.append(" SELECT STCD, COUNT(STCD) AS configCount ")
|
||||
.append(" FROM SD_EQ_B_H ")
|
||||
@ -2975,10 +2981,15 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
||||
startTime = yearRange.get("startTime");
|
||||
endTime = yearRange.get("endTime");
|
||||
}
|
||||
|
||||
DataSourceResult<EngAlarmPointVo> result = new DataSourceResult<>();
|
||||
Map<String, Object> pointParamMap = new HashMap<>();
|
||||
StringBuilder pointSql = new StringBuilder(buildAlarmPointBaseSql());
|
||||
// DataScopeApplyResult scopeApplyResult = dataScopeFilterService.appendCurrentUserStationScope(pointSql, pointParamMap, "eng.STCD");
|
||||
DataScopeApplyResult scopeApplyResult = dataScopeFilterService.appendCurrentUserStationScope(pointSql, pointParamMap, "eng.STCD");
|
||||
if (scopeApplyResult.isEmptyResult()) {
|
||||
result.setData(new ArrayList<>());
|
||||
result.setTotal(0L);
|
||||
return result;
|
||||
}
|
||||
List<EngAlarmPointVo> points= microservicDynamicSQLMapper.getAllListWithResultType(
|
||||
pointSql.toString(),
|
||||
pointParamMap,
|
||||
@ -3004,7 +3015,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
||||
List<Map<String, Object>> expressionRows = microservicDynamicSQLMapper.getAllList(buildAlarmPointLegendSql(), new HashMap<>());
|
||||
List<EngAlarmPointVo> resultList = mergeAlarmPointData(points, qecCountMap, wqCountMap, expressionRows, yyyy);
|
||||
|
||||
DataSourceResult<EngAlarmPointVo> result = new DataSourceResult<>();
|
||||
|
||||
result.setData(resultList);
|
||||
result.setTotal(resultList.size());
|
||||
result.setAggregates(new HashMap<>());
|
||||
@ -3045,19 +3056,19 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
||||
"NVL(siteSort.SORT, 999999) AS siteStepSort " +
|
||||
"FROM SD_ENGINFO_B_H eng " +
|
||||
"LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = eng.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = eng.STCD " +
|
||||
") rstSort ON rstSort.BASEID = eng.BASE_ID AND rstSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = eng.STCD " +
|
||||
") siteSort ON siteSort.BASEID = eng.BASE_ID AND siteSort.STCD = eng.STCD " +
|
||||
"WHERE NVL(eng.IS_DELETED, 0) = 0 " +
|
||||
"AND NVL(eng.USFL, 0) = 1 " +
|
||||
"AND eng.LGTD IS NOT NULL " +
|
||||
|
||||
@ -4,6 +4,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@Schema(description = "电站统计查询")
|
||||
@ -26,9 +28,22 @@ public class EngEqVmsstbprptVo implements Serializable {
|
||||
@Schema(description = "工程名称")
|
||||
private String ennm;
|
||||
|
||||
@Schema(description = "总投运容量")
|
||||
private Double ttcp;
|
||||
|
||||
@Schema(description = "基地编码")
|
||||
private String baseId;
|
||||
|
||||
/**
|
||||
* 开发方式 字典编码:sd_enginfo_b_h.dvtp 1=堤坝式 2=引水式 3=混合式
|
||||
*/
|
||||
@Schema(description = "开发方式")
|
||||
private String dvtp;
|
||||
|
||||
|
||||
@Schema(description = "开发方式名称")
|
||||
private String dvtpName;
|
||||
|
||||
@Schema(description = "基地名称")
|
||||
private String baseName;
|
||||
|
||||
@ -38,6 +53,12 @@ public class EngEqVmsstbprptVo implements Serializable {
|
||||
@Schema(description = "基地流域名称")
|
||||
private String hbrvcdName;
|
||||
|
||||
@Schema(description = "行政区")
|
||||
private String addvcd;
|
||||
|
||||
@Schema(description = "行政区名称")
|
||||
private String addvcdName;
|
||||
|
||||
@Schema(description = "流域编码")
|
||||
private String rvcd;
|
||||
|
||||
@ -50,15 +71,30 @@ public class EngEqVmsstbprptVo implements Serializable {
|
||||
@Schema(description = "建设状态")
|
||||
private String bldstt;
|
||||
|
||||
@Schema(description = "装机容量")
|
||||
private BigDecimal ttpwr;
|
||||
|
||||
@Schema(description = "建设状态分类")
|
||||
private Integer bldsttCcode;
|
||||
|
||||
@Schema(description = "建设状态分类")
|
||||
private String bldsttCcodeName;
|
||||
|
||||
@Schema(description = "环保数据接入状态")
|
||||
private Integer dtinEnv;
|
||||
|
||||
@Schema(description = "接入状态")
|
||||
private Integer dtin;
|
||||
|
||||
@Schema(description = "多年平均发电量")
|
||||
private BigDecimal yrge;
|
||||
|
||||
@Schema(description = "首台机组投运时间")
|
||||
private Date piodt;
|
||||
|
||||
@Schema(description = "所有机组投运时间")
|
||||
private Date aiodt;
|
||||
|
||||
@Schema(description = "基地排序")
|
||||
private Integer baseStepSort;
|
||||
|
||||
|
||||
@ -1122,7 +1122,7 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
||||
.append("WHERE NVL(eng.IS_DELETED, 0) = 0 ")
|
||||
.append("AND NVL(eng.DTIN, 0) = 1 ")
|
||||
.append("AND NVL(eng.BLDSTT_CODE, 0) IN (1, 2) ")
|
||||
.append("AND EXISTS (SELECT 1 FROM SD_QEC_R qec WHERE qec.STCD = eng.STCD AND NVL(qec.IS_DELETED, 0) = 0) ");
|
||||
.append("AND RUN_STATE = 4 ");
|
||||
if (StrUtil.isNotBlank(baseId)) {
|
||||
sql.append("AND eng.BASE_ID = #{map.baseId} ");
|
||||
paramMap.put("baseId", baseId);
|
||||
@ -1863,19 +1863,19 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
||||
"LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = eng.HBRVCD AND hbrv.BASEID = eng.BASE_ID " +
|
||||
" AND NVL(hbrv.IS_DELETED, 0) = 0 AND NVL(hbrv.ENABLED, 1) = 1 " +
|
||||
"LEFT JOIN SD_ADDVCD_DIC addv ON addv.ADDVCD = eng.ADDVCD " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = eng.STCD " +
|
||||
") rstSort ON rstSort.BASEID = eng.BASE_ID AND rstSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = eng.STCD " +
|
||||
") siteSort ON siteSort.BASEID = eng.BASE_ID AND siteSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN (" + buildDayMetricSourceSql(filter, paramMap, indexHolder, 0) + ") met ON met.STCD = eng.STCD " +
|
||||
"LEFT JOIN (" + buildDayRunSourceSql(filter, paramMap, indexHolder, 0) + ") runAgg ON runAgg.STCD = eng.STCD " +
|
||||
"LEFT JOIN (" + buildStaticRuleSql("EQMN") + ") qecNoRule ON qecNoRule.STCD = eng.STCD " +
|
||||
@ -2215,19 +2215,19 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
||||
"LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = eng.HBRVCD AND hbrv.BASEID = eng.BASE_ID " +
|
||||
" AND NVL(hbrv.IS_DELETED, 0) = 0 AND NVL(hbrv.ENABLED, 1) = 1 " +
|
||||
"LEFT JOIN SD_ADDVCD_DIC addv ON addv.ADDVCD = eng.ADDVCD " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = eng.STCD " +
|
||||
") rstSort ON rstSort.BASEID = eng.BASE_ID AND rstSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = eng.STCD " +
|
||||
") siteSort ON siteSort.BASEID = eng.BASE_ID AND siteSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN (" + buildHourMetricSourceSql(filter, paramMap, indexHolder, 0) + ") met ON met.STCD = eng.STCD " +
|
||||
"LEFT JOIN (" + buildHourRunSourceSql(filter, paramMap, indexHolder, 0) + ") runAgg ON runAgg.STCD = eng.STCD " +
|
||||
"LEFT JOIN (" + buildStaticRuleSql("EQMN") + ") qecNoRule ON qecNoRule.STCD = eng.STCD " +
|
||||
@ -2894,19 +2894,19 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
||||
"LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = eng.HBRVCD AND hbrv.BASEID = eng.BASE_ID " +
|
||||
" AND NVL(hbrv.IS_DELETED, 0) = 0 AND NVL(hbrv.ENABLED, 1) = 1 " +
|
||||
"LEFT JOIN SD_ADDVCD_DIC addv ON addv.ADDVCD = eng.ADDVCD " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = eng.STCD " +
|
||||
") rstSort ON rstSort.BASEID = eng.BASE_ID AND rstSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = eng.STCD " +
|
||||
") siteSort ON siteSort.BASEID = eng.BASE_ID AND siteSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN (" + buildIntervalMetricSourceSql(filter, paramMap, indexHolder, 0) + ") met ON met.STCD = eng.STCD " +
|
||||
"LEFT JOIN (" + beforeMetricSql + ") beforeMet ON beforeMet.STCD = eng.STCD " +
|
||||
"LEFT JOIN (" + buildIntervalNoRuleSql() + ") qecNoRule ON qecNoRule.STCD = eng.STCD " +
|
||||
@ -3371,7 +3371,11 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
||||
"'电站' AS sttpName, " +
|
||||
"eng.STCD AS stcd, " +
|
||||
"pbh.TTPWR AS ttpwr, " +
|
||||
"pbh.YRGE AS yrge, " +
|
||||
"eng.ENNM AS stnm, " +
|
||||
"eng.PIODT AS piodt, " +
|
||||
"rbh.TTCP AS ttcp,"+
|
||||
"eng.AIODT AS aiodt, " +
|
||||
"eng.ENNM AS ennm, " +
|
||||
"eng.BASE_ID AS baseId, " +
|
||||
"hb.BASENAME AS baseName, " +
|
||||
@ -3380,22 +3384,31 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
||||
"eng.RVCD AS rvcd, " +
|
||||
"rv.RVNM AS rvcdName, " +
|
||||
"eng.PRSC AS prsc, " +
|
||||
"eng.DVTP AS dvtp, " +
|
||||
"eng.ADDVCD AS addvcd, " +
|
||||
"ad.ADDVNM AS addvcdName, " +
|
||||
"CASE eng.DVTP WHEN '1' THEN '堤坝式' WHEN '2' THEN '引水式' WHEN '3' THEN '混合式' ELSE '未知' END AS dvtpName,"+
|
||||
"eng.RUN_STATE AS runState, " +
|
||||
"eng.BLDSTT AS bldstt, " +
|
||||
"eng.BLDSTT_CODE AS bldsttCcode, " +
|
||||
"CASE WHEN eng.BLDSTT_CODE =2 THEN '已建' WHEN eng.BLDSTT_CODE =1 THEN '在建' ELSE '未建/规划' END AS bldsttCcodeName, " +
|
||||
"eng.DTIN_ENV AS dtinEnv, " +
|
||||
"eng.DTIN AS dtin, " +
|
||||
"NVL(hb.ORDER_INDEX, 999999) AS baseStepSort, " +
|
||||
"NVL(along.ORDER_INDEX, 999999) AS rvcdStepSort, " +
|
||||
"NVL(eng.ORDER_INDEX, 999999) AS rstcdStepSort, " +
|
||||
"NVL(eng.ORDER_INDEX, 999999) AS siteStepSort " +
|
||||
"NVL(c.SORT, 999999) AS rstcdStepSort, " +
|
||||
"NVL(d.SORT, 999999) AS siteStepSort " +
|
||||
"FROM SD_ENGINFO_B_H eng " +
|
||||
"INNER JOIN SD_PWR_B_H pbh ON pbh.STCD= eng.STCD " +
|
||||
"LEFT JOIN SD_RSVRFCCH_B_H rbh ON rbh.STCD= eng.STCD " +
|
||||
"LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = eng.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = eng.HBRVCD AND hbrv.BASEID = eng.BASE_ID " +
|
||||
"LEFT JOIN SD_ADDVCD_DIC ad ON ad.ADDVCD = eng.ADDVCD" +
|
||||
" 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 MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN (select c.SORT,d.BASEID,d.RVCD,c.STCD from MS_ALONGDET_B c inner join MS_ALONG_B d on c.ALONG_ID=d.ID where c.IS_DELETED=0 and d.IS_DELETED=0 and d.CODE='common') c on c.BASEID=eng.BASE_ID and c.stcd=eng.STCD \n" +
|
||||
"LEFT JOIN (select c.SORT,d.BASEID,d.RVCD,c.STCD from MS_ALONGDET_B c inner join MS_ALONG_B d on c.ALONG_ID=d.ID where c.IS_DELETED=0 and d.IS_DELETED=0 and d.CODE='common') d on d.BASEID=eng.BASE_ID and d.stcd=eng.STCD "+
|
||||
"WHERE NVL(eng.IS_DELETED, 0) = 0";
|
||||
}
|
||||
|
||||
@ -3424,7 +3437,11 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
||||
columns.put("sttpName", "t.sttpName AS sttpName");
|
||||
columns.put("stcd", "t.stcd AS stcd");
|
||||
columns.put("stnm", "t.stnm AS stnm");
|
||||
columns.put("yrge", "t.yrge AS yrge");
|
||||
columns.put("piodt", "t.piodt AS piodt");
|
||||
columns.put("aiodt", "t.aiodt AS aiodt");
|
||||
columns.put("ennm", "t.ennm AS ennm");
|
||||
columns.put("ttcp", "t.ttcp AS ttcp");
|
||||
columns.put("baseId", "t.baseId AS baseId");
|
||||
columns.put("baseName", "t.baseName AS baseName");
|
||||
columns.put("hbrvcd", "t.hbrvcd AS hbrvcd");
|
||||
@ -3432,8 +3449,14 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
||||
columns.put("rvcd", "t.rvcd AS rvcd");
|
||||
columns.put("rvcdName", "t.rvcdName AS rvcdName");
|
||||
columns.put("prsc", "t.prsc AS prsc");
|
||||
columns.put("dvtp", "t.dvtp AS dvtp");
|
||||
columns.put("dvtpName", "t.dvtpName AS dvtpName");
|
||||
columns.put("addvcd", "t.addvcd AS addvcd");
|
||||
columns.put("addvcdName", "t.addvcdName AS addvcdName");
|
||||
columns.put("bldstt", "t.bldstt AS bldstt");
|
||||
columns.put("ttpwr", "t.ttpwr AS ttpwr");
|
||||
columns.put("bldsttCcode", "t.bldsttCcode AS bldsttCcode");
|
||||
columns.put("bldsttCcodeName", "t.bldsttCcodeName AS bldsttCcodeName");
|
||||
columns.put("dtin", "t.dtin AS dtin");
|
||||
columns.put("runState", "t.runState AS runState");
|
||||
columns.put("dtinEnv", "t.dtinEnv AS dtinEnv");
|
||||
@ -3848,20 +3871,20 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
||||
" 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 = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD " +
|
||||
") rstSort ON rstSort.BASEID = eng.BASE_ID " +
|
||||
" AND rstSort.STCD = eng.STCD "+
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = eng.STCD " +
|
||||
") siteSort ON siteSort.BASEID = eng.BASE_ID AND siteSort.STCD = eng.STCD " +
|
||||
"INNER JOIN SD_QEC_R sqr ON sqr.STCD = eng.STCD " +
|
||||
"LEFT JOIN SD_HYDROPW_R shr ON shr.STCD = sqr.STCD AND shr.TM = sqr.TM AND NVL(shr.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN SD_QEC_R bsqr ON bsqr.STCD = sqr.STCD AND ADD_MONTHS(bsqr.TM, 12) = sqr.TM AND NVL(bsqr.IS_DELETED, 0) = 0 ";
|
||||
@ -3913,19 +3936,19 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
||||
" 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 = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = eng.STCD " +
|
||||
") rstSort ON rstSort.BASEID = eng.BASE_ID AND rstSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = eng.STCD " +
|
||||
") siteSort ON siteSort.BASEID = eng.BASE_ID AND siteSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN (" + buildDayRunDaySql() + ") runDay ON runDay.STCD = day.STCD AND runDay.DT = day.DT " +
|
||||
"LEFT JOIN SD_QECDAY_S beforeDay ON beforeDay.STCD = day.STCD " +
|
||||
" AND ADD_MONTHS(beforeDay.DT, 12) = day.DT AND NVL(beforeDay.IS_DELETED, 0) = 0 " +
|
||||
@ -3979,19 +4002,19 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
||||
" 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 = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = eng.STCD " +
|
||||
") rstSort ON rstSort.BASEID = eng.BASE_ID AND rstSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = eng.STCD " +
|
||||
") siteSort ON siteSort.BASEID = eng.BASE_ID AND siteSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN SD_HYDROPWDRTP_S runDrtp ON drtp.STCD = runDrtp.STCD " +
|
||||
" AND drtp.DRTP = runDrtp.DRTP " +
|
||||
" AND NVL(drtp.DR, -1) = NVL(runDrtp.DR, -1) " +
|
||||
@ -5926,19 +5949,19 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
||||
.append("FROM SD_EQ_B_H a ")
|
||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = a.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = eng.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN MS_ALONG_B along ON along.BASEID = a.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN ( ")
|
||||
.append(" SELECT det.SORT, cfg.RVCD, det.STCD ")
|
||||
.append(" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' ")
|
||||
.append(") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = a.RSTCD ")
|
||||
.append(") rstSort ON rstSort.BASEID = a.BASE_ID AND rstSort.STCD = a.RSTCD ")
|
||||
.append("LEFT JOIN ( ")
|
||||
.append(" SELECT det.SORT, cfg.RVCD, det.STCD ")
|
||||
.append(" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' ")
|
||||
.append(") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = a.STCD ")
|
||||
.append(") siteSort ON siteSort.BASEID = a.BASE_ID AND siteSort.STCD = a.STCD ")
|
||||
.append("WHERE NVL(a.IS_DELETED, 0) = 0 ")
|
||||
// .append("AND NVL(a.USFL, 1) = 1 ")
|
||||
.append("AND a.LGTD IS NOT NULL ")
|
||||
|
||||
@ -190,19 +190,19 @@ public class EngRiverServiceImpl implements EngRiverService {
|
||||
"LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = eng.HBRVCD AND hbrv.BASEID = eng.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 MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = rb.RSTCD " +
|
||||
") rstSort ON rstSort.BASEID = eng.BASE_ID AND rstSort.STCD = rb.RSTCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = rb.STCD " +
|
||||
") siteSort ON siteSort.BASEID = eng.BASE_ID AND siteSort.STCD = rb.STCD " +
|
||||
"LEFT JOIN SD_VDINFO_B vdb ON vdb.CSTCD = rr.STCD AND NVL(vdb.USFL, 1) = 1 " +
|
||||
"LEFT JOIN SD_VDINFO_R vdr ON vdr.STCD = vdb.STCD AND vdr.TM = rr.TM AND NVL(vdr.IS_DELETED, 0) = 0 " +
|
||||
"WHERE NVL(rr.IS_DELETED, 0) = 0 " +
|
||||
|
||||
@ -4599,7 +4599,7 @@ public class FbStationServiceImpl implements FbStationService {
|
||||
String rstcd = QgcQueryWrapperUtil.getFilterFieldValue(devRequest, "rstcd");
|
||||
String sttp = QgcQueryWrapperUtil.getFilterFieldValue(devRequest, "sttp");
|
||||
if(StrUtil.isBlank(sttp)){
|
||||
sttp= QgcQueryWrapperUtil.getFilterFieldValue(devRequest, "sttpCode");
|
||||
sttp= Objects.requireNonNull(QgcQueryWrapperUtil.getFilterFieldValue(devRequest, "sttpCode")).toLowerCase();
|
||||
}
|
||||
String bldsttCcode = QgcQueryWrapperUtil.getFilterFieldValue(devRequest, "bldsttCcode");
|
||||
|
||||
@ -4638,19 +4638,19 @@ public class FbStationServiceImpl implements FbStationService {
|
||||
.append("FROM SD_FBRD_B_H a ")
|
||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = a.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = a.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN MS_ALONG_B along ON along.RVCD = a.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN ( ")
|
||||
.append(" SELECT det.SORT, cfg.RVCD, det.STCD ")
|
||||
.append(" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' ")
|
||||
.append(") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = a.RSTCD ")
|
||||
.append(") rstSort ON rstSort.BASEID = a.BASE_ID AND rstSort.STCD = a.RSTCD ")
|
||||
.append("LEFT JOIN ( ")
|
||||
.append(" SELECT det.SORT, cfg.RVCD, det.STCD ")
|
||||
.append(" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' ")
|
||||
.append(") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = a.STCD ")
|
||||
.append(") siteSort ON siteSort.BASEID = a.BASE_ID AND siteSort.STCD = a.STCD ")
|
||||
.append("LEFT JOIN ( ")
|
||||
.append(" SELECT t.RSTCD AS stcd, COUNT(1) AS lcjStatus ")
|
||||
.append(" FROM SD_ENGFR_R t ")
|
||||
|
||||
@ -458,15 +458,15 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
||||
"FROM SD_FHBT_B_H fh " +
|
||||
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = fh.RSTCD " +
|
||||
"LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = NVL(fh.BASE_ID, eng.BASE_ID) " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.RVCD = NVL(fh.HBRVCD, eng.HBRVCD) AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = fh.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, a.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,a.BASEID, a.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B a ON a.ID = det.ALONG_ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 " +
|
||||
" AND NVL(a.IS_DELETED, 0) = 0 " +
|
||||
" AND a.CODE = 'common' " +
|
||||
") rstAlong ON rstAlong.RVCD = NVL(fh.HBRVCD, eng.HBRVCD) AND rstAlong.STCD = fh.RSTCD " +
|
||||
") rstAlong ON rstAlong.BASEID = fh.BASE_ID AND rstAlong.STCD = fh.RSTCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT DISTINCT FHSTCD " +
|
||||
" FROM ( " +
|
||||
@ -594,17 +594,17 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
||||
" FROM SD_FHBT_B_H fh " +
|
||||
" LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = fh.RSTCD " +
|
||||
" LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = NVL(fh.BASE_ID, eng.BASE_ID) " +
|
||||
" LEFT JOIN MS_ALONG_B along ON along.RVCD = NVL(fh.HBRVCD, eng.HBRVCD) " +
|
||||
" LEFT JOIN MS_ALONG_B along ON along.BASEID =fh.BASE_ID " +
|
||||
" AND along.CODE = 'common' " +
|
||||
" AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
" LEFT JOIN ( " +
|
||||
" SELECT det.SORT, a.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,a.BASEID, a.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B a ON a.ID = det.ALONG_ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 " +
|
||||
" AND NVL(a.IS_DELETED, 0) = 0 " +
|
||||
" AND a.CODE = 'common' " +
|
||||
" ) rstAlong ON rstAlong.RVCD = NVL(fh.HBRVCD, eng.HBRVCD) AND rstAlong.STCD = fh.RSTCD " +
|
||||
" ) rstAlong ON rstAlong.BASEID = fh.BASE_ID AND rstAlong.STCD = fh.RSTCD " +
|
||||
" WHERE NVL(fh.IS_DELETED, 0) = 0 " +
|
||||
// " AND NVL(fh.BASE_ID, 'other') <> 'other' " +
|
||||
// " AND NOT EXISTS ( " +
|
||||
@ -618,13 +618,13 @@ public class FhHabitatServiceImpl implements FhHabitatService {
|
||||
" AND along.CODE = 'common' " +
|
||||
" AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
" LEFT JOIN ( " +
|
||||
" SELECT det.SORT, a.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,a.BASEID, a.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B a ON a.ID = det.ALONG_ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 " +
|
||||
" AND NVL(a.IS_DELETED, 0) = 0 " +
|
||||
" AND a.CODE = 'common' " +
|
||||
" ) rstAlong ON rstAlong.RVCD = eng.HBRVCD AND rstAlong.STCD = childBase.RSTCD ";
|
||||
" ) rstAlong ON rstAlong.BASEID = eng.BASE_ID AND rstAlong.STCD = childBase.RSTCD ";
|
||||
return "SELECT childBase.STCD, " +
|
||||
" childBase.STNM, " +
|
||||
" childBase.FHSTCD, " +
|
||||
|
||||
@ -255,11 +255,11 @@ public class FpBuildServiceImpl implements FpBuildService {
|
||||
"eng.BASE_ID AS baseId, " +
|
||||
"fp.STTP AS sttp, " +
|
||||
"CASE " +
|
||||
"WHEN fp.STTP = 'FP_1' THEN 'GY_1' " +
|
||||
"WHEN fp.STTP = 'FP_2' THEN 'GY_2' " +
|
||||
"WHEN fp.STTP = 'FP_3' THEN 'GY_3' " +
|
||||
"WHEN fp.STTP = 'FP_4' THEN 'GY_4' " +
|
||||
"ELSE 'GY_5' END AS anchoPointState, " +
|
||||
"WHEN fp.STTP = 'FP_1' THEN 'gy_1' " +
|
||||
"WHEN fp.STTP = 'FP_2' THEN 'gy_2' " +
|
||||
"WHEN fp.STTP = 'FP_3' THEN 'gy_3' " +
|
||||
"WHEN fp.STTP = 'FP_4' THEN 'gy_4' " +
|
||||
"ELSE 'gy_5' END AS anchoPointState, " +
|
||||
"fp.MWAY AS mway, " +
|
||||
"fp.DTIN AS dtin, " +
|
||||
"state.STD_SSTATE AS stdSstate, " +
|
||||
@ -1304,15 +1304,15 @@ public class FpBuildServiceImpl implements FpBuildService {
|
||||
for (FpAnchoPointVo vo : resultList) {
|
||||
String sttp = vo.getSttp();
|
||||
if ("FP_1".equals(sttp)) {
|
||||
vo.setAnchoPointState("GY_1_BUILT");
|
||||
vo.setAnchoPointState("gy_1_built");
|
||||
} else if ("FP_2".equals(sttp)) {
|
||||
vo.setAnchoPointState("GY_2_BUILT");
|
||||
vo.setAnchoPointState("gy_2_built");
|
||||
} else if ("FP_3".equals(sttp)) {
|
||||
vo.setAnchoPointState("GY_3_BUILT");
|
||||
vo.setAnchoPointState("gy_3_built");
|
||||
} else if ("FP_4".equals(sttp)) {
|
||||
vo.setAnchoPointState("GY_4_BUILT");
|
||||
vo.setAnchoPointState("gy_4_built");
|
||||
} else {
|
||||
vo.setAnchoPointState("GY_5_BUILT");
|
||||
vo.setAnchoPointState("gy_5_built");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -173,7 +173,7 @@ public class FprMonitorServiceImpl implements FprMonitorService {
|
||||
.append("hb.BASENAME AS baseName, ")
|
||||
.append("aim.STTP AS sttp, ")
|
||||
.append("sttp.STTP_NAME AS sttpName, ")
|
||||
.append("'' AS anchoPointState, ")
|
||||
.append("'fprd' AS anchoPointState, ")
|
||||
.append("aim.MWAY AS mway, ")
|
||||
.append("aim.DTIN AS dtin, ")
|
||||
// .append("aim.STDSSTATE AS stdSstate, ")
|
||||
@ -446,25 +446,25 @@ public class FprMonitorServiceImpl implements FprMonitorService {
|
||||
"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 " +
|
||||
"LEFT JOIN MS_ALONG_B alongBase ON alongBase.RVCD = src.HBRVCD " +
|
||||
"LEFT JOIN MS_ALONG_B alongBase ON alongBase.BASEID = src.BASE_ID " +
|
||||
" AND alongBase.CODE = 'common' " +
|
||||
" AND NVL(alongBase.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.STCD, det.SORT, along.RVCD " +
|
||||
" SELECT det.STCD, det.SORT,along.BASEID, along.RVCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B along ON det.ALONG_ID = along.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 " +
|
||||
" AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
" AND along.CODE = 'common' " +
|
||||
") engSort ON engSort.RVCD = src.HBRVCD AND engSort.STCD = src.RSTCD " +
|
||||
") engSort ON engSort.BASEID = src.BASE_ID AND engSort.STCD = src.RSTCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.STCD, det.SORT, along.RVCD " +
|
||||
" SELECT det.STCD, det.SORT,along.BASEID, along.RVCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B along ON det.ALONG_ID = along.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 " +
|
||||
" AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
" AND along.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = src.HBRVCD AND siteSort.STCD = src.STCD " +
|
||||
") siteSort ON siteSort.BASEID = src.BASE_ID AND siteSort.STCD = src.STCD " +
|
||||
"WHERE NVL(src.IS_DELETED, 0) = 0 ";
|
||||
}
|
||||
|
||||
|
||||
@ -32,4 +32,10 @@ public class OverviewController {
|
||||
public ResponseResult getOpedList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||
return ResponseResult.successData(overviewService.getOpedList(dataSourceRequest));
|
||||
}
|
||||
|
||||
@PostMapping("/vmsstbprpt/GetKendoList")
|
||||
@Operation(summary = "沿程对象视图(V_MS_STBPRP_T)条件过滤数据列表")
|
||||
public ResponseResult getVmsstbprptList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||
return ResponseResult.successData(overviewService.getVmsstbprptList(dataSourceRequest));
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,70 @@
|
||||
package com.yfd.platform.qgc_env.overview.entity.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@Schema(description = "沿程对象视图(V_MS_STBPRP_T)查询结果")
|
||||
public class OverviewVmsstbprptVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String stcd;
|
||||
private String stnm;
|
||||
private String ennm;
|
||||
private String sttp;
|
||||
private String sttpCode;
|
||||
private String sttpName;
|
||||
private String sttpFullPath;
|
||||
private Integer sttpTreeLevel;
|
||||
private String rstcd;
|
||||
private String baseId;
|
||||
private String baseName;
|
||||
private String hbrvcd;
|
||||
private String hbrvcdName;
|
||||
private String rvcd;
|
||||
private String rvcdName;
|
||||
private String addvcd;
|
||||
private String addvnm;
|
||||
private String hycd;
|
||||
private String hynm;
|
||||
private String topHycd;
|
||||
private String topHynm;
|
||||
private BigDecimal lgtd;
|
||||
private BigDecimal lttd;
|
||||
private String stlc;
|
||||
private Integer usfl;
|
||||
private Integer dtin;
|
||||
private Date dtinTm;
|
||||
private Integer bldsttCode;
|
||||
private String introduce;
|
||||
private String logo;
|
||||
private String inffile;
|
||||
private BigDecimal inv;
|
||||
private Integer invinmn;
|
||||
private Date stdsdt;
|
||||
private Date pststdt;
|
||||
private Date pesstdt;
|
||||
private Date swdt;
|
||||
private Date jcdt;
|
||||
private Date wddt;
|
||||
private Integer orderIndex;
|
||||
private String remark;
|
||||
private String vlsr;
|
||||
private String stindx;
|
||||
private String coenvwState;
|
||||
private String dvtpName;
|
||||
private Date vlsrTm;
|
||||
private String recordUser;
|
||||
private Date recordTime;
|
||||
private String modifyUser;
|
||||
private Date modifyTime;
|
||||
private Integer isDeleted;
|
||||
private String deleteUser;
|
||||
private Date deleteTime;
|
||||
private String dataSource;
|
||||
}
|
||||
@ -4,10 +4,13 @@ import com.yfd.platform.common.DataSourceRequest;
|
||||
import com.yfd.platform.common.DataSourceResult;
|
||||
import com.yfd.platform.qgc_env.overview.entity.vo.OverviewMsstbprptVo;
|
||||
import com.yfd.platform.qgc_env.overview.entity.vo.OverviewOpedVo;
|
||||
import com.yfd.platform.qgc_env.overview.entity.vo.OverviewVmsstbprptVo;
|
||||
|
||||
public interface OverviewService {
|
||||
|
||||
DataSourceResult<OverviewMsstbprptVo> getMsstbprptList(DataSourceRequest dataSourceRequest);
|
||||
|
||||
DataSourceResult<OverviewOpedVo> getOpedList(DataSourceRequest dataSourceRequest);
|
||||
|
||||
DataSourceResult<OverviewVmsstbprptVo> getVmsstbprptList(DataSourceRequest dataSourceRequest);
|
||||
}
|
||||
|
||||
@ -9,8 +9,11 @@ import com.yfd.platform.common.DataSourceResult;
|
||||
import com.yfd.platform.common.GroupHelper;
|
||||
import com.yfd.platform.common.GroupingInfo;
|
||||
import com.yfd.platform.common.MicroservicDynamicSQLMapper;
|
||||
import com.yfd.platform.qgc_base.domain.vo.DataScopeApplyResult;
|
||||
import com.yfd.platform.qgc_base.service.IDataScopeFilterService;
|
||||
import com.yfd.platform.qgc_env.overview.entity.vo.OverviewMsstbprptVo;
|
||||
import com.yfd.platform.qgc_env.overview.entity.vo.OverviewOpedVo;
|
||||
import com.yfd.platform.qgc_env.overview.entity.vo.OverviewVmsstbprptVo;
|
||||
import com.yfd.platform.qgc_env.overview.service.OverviewService;
|
||||
import com.yfd.platform.utils.QgcQueryWrapperUtil;
|
||||
import jakarta.annotation.Resource;
|
||||
@ -31,6 +34,9 @@ public class OverviewServiceImpl implements OverviewService {
|
||||
@Resource
|
||||
private MicroservicDynamicSQLMapper microservicDynamicSQLMapper;
|
||||
|
||||
@Resource
|
||||
private IDataScopeFilterService dataScopeFilterService;
|
||||
|
||||
@Override
|
||||
public DataSourceResult<OverviewMsstbprptVo> getMsstbprptList(DataSourceRequest dataSourceRequest) {
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||
@ -109,6 +115,47 @@ public class OverviewServiceImpl implements OverviewService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSourceResult<OverviewVmsstbprptVo> getVmsstbprptList(DataSourceRequest dataSourceRequest) {
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||
List<String> selectFields = resolveVmsstbprptSelectFields(dataSourceRequest == null ? null : dataSourceRequest.getSelect());
|
||||
// "CASE eng.DVTP WHEN '1' THEN '堤坝式' WHEN '2' THEN '引水式' WHEN '3' THEN '混合式' ELSE '未知' END AS dvtpName,"+
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append("SELECT ")
|
||||
.append(buildVmsstbprptSelectSql(selectFields))
|
||||
.append(" FROM V_MS_STBPRP_T t WHERE 1 = 1 ");
|
||||
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
String filterSql = buildVmsstbprptFilterCondition(dataSourceRequest == null ? null : dataSourceRequest.getFilter(), paramMap, new int[]{0});
|
||||
if (StrUtil.isNotBlank(filterSql)) {
|
||||
sql.append(" AND ").append(filterSql);
|
||||
}
|
||||
|
||||
// 数据权限过滤:基于当前用户有权限的电站编码过滤
|
||||
// DataScopeApplyResult scopeResult = dataScopeFilterService.appendCurrentUserStationScope(sql, paramMap, "t.STCD");
|
||||
// if (scopeResult.isEmptyResult()) {
|
||||
// DataSourceResult<OverviewVmsstbprptVo> result = new DataSourceResult<>();
|
||||
// result.setData(new ArrayList<>());
|
||||
// result.setTotal(0L);
|
||||
// result.setAggregates(new HashMap<>());
|
||||
// return result;
|
||||
// }
|
||||
|
||||
sql.append(buildVmsstbprptOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
||||
|
||||
Page<?> page = loadOptions == null ? null
|
||||
: QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<OverviewVmsstbprptVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(
|
||||
page, sql.toString(), paramMap, OverviewVmsstbprptVo.class
|
||||
);
|
||||
|
||||
DataSourceResult<OverviewVmsstbprptVo> result = new DataSourceResult<>();
|
||||
result.setData(list);
|
||||
result.setTotal(page == null ? list.size() : page.getTotal());
|
||||
result.setAggregates(new HashMap<>());
|
||||
return result;
|
||||
}
|
||||
|
||||
private DataSourceResult<OverviewOpedVo> queryOpedSummaryList(DataSourceRequest dataSourceRequest,
|
||||
DataSourceLoadOptionsBase loadOptions,
|
||||
Map<String, Object> paramMap) {
|
||||
@ -1340,4 +1387,290 @@ public class OverviewServiceImpl implements OverviewService {
|
||||
}
|
||||
values.add(value);
|
||||
}
|
||||
|
||||
// ======================== V_MS_STBPRP_T helper methods ========================
|
||||
|
||||
private List<String> resolveVmsstbprptSelectFields(List<String> select) {
|
||||
List<String> fields = CollUtil.isEmpty(select)
|
||||
? new ArrayList<>(buildVmsstbprptSelectMap().keySet())
|
||||
: new ArrayList<>(select);
|
||||
LinkedHashSet<String> uniqueFields = new LinkedHashSet<>();
|
||||
for (String field : fields) {
|
||||
if (StrUtil.isNotBlank(field)) {
|
||||
uniqueFields.add(field.trim());
|
||||
}
|
||||
}
|
||||
if (uniqueFields.isEmpty()) {
|
||||
uniqueFields.add("stcd");
|
||||
}
|
||||
return new ArrayList<>(uniqueFields);
|
||||
}
|
||||
|
||||
private String buildVmsstbprptSelectSql(List<String> selectFields) {
|
||||
Map<String, String> columnMap = buildVmsstbprptSelectMap();
|
||||
List<String> selectParts = new ArrayList<>();
|
||||
for (String field : selectFields) {
|
||||
String column = columnMap.get(field);
|
||||
if (StrUtil.isNotBlank(column)) {
|
||||
selectParts.add(column);
|
||||
if(field.equals("sttpCode")){
|
||||
selectParts.add("t.STTP_NAME sttpName");
|
||||
}
|
||||
} else {
|
||||
selectParts.add("NULL AS \"" + field + "\"");
|
||||
}
|
||||
}
|
||||
if (selectParts.isEmpty()) {
|
||||
selectParts.add("t.STCD AS \"stcd\"");
|
||||
}
|
||||
return String.join(", ", selectParts);
|
||||
}
|
||||
|
||||
private Map<String, String> buildVmsstbprptSelectMap() {
|
||||
Map<String, String> columnMap = new LinkedHashMap<>();
|
||||
columnMap.put("stcd", "t.STCD AS \"stcd\"");
|
||||
columnMap.put("stnm", "t.STNM AS \"stnm\"");
|
||||
columnMap.put("ennm", "t.ENNM AS \"ennm\"");
|
||||
columnMap.put("sttp", "t.STTP AS \"sttp\"");
|
||||
columnMap.put("sttpCode", "t.STTP_CODE AS \"sttpCode\"");
|
||||
columnMap.put("sttpName", "t.STTP_NAME AS \"sttpName\"");
|
||||
columnMap.put("sttpFullPath", "t.STTP_FULL_PATH AS \"sttpFullPath\"");
|
||||
columnMap.put("sttpTreeLevel", "t.STTP_TREE_LEVEL AS \"sttpTreeLevel\"");
|
||||
columnMap.put("rstcd", "t.RSTCD AS \"rstcd\"");
|
||||
columnMap.put("baseId", "t.BASE_ID AS \"baseId\"");
|
||||
columnMap.put("baseName", "t.BASE_NAME AS \"baseName\"");
|
||||
columnMap.put("hbrvcd", "t.HBRVCD AS \"hbrvcd\"");
|
||||
columnMap.put("hbrvcdName", "t.HBRVCD_NAME AS \"hbrvcdName\"");
|
||||
columnMap.put("rvcd", "t.RVCD AS \"rvcd\"");
|
||||
columnMap.put("rvcdName", "t.RVCD_NAME AS \"rvcdName\"");
|
||||
columnMap.put("addvcd", "t.ADDVCD AS \"addvcd\"");
|
||||
columnMap.put("addvnm", "t.ADDVNM AS \"addvnm\"");
|
||||
columnMap.put("hycd", "t.HYCD AS \"hycd\"");
|
||||
columnMap.put("hynm", "t.HYNM AS \"hynm\"");
|
||||
columnMap.put("topHycd", "t.TOP_HYCD AS \"topHycd\"");
|
||||
columnMap.put("topHynm", "t.TOP_HYNM AS \"topHynm\"");
|
||||
columnMap.put("lgtd", "t.LGTD AS \"lgtd\"");
|
||||
columnMap.put("lttd", "t.LTTD AS \"lttd\"");
|
||||
columnMap.put("stlc", "t.STLC AS \"stlc\"");
|
||||
columnMap.put("usfl", "t.USFL AS \"usfl\"");
|
||||
columnMap.put("dtin", "t.DTIN AS \"dtin\"");
|
||||
columnMap.put("dtinTm", "t.DTIN_TM AS \"dtinTm\"");
|
||||
columnMap.put("bldsttCode", "t.BLDSTT_CODE AS \"bldsttCode\"");
|
||||
columnMap.put("introduce", "t.INTRODUCE AS \"introduce\"");
|
||||
columnMap.put("logo", "t.LOGO AS \"logo\"");
|
||||
columnMap.put("inffile", "t.INFFILE AS \"inffile\"");
|
||||
columnMap.put("inv", "t.INV AS \"inv\"");
|
||||
columnMap.put("invinmn", "t.INVINMN AS \"invinmn\"");
|
||||
columnMap.put("stdsdt", "t.STDSDT AS \"stdsdt\"");
|
||||
columnMap.put("pststdt", "t.PSTSTDT AS \"pststdt\"");
|
||||
columnMap.put("pesstdt", "t.PESSTDT AS \"pesstdt\"");
|
||||
columnMap.put("swdt", "t.SWDT AS \"swdt\"");
|
||||
columnMap.put("jcdt", "t.JCDT AS \"jcdt\"");
|
||||
columnMap.put("wddt", "t.WDDT AS \"wddt\"");
|
||||
columnMap.put("orderIndex", "t.ORDER_INDEX AS \"orderIndex\"");
|
||||
columnMap.put("remark", "t.REMARK AS \"remark\"");
|
||||
columnMap.put("stindx", "t.STINDX AS \"stindx\"");
|
||||
columnMap.put("coenvwState", "t.COENVW_STATE AS \"coenvwState\"");
|
||||
columnMap.put("dvtp", "CASE t.DVTP WHEN '1' THEN '堤坝式' WHEN '2' THEN '引水式' WHEN '3' THEN '混合式' ELSE '未知' END AS \"dvtpName\" ");
|
||||
columnMap.put("vlsr", "t.VLSR AS \"vlsr\"");
|
||||
columnMap.put("vlsrTm", "t.VLSR_TM AS \"vlsrTm\"");
|
||||
columnMap.put("recordUser", "t.RECORD_USER AS \"recordUser\"");
|
||||
columnMap.put("recordTime", "t.RECORD_TIME AS \"recordTime\"");
|
||||
columnMap.put("modifyUser", "t.MODIFY_USER AS \"modifyUser\"");
|
||||
columnMap.put("modifyTime", "t.MODIFY_TIME AS \"modifyTime\"");
|
||||
columnMap.put("isDeleted", "t.IS_DELETED AS \"isDeleted\"");
|
||||
columnMap.put("deleteUser", "t.DELETE_USER AS \"deleteUser\"");
|
||||
columnMap.put("deleteTime", "t.DELETE_TIME AS \"deleteTime\"");
|
||||
columnMap.put("dataSource", "t.DATA_SOURCE AS \"dataSource\"");
|
||||
return columnMap;
|
||||
}
|
||||
|
||||
private String buildVmsstbprptFilterCondition(DataSourceRequest.FilterDescriptor filter,
|
||||
Map<String, Object> paramMap,
|
||||
int[] indexHolder) {
|
||||
if (filter == null) {
|
||||
return "";
|
||||
}
|
||||
if (StrUtil.isNotBlank(filter.getField())) {
|
||||
return buildVmsstbprptLeafCondition(filter, paramMap, indexHolder);
|
||||
}
|
||||
if (CollUtil.isEmpty(filter.getFilters())) {
|
||||
return "";
|
||||
}
|
||||
List<String> conditions = new ArrayList<>();
|
||||
for (DataSourceRequest.FilterDescriptor child : filter.getFilters()) {
|
||||
String childSql = buildVmsstbprptFilterCondition(child, paramMap, indexHolder);
|
||||
if (StrUtil.isNotBlank(childSql)) {
|
||||
conditions.add("(" + childSql + ")");
|
||||
}
|
||||
}
|
||||
if (conditions.isEmpty()) {
|
||||
return "";
|
||||
}
|
||||
String logic = "or".equalsIgnoreCase(filter.getLogic()) ? " OR " : " AND ";
|
||||
return String.join(logic, conditions);
|
||||
}
|
||||
|
||||
private String buildVmsstbprptLeafCondition(DataSourceRequest.FilterDescriptor filter,
|
||||
Map<String, Object> paramMap,
|
||||
int[] indexHolder) {
|
||||
String field = filter.getField();
|
||||
if (StrUtil.isBlank(field)) {
|
||||
return "";
|
||||
}
|
||||
String operator = StrUtil.blankToDefault(filter.getOperator(), "eq").toLowerCase();
|
||||
String column = mapVmsstbprptColumn(field);
|
||||
if (StrUtil.isBlank(column)) {
|
||||
return "";
|
||||
}
|
||||
if ("isnull".equals(operator)) {
|
||||
return column + " IS NULL";
|
||||
}
|
||||
if ("isnotnull".equals(operator)) {
|
||||
return column + " IS NOT NULL";
|
||||
}
|
||||
if ("isempty".equals(operator)) {
|
||||
return "(" + column + " IS NULL OR " + column + " = '')";
|
||||
}
|
||||
if ("isnotempty".equals(operator)) {
|
||||
return "(" + column + " IS NOT NULL AND " + column + " <> '')";
|
||||
}
|
||||
if ("in".equals(operator) || "ni".equals(operator)) {
|
||||
List<Object> values = normalizeValues(filter.getValue());
|
||||
if (values.isEmpty()) {
|
||||
return "";
|
||||
}
|
||||
List<String> placeholders = new ArrayList<>();
|
||||
for (Object item : values) {
|
||||
String key = "vmsp" + indexHolder[0]++;
|
||||
paramMap.put(key, item);
|
||||
placeholders.add("#{map." + key + "}");
|
||||
}
|
||||
if (placeholders.isEmpty()) {
|
||||
return "";
|
||||
}
|
||||
return column + ("ni".equals(operator) ? " NOT IN (" : " IN (") + String.join(", ", placeholders) + ")";
|
||||
}
|
||||
Object value = filter.getValue();
|
||||
if (value == null) {
|
||||
return "";
|
||||
}
|
||||
String key = "vmsp" + indexHolder[0]++;
|
||||
paramMap.put(key, value);
|
||||
return switch (operator) {
|
||||
case "eq" -> column + " = #{map." + key + "}";
|
||||
case "neq" -> column + " <> #{map." + key + "}";
|
||||
case "contains" -> {
|
||||
paramMap.put(key, "%" + value + "%");
|
||||
yield column + " LIKE #{map." + key + "}";
|
||||
}
|
||||
case "doesnotcontain" -> {
|
||||
paramMap.put(key, "%" + value + "%");
|
||||
yield column + " NOT LIKE #{map." + key + "}";
|
||||
}
|
||||
case "startswith" -> {
|
||||
paramMap.put(key, value + "%");
|
||||
yield column + " LIKE #{map." + key + "}";
|
||||
}
|
||||
case "endswith" -> {
|
||||
paramMap.put(key, "%" + value);
|
||||
yield column + " LIKE #{map." + key + "}";
|
||||
}
|
||||
case "gt" -> column + " > #{map." + key + "}";
|
||||
case "gte" -> column + " >= #{map." + key + "}";
|
||||
case "lt" -> column + " < #{map." + key + "}";
|
||||
case "lte" -> column + " <= #{map." + key + "}";
|
||||
default -> "";
|
||||
};
|
||||
}
|
||||
|
||||
private String mapVmsstbprptColumn(String field) {
|
||||
if (StrUtil.isBlank(field)) {
|
||||
return null;
|
||||
}
|
||||
return switch (field) {
|
||||
case "stcd" -> "t.STCD";
|
||||
case "stnm" -> "t.STNM";
|
||||
case "ennm" -> "t.ENNM";
|
||||
case "sttp" -> "t.STTP";
|
||||
case "sttpCode" -> "t.STTP_CODE";
|
||||
case "sttpName" -> "t.STTP_NAME";
|
||||
case "sttpFullPath" -> "t.STTP_FULL_PATH";
|
||||
case "sttpTreeLevel" -> "t.STTP_TREE_LEVEL";
|
||||
case "rstcd" -> "t.RSTCD";
|
||||
case "baseId" -> "t.BASE_ID";
|
||||
case "baseName" -> "t.BASE_NAME";
|
||||
case "hbrvcd" -> "t.HBRVCD";
|
||||
case "hbrvcdName" -> "t.HBRVCD_NAME";
|
||||
case "rvcd" -> "t.RVCD";
|
||||
case "rvcdName" -> "t.RVCD_NAME";
|
||||
case "addvcd" -> "t.ADDVCD";
|
||||
case "addvnm" -> "t.ADDVNM";
|
||||
case "hycd" -> "t.HYCD";
|
||||
case "hynm" -> "t.HYNM";
|
||||
case "topHycd" -> "t.TOP_HYCD";
|
||||
case "topHynm" -> "t.TOP_HYNM";
|
||||
case "lgtd" -> "t.LGTD";
|
||||
case "lttd" -> "t.LTTD";
|
||||
case "stlc" -> "t.STLC";
|
||||
case "usfl" -> "t.USFL";
|
||||
case "dtin" -> "t.DTIN";
|
||||
case "DTIN" -> "t.DTIN";
|
||||
case "dtinType" -> "t.DTIN_TYPE";
|
||||
case "mway" -> "t.MWAY";
|
||||
case "dtinTm" -> "t.DTIN_TM";
|
||||
case "bldsttCcode" -> "t.BLDSTT_CODE";
|
||||
case "introduce" -> "t.INTRODUCE";
|
||||
case "runState" -> "t.RUN_STATE";
|
||||
case "logo" -> "t.LOGO";
|
||||
case "inffile" -> "t.INFFILE";
|
||||
case "inv" -> "t.INV";
|
||||
case "invinmn" -> "t.INVINMN";
|
||||
case "stdsdt" -> "t.STDSDT";
|
||||
case "pststdt" -> "t.PSTSTDT";
|
||||
case "pesstdt" -> "t.PESSTDT";
|
||||
case "swdt" -> "t.SWDT";
|
||||
case "jcdt" -> "t.JCDT";
|
||||
case "baseStepSort" -> "t.BASESTEPSORT";
|
||||
case "rvcdStepSort" -> "t.RVCDSTEPSORT";
|
||||
case "rstcdStepSort" -> "t.RSTCDSTEPSORT";
|
||||
case "siteStepSort" -> "t.SITESTEPSORT";
|
||||
case "wddt" -> "t.WDDT";
|
||||
case "orderIndex" -> "t.ORDER_INDEX";
|
||||
case "remark" -> "t.REMARK";
|
||||
case "vlsr" -> "t.VLSR";
|
||||
case "vlsrTm" -> "t.VLSR_TM";
|
||||
case "recordUser" -> "t.RECORD_USER";
|
||||
case "recordTime" -> "t.RECORD_TIME";
|
||||
case "modifyUser" -> "t.MODIFY_USER";
|
||||
case "modifyTime" -> "t.MODIFY_TIME";
|
||||
case "isDeleted" -> "t.IS_DELETED";
|
||||
case "deleteUser" -> "t.DELETE_USER";
|
||||
case "deleteTime" -> "t.DELETE_TIME";
|
||||
case "dataSource" -> "t.DATA_SOURCE";
|
||||
default -> null;
|
||||
};
|
||||
}
|
||||
|
||||
private String buildVmsstbprptOrderBySql(List<DataSourceRequest.SortDescriptor> sortList) {
|
||||
if (CollUtil.isEmpty(sortList)) {
|
||||
return " ORDER BY t.ORDER_INDEX ASC NULLS LAST, t.STNM ASC";
|
||||
}
|
||||
List<String> orderItems = new ArrayList<>();
|
||||
for (DataSourceRequest.SortDescriptor sort : sortList) {
|
||||
if (sort == null || StrUtil.isBlank(sort.getField())) {
|
||||
continue;
|
||||
}
|
||||
String column = mapVmsstbprptColumn(sort.getField());
|
||||
if (StrUtil.isBlank(column)) {
|
||||
continue;
|
||||
}
|
||||
String dir = "desc".equalsIgnoreCase(sort.getDir()) || "des".equalsIgnoreCase(sort.getDir()) ? "DESC" : "ASC";
|
||||
orderItems.add(column + " " + dir + " NULLS LAST");
|
||||
}
|
||||
if (orderItems.isEmpty()) {
|
||||
return " ORDER BY t.ORDER_INDEX ASC NULLS LAST, t.STNM ASC";
|
||||
}
|
||||
return " ORDER BY " + String.join(", ", orderItems);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1980,15 +1980,24 @@ public class VpConstructionServiceImpl implements VpConstructionService {
|
||||
List<FhvapBuiltPointVo> resultList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, FhvapBuiltPointVo.class);
|
||||
|
||||
for (FhvapBuiltPointVo vo : resultList) {
|
||||
String sttp = vo.getSttp();
|
||||
if ("VP".equals(sttp)) {
|
||||
vo.setAnchoPointState("GY_1_BUILT");
|
||||
} else if ("VA".equals(sttp)) {
|
||||
vo.setAnchoPointState("GY_2_BUILT");
|
||||
} else if ("FH".equals(sttp)) {
|
||||
vo.setAnchoPointState("GY_3_BUILT");
|
||||
} else {
|
||||
vo.setAnchoPointState("GY_4_BUILT");
|
||||
// String sttp = vo.getSttp();
|
||||
// if ("VP".equals(sttp)) {
|
||||
// vo.setAnchoPointState("gy_1_built");
|
||||
// } else if ("VA".equals(sttp)) {
|
||||
// vo.setAnchoPointState("gy_2_built");
|
||||
// } else if ("FH".equals(sttp)) {
|
||||
// vo.setAnchoPointState("gy_3_built");
|
||||
// } else {
|
||||
// vo.setAnchoPointState("gy_4_built");
|
||||
// }
|
||||
// 设置在建栖息地/珍稀植物园/动物救助站
|
||||
if ("1".equals(vo.getBldsttCcode())) {
|
||||
if ("FP".equals(vo.getSttp())) {
|
||||
vo.setAnchoPointState("VP_built");
|
||||
}
|
||||
if ("VA".equals(vo.getSttp())) {
|
||||
vo.setAnchoPointState("VA_built");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -9,6 +9,8 @@ import com.yfd.platform.common.DataSourceResult;
|
||||
import com.yfd.platform.common.GroupHelper;
|
||||
import com.yfd.platform.common.GroupingInfo;
|
||||
import com.yfd.platform.common.MicroservicDynamicSQLMapper;
|
||||
import com.yfd.platform.qgc_base.domain.vo.DataScopeApplyResult;
|
||||
import com.yfd.platform.qgc_base.service.IDataScopeFilterService;
|
||||
import com.yfd.platform.qgc_env.vd.entity.vo.VdAiPointVo;
|
||||
import com.yfd.platform.qgc_env.vd.entity.vo.VdPointVo;
|
||||
import com.yfd.platform.qgc_env.vd.entity.vo.VdRunDataVo;
|
||||
@ -18,6 +20,7 @@ import com.yfd.platform.qgc_env.vd.entity.vo.VdVmsstbprptVo;
|
||||
import com.yfd.platform.qgc_env.vd.service.VdMonitorService;
|
||||
import com.yfd.platform.utils.QgcQueryWrapperUtil;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -33,6 +36,9 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
|
||||
@Resource
|
||||
private MicroservicDynamicSQLMapper microservicDynamicSQLMapper;
|
||||
@Resource
|
||||
private IDataScopeFilterService dataScopeFilterService;
|
||||
|
||||
|
||||
@Override
|
||||
public DataSourceResult<VdVmsstbprptVo> getVmsstbprptList(DataSourceRequest dataSourceRequest) {
|
||||
@ -222,6 +228,7 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Cacheable(cacheNames = "vdCache#3600", keyGenerator = "cacheKeyByUserGenerator")
|
||||
public DataSourceResult<?> getVdPointKendoListCust(DataSourceRequest dataSourceRequest) {
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||
if (CollUtil.isNotEmpty(dataSourceRequest == null ? null : dataSourceRequest.getGroup())) {
|
||||
@ -525,10 +532,15 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
sql.append(" AND ").append(filterSql).append(" ");
|
||||
}
|
||||
sql.append(buildVdPointOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
||||
|
||||
DataSourceResult<VdPointVo> result = new DataSourceResult<>();
|
||||
DataScopeApplyResult scopeApplyResult = dataScopeFilterService.appendCurrentUserStationScope(sql, paramMap, "t.RSTCD");
|
||||
if (scopeApplyResult.isEmptyResult()) {
|
||||
result.setData(new ArrayList<>());
|
||||
result.setTotal(0L);
|
||||
return result;
|
||||
}
|
||||
List<VdPointVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(
|
||||
page, sql.toString(), paramMap, VdPointVo.class);
|
||||
DataSourceResult<VdPointVo> result = new DataSourceResult<>();
|
||||
result.setData(list);
|
||||
result.setTotal(page != null ? page.getTotal() : list.size());
|
||||
result.setAggregates(new HashMap<>());
|
||||
@ -822,10 +834,10 @@ public class VdMonitorServiceImpl implements VdMonitorService {
|
||||
" AND NVL(hbrv.IS_DELETED, 0) = 0 AND NVL(hbrv.ENABLED, 1) = 1 " +
|
||||
"LEFT JOIN SD_STTP_B vdSttp ON vdSttp.STTP_CODE = src.STTP " +
|
||||
" AND NVL(vdSttp.IS_DELETED, 0) = 0 AND NVL(vdSttp.ENABLE, 1) = 1 " +
|
||||
"LEFT JOIN (SELECT det.SORT, cfg.RVCD, det.STCD FROM MS_ALONGDET_B det " +
|
||||
"LEFT JOIN (SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD FROM MS_ALONGDET_B det " +
|
||||
"INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
"WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common') siteSort " +
|
||||
"ON siteSort.RVCD = NVL(eng.HBRVCD, src.HBRVCD) AND siteSort.STCD = src.STCD " +
|
||||
"ON siteSort.BASEID = src.BASE_ID AND siteSort.STCD = src.STCD " +
|
||||
"WHERE src.STTP LIKE 'VD%' " +
|
||||
"AND src.AI_EXT_CODE IS NOT NULL " +
|
||||
"AND src.LGTD IS NOT NULL " +
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.yfd.platform.qgc_env.warn.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
@ -28,10 +29,13 @@ import org.springframework.stereotype.Service;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
@Service
|
||||
public class WarnDataServiceImpl implements WarnDataService {
|
||||
@ -264,6 +268,7 @@ public class WarnDataServiceImpl implements WarnDataService {
|
||||
@Cacheable(cacheNames = "warn#3600", keyGenerator = "cacheKeyGenerator")
|
||||
public DataSourceResult<AlarmPointVo> getAlarmPointKendoListCust(DataSourceRequest dataSourceRequest) {
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||
GroupingInfo[] groupInfos = loadOptions == null ? null : loadOptions.getGroup();
|
||||
String startTimeText = loadOptions == null ? null : QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "startTime");
|
||||
String endTimeText = loadOptions == null ? null : QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "endTime");
|
||||
|
||||
@ -295,10 +300,23 @@ public class WarnDataServiceImpl implements WarnDataService {
|
||||
|
||||
List<Map<String, Object>> expressionRows = microservicDynamicSQLMapper.getAllList(buildAlarmPointLegendSql(), new HashMap<>());
|
||||
List<AlarmPointVo> resultList = mergeAlarmPointData(points, qecCountMap, wqCountMap, expressionRows, yyyy);
|
||||
List<AlarmPointVo> filteredList = applyAlarmPointFilter(
|
||||
resultList,
|
||||
dataSourceRequest == null ? null : dataSourceRequest.getFilter()
|
||||
);
|
||||
applyAlarmPointSort(filteredList, dataSourceRequest == null ? null : dataSourceRequest.getSort());
|
||||
|
||||
if (CollUtil.isNotEmpty(dataSourceRequest == null ? null : dataSourceRequest.getGroup())) {
|
||||
List<Map<String, Object>> rows = buildAlarmPointGroupRows(filteredList);
|
||||
return QgcQueryWrapperUtil.buildGroupResult(dataSourceRequest, rows);
|
||||
}
|
||||
|
||||
Page<?> page = loadOptions == null ? null : QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||
List<AlarmPointVo> pageList = applyAlarmPointPage(filteredList, loadOptions);
|
||||
|
||||
DataSourceResult<AlarmPointVo> result = new DataSourceResult<>();
|
||||
result.setData(resultList);
|
||||
result.setTotal(resultList.size());
|
||||
result.setData(pageList);
|
||||
result.setTotal(page != null ? (long) filteredList.size() : (long) filteredList.size());
|
||||
result.setAggregates(new HashMap<>());
|
||||
return result;
|
||||
}
|
||||
@ -451,9 +469,9 @@ public class WarnDataServiceImpl implements WarnDataService {
|
||||
sql.append("INNER JOIN SD_AIMONITOR_B_H b ON a.STCD = b.STCD AND NVL(b.IS_DELETED, 0) = 0 AND b.STTP LIKE 'AI_%' ");
|
||||
sql.append("LEFT JOIN SD_ENGINFO_B_H eng ON b.RSTCD = eng.STCD AND NVL(eng.IS_DELETED, 0) = 0 ");
|
||||
sql.append("LEFT JOIN SD_HYDROBASE hb ON b.BASE_ID = hb.BASEID AND NVL(hb.IS_DELETED, 0) = 0 ");
|
||||
sql.append("LEFT JOIN MS_ALONG_B along ON b.HBRVCD = along.RVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ");
|
||||
sql.append("LEFT JOIN (SELECT det.SORT, cfg.RVCD, det.STCD FROM MS_ALONGDET_B det INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common') rstSort ON rstSort.RVCD = b.HBRVCD AND rstSort.STCD = b.RSTCD ");
|
||||
sql.append("LEFT JOIN (SELECT det.SORT, cfg.RVCD, det.STCD FROM MS_ALONGDET_B det INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common') siteSort ON siteSort.RVCD = b.HBRVCD AND siteSort.STCD = b.STCD ");
|
||||
sql.append("LEFT JOIN MS_ALONG_B along ON b.BASEID = along.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ");
|
||||
sql.append("LEFT JOIN (SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD FROM MS_ALONGDET_B det INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common') rstSort ON rstSort.BASEID = b.BASE_ID AND rstSort.STCD = b.RSTCD ");
|
||||
sql.append("LEFT JOIN (SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD FROM MS_ALONGDET_B det INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common') siteSort ON siteSort.BASEID = b.BASE_ID AND siteSort.STCD = b.STCD ");
|
||||
sql.append("WHERE NVL(a.IS_DELETED, 0) = 0 ");
|
||||
sql.append("AND a.FID NOT LIKE '%ORA-%' AND a.FID NOT LIKE '%Out%' ");
|
||||
|
||||
@ -522,9 +540,9 @@ public class WarnDataServiceImpl implements WarnDataService {
|
||||
sql.append("INNER JOIN SD_AIMONITOR_B_H b ON a.STCD = b.STCD AND NVL(b.IS_DELETED, 0) = 0 AND b.STTP LIKE 'AI_%' ");
|
||||
sql.append("LEFT JOIN SD_ENGINFO_B_H eng ON b.RSTCD = eng.STCD AND NVL(eng.IS_DELETED, 0) = 0 ");
|
||||
sql.append("LEFT JOIN SD_HYDROBASE hb ON b.BASE_ID = hb.BASEID AND NVL(hb.IS_DELETED, 0) = 0 ");
|
||||
sql.append("LEFT JOIN MS_ALONG_B along ON b.HBRVCD = along.RVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ");
|
||||
sql.append("LEFT JOIN (SELECT det.SORT, cfg.RVCD, det.STCD FROM MS_ALONGDET_B det INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common') rstSort ON rstSort.RVCD = b.HBRVCD AND rstSort.STCD = b.RSTCD ");
|
||||
sql.append("LEFT JOIN (SELECT det.SORT, cfg.RVCD, det.STCD FROM MS_ALONGDET_B det INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common') siteSort ON siteSort.RVCD = b.HBRVCD AND siteSort.STCD = b.STCD ");
|
||||
sql.append("LEFT JOIN MS_ALONG_B along ON b.BASE_ID = along.BASEID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ");
|
||||
sql.append("LEFT JOIN (SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD FROM MS_ALONGDET_B det INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common') rstSort ON rstSort.BASEID = b.BASE_ID AND rstSort.STCD = b.RSTCD ");
|
||||
sql.append("LEFT JOIN (SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD FROM MS_ALONGDET_B det INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common') siteSort ON siteSort.BASEID = b.BASE_ID AND siteSort.STCD = b.STCD ");
|
||||
sql.append("WHERE a.IS_DELETED = 0 ");
|
||||
// sql.append("AND (a.TASK_STATUS IS NULL OR a.TASK_STATUS = 'Approved') ");
|
||||
sql.append("AND a.FID NOT LIKE '%ORA-%' AND a.FID NOT LIKE '%Out%' ");
|
||||
@ -1136,19 +1154,19 @@ public class WarnDataServiceImpl implements WarnDataService {
|
||||
"NVL(siteSort.SORT, 999999) AS siteStepSort " +
|
||||
"FROM SD_ENGINFO_B_H eng " +
|
||||
"LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = eng.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = eng.STCD " +
|
||||
") rstSort ON rstSort.BASEID = eng.BASE_ID AND rstSort.STCD = eng.STCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = eng.STCD " +
|
||||
") siteSort ON siteSort.BASEID = eng.BASE_ID AND siteSort.STCD = eng.STCD " +
|
||||
"WHERE NVL(eng.IS_DELETED, 0) = 0 " +
|
||||
"AND NVL(eng.USFL, 0) = 1 " +
|
||||
"AND eng.LGTD IS NOT NULL " +
|
||||
@ -1383,12 +1401,13 @@ public class WarnDataServiceImpl implements WarnDataService {
|
||||
if (point == null || !isAlarmPointVisible(point.getAnchoPointState())) {
|
||||
continue;
|
||||
}
|
||||
point.setAnchoPointState(normalizeAlarmPointState(point.getAnchoPointState()) + "_ALARM");
|
||||
point.setAnchoPointState(normalizeAlarmPointState(point.getAnchoPointState()));
|
||||
point.setStqCount(qecCountMap.getOrDefault(point.getStcd(), 0));
|
||||
point.setWqCount(wqCountMap.getOrDefault(point.getStcd(), 0));
|
||||
point.setZCount(0);
|
||||
point.setWtCount(0);
|
||||
point.setYyyy(yyyy);
|
||||
point.setSttpMap(point.getSttpMap() + "_ALARM");
|
||||
point.setSttpCode("ENG");
|
||||
int total = point.getStqCount() + point.getWqCount();
|
||||
applyAlarmPointRange(point, total, expressionRows);
|
||||
@ -1397,6 +1416,291 @@ public class WarnDataServiceImpl implements WarnDataService {
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<AlarmPointVo> applyAlarmPointFilter(List<AlarmPointVo> source, DataSourceRequest.FilterDescriptor filter) {
|
||||
if (CollUtil.isEmpty(source) || filter == null) {
|
||||
return source;
|
||||
}
|
||||
List<AlarmPointVo> result = new ArrayList<>();
|
||||
for (AlarmPointVo item : source) {
|
||||
if (matchesAlarmPointFilter(item, filter)) {
|
||||
result.add(item);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private boolean matchesAlarmPointFilter(AlarmPointVo item, DataSourceRequest.FilterDescriptor filter) {
|
||||
if (item == null || filter == null) {
|
||||
return true;
|
||||
}
|
||||
if (CollUtil.isNotEmpty(filter.getFilters())) {
|
||||
String logic = StrUtil.blankToDefault(filter.getLogic(), "and");
|
||||
if ("or".equalsIgnoreCase(logic)) {
|
||||
for (DataSourceRequest.FilterDescriptor child : filter.getFilters()) {
|
||||
if (matchesAlarmPointFilter(item, child)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
for (DataSourceRequest.FilterDescriptor child : filter.getFilters()) {
|
||||
if (!matchesAlarmPointFilter(item, child)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (StrUtil.isBlank(filter.getField()) || StrUtil.isBlank(filter.getOperator())) {
|
||||
return true;
|
||||
}
|
||||
if (isAlarmPointMetaField(filter.getField())) {
|
||||
return true;
|
||||
}
|
||||
Object actualValue = getAlarmPointFieldValue(item, filter.getField());
|
||||
return compareAlarmPointField(actualValue, filter.getValue(), filter.getOperator(), filter.isIgnoreCase());
|
||||
}
|
||||
|
||||
private boolean isAlarmPointMetaField(String field) {
|
||||
return "startTime".equals(field) || "endTime".equals(field);
|
||||
}
|
||||
|
||||
private boolean compareAlarmPointField(Object actualValue, Object expectedValue, String operator, boolean ignoreCase) {
|
||||
if ("isblank".equalsIgnoreCase(operator)) {
|
||||
return actualValue == null || StrUtil.isBlank(String.valueOf(actualValue));
|
||||
}
|
||||
if ("isnotblank".equalsIgnoreCase(operator)) {
|
||||
return actualValue != null && StrUtil.isNotBlank(String.valueOf(actualValue));
|
||||
}
|
||||
if (actualValue == null) {
|
||||
return expectedValue == null && ("eq".equalsIgnoreCase(operator) || "=".equals(operator));
|
||||
}
|
||||
|
||||
String actualText = String.valueOf(actualValue);
|
||||
String expectedText = expectedValue == null ? null : String.valueOf(expectedValue);
|
||||
String left = ignoreCase && actualText != null ? actualText.toLowerCase() : actualText;
|
||||
String right = ignoreCase && expectedText != null ? expectedText.toLowerCase() : expectedText;
|
||||
|
||||
switch (operator.toLowerCase()) {
|
||||
case "eq":
|
||||
case "=":
|
||||
return Objects.equals(normalizeAlarmPointCompareValue(actualValue), normalizeAlarmPointCompareValue(expectedValue))
|
||||
|| Objects.equals(left, right);
|
||||
case "neq":
|
||||
case "<>":
|
||||
return !Objects.equals(normalizeAlarmPointCompareValue(actualValue), normalizeAlarmPointCompareValue(expectedValue))
|
||||
&& !Objects.equals(left, right);
|
||||
case "contains":
|
||||
return right != null && left != null && left.contains(right);
|
||||
case "doesnotcontain":
|
||||
return right == null || left == null || !left.contains(right);
|
||||
case "startswith":
|
||||
return right != null && left != null && left.startsWith(right);
|
||||
case "endswith":
|
||||
return right != null && left != null && left.endsWith(right);
|
||||
case "gt":
|
||||
return compareAlarmPointComparable(actualValue, expectedValue) > 0;
|
||||
case "gte":
|
||||
case "ge":
|
||||
return compareAlarmPointComparable(actualValue, expectedValue) >= 0;
|
||||
case "lt":
|
||||
return compareAlarmPointComparable(actualValue, expectedValue) < 0;
|
||||
case "lte":
|
||||
case "le":
|
||||
return compareAlarmPointComparable(actualValue, expectedValue) <= 0;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private Object normalizeAlarmPointCompareValue(Object value) {
|
||||
if (value == null) {
|
||||
return null;
|
||||
}
|
||||
if (value instanceof Number) {
|
||||
return new BigDecimal(value.toString());
|
||||
}
|
||||
if (value instanceof Date) {
|
||||
return ((Date) value).getTime();
|
||||
}
|
||||
String text = String.valueOf(value).trim();
|
||||
if (StrUtil.isBlank(text)) {
|
||||
return text;
|
||||
}
|
||||
if (StrUtil.isNumeric(text)) {
|
||||
return new BigDecimal(text);
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
private int compareAlarmPointComparable(Object actualValue, Object expectedValue) {
|
||||
Object left = normalizeAlarmPointCompareValue(actualValue);
|
||||
Object right = normalizeAlarmPointCompareValue(expectedValue);
|
||||
if (left == null && right == null) {
|
||||
return 0;
|
||||
}
|
||||
if (left == null) {
|
||||
return -1;
|
||||
}
|
||||
if (right == null) {
|
||||
return 1;
|
||||
}
|
||||
if (left instanceof BigDecimal && right instanceof BigDecimal) {
|
||||
return ((BigDecimal) left).compareTo((BigDecimal) right);
|
||||
}
|
||||
if (left instanceof Long && right instanceof Long) {
|
||||
return Long.compare((Long) left, (Long) right);
|
||||
}
|
||||
return String.valueOf(left).compareTo(String.valueOf(right));
|
||||
}
|
||||
|
||||
private void applyAlarmPointSort(List<AlarmPointVo> list, List<DataSourceRequest.SortDescriptor> sorts) {
|
||||
if (CollUtil.isEmpty(list) || CollUtil.isEmpty(sorts)) {
|
||||
return;
|
||||
}
|
||||
Comparator<AlarmPointVo> comparator = null;
|
||||
for (DataSourceRequest.SortDescriptor sort : sorts) {
|
||||
if (sort == null || StrUtil.isBlank(sort.getField()) || Boolean.FALSE.equals(sort.getNeedSortFlag())) {
|
||||
continue;
|
||||
}
|
||||
Comparator<AlarmPointVo> current = (left, right) -> compareAlarmPointSortValue(
|
||||
buildAlarmPointSortValue(getAlarmPointFieldValue(left, sort.getField())),
|
||||
buildAlarmPointSortValue(getAlarmPointFieldValue(right, sort.getField()))
|
||||
);
|
||||
if ("desc".equalsIgnoreCase(sort.getDir()) || "des".equalsIgnoreCase(sort.getDir())) {
|
||||
current = current.reversed();
|
||||
}
|
||||
comparator = comparator == null ? current : comparator.thenComparing(current);
|
||||
}
|
||||
if (comparator != null) {
|
||||
list.sort(comparator);
|
||||
}
|
||||
}
|
||||
|
||||
private Comparable<?> buildAlarmPointSortValue(Object value) {
|
||||
if (value == null) {
|
||||
return null;
|
||||
}
|
||||
if (value instanceof BigDecimal) {
|
||||
return (BigDecimal) value;
|
||||
}
|
||||
if (value instanceof Integer) {
|
||||
return (Integer) value;
|
||||
}
|
||||
if (value instanceof Long) {
|
||||
return (Long) value;
|
||||
}
|
||||
if (value instanceof Date) {
|
||||
return ((Date) value).getTime();
|
||||
}
|
||||
return String.valueOf(value);
|
||||
}
|
||||
|
||||
private int compareAlarmPointSortValue(Comparable<?> left, Comparable<?> right) {
|
||||
if (left == null && right == null) {
|
||||
return 0;
|
||||
}
|
||||
if (left == null) {
|
||||
return 1;
|
||||
}
|
||||
if (right == null) {
|
||||
return -1;
|
||||
}
|
||||
return String.valueOf(left).compareTo(String.valueOf(right));
|
||||
}
|
||||
|
||||
private List<AlarmPointVo> applyAlarmPointPage(List<AlarmPointVo> source, DataSourceLoadOptionsBase loadOptions) {
|
||||
if (CollUtil.isEmpty(source) || loadOptions == null || loadOptions.getTake() == null || loadOptions.getTake() <= 0) {
|
||||
return source;
|
||||
}
|
||||
int skip = loadOptions.getSkip() == null ? 0 : Math.max(loadOptions.getSkip(), 0);
|
||||
if (skip >= source.size()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
int endIndex = Math.min(skip + loadOptions.getTake(), source.size());
|
||||
return new ArrayList<>(source.subList(skip, endIndex));
|
||||
}
|
||||
|
||||
private List<Map<String, Object>> buildAlarmPointGroupRows(List<AlarmPointVo> source) {
|
||||
List<Map<String, Object>> rows = new ArrayList<>();
|
||||
if (CollUtil.isEmpty(source)) {
|
||||
return rows;
|
||||
}
|
||||
for (AlarmPointVo item : source) {
|
||||
rows.add(new LinkedHashMap<>(BeanUtil.beanToMap(item)));
|
||||
}
|
||||
return rows;
|
||||
}
|
||||
|
||||
private Object getAlarmPointFieldValue(AlarmPointVo item, String field) {
|
||||
if (item == null || StrUtil.isBlank(field)) {
|
||||
return null;
|
||||
}
|
||||
switch (field) {
|
||||
case "sttp":
|
||||
return item.getSttp();
|
||||
case "stcd":
|
||||
return item.getStcd();
|
||||
case "lgtd":
|
||||
return item.getLgtd();
|
||||
case "lttd":
|
||||
return item.getLttd();
|
||||
case "dtmel":
|
||||
return item.getDtmel();
|
||||
case "anchoPointState":
|
||||
return item.getAnchoPointState();
|
||||
case "sttpMap":
|
||||
return item.getSttpMap();
|
||||
case "titleName":
|
||||
return item.getTitleName();
|
||||
case "distance":
|
||||
return item.getDistance();
|
||||
case "rvcd":
|
||||
return item.getRvcd();
|
||||
case "addvcd":
|
||||
return item.getAddvcd();
|
||||
case "baseId":
|
||||
return item.getBaseId();
|
||||
case "rstcds":
|
||||
return item.getRstcds();
|
||||
case "sttpCode":
|
||||
return item.getSttpCode();
|
||||
case "ennm":
|
||||
return item.getEnnm();
|
||||
case "rvnm":
|
||||
return item.getRvnm();
|
||||
case "endInstalledType":
|
||||
return item.getEndInstalledType();
|
||||
case "stqCount":
|
||||
return item.getStqCount();
|
||||
case "wqCount":
|
||||
return item.getWqCount();
|
||||
case "zCount":
|
||||
return item.getZCount();
|
||||
case "wtCount":
|
||||
return item.getWtCount();
|
||||
case "yyyy":
|
||||
return item.getYyyy();
|
||||
case "range":
|
||||
return item.getRange();
|
||||
case "ttpwr":
|
||||
return item.getTtpwr();
|
||||
case "baseName":
|
||||
return item.getBaseName();
|
||||
case "rstcd":
|
||||
return item.getRstcd();
|
||||
case "rvcdStepSort":
|
||||
return item.getRvcdStepSort();
|
||||
case "rstcdStepSort":
|
||||
return item.getRstcdStepSort();
|
||||
case "siteStepSort":
|
||||
return item.getSiteStepSort();
|
||||
case "logo":
|
||||
return item.getLogo();
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isAlarmPointVisible(String state) {
|
||||
return "large_eng_built".equals(state)
|
||||
|| "mid_eng_built".equals(state)
|
||||
|
||||
@ -1342,17 +1342,17 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
"LEFT JOIN SD_RVCD_DIC rv ON rv.RVCD = eng.RVCD " +
|
||||
"LEFT JOIN SD_ADDVCD_DIC addv ON addv.ADDVCD = eng.ADDVCD " +
|
||||
"LEFT JOIN SD_FHBT_B_H fh ON fh.STCD = wq.FHSTCD AND NVL(fh.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B rvAlong ON rvAlong.RVCD = eng.HBRVCD AND rvAlong.CODE = 'common' AND NVL(rvAlong.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN (SELECT det.SORT, along.RVCD, det.STCD " +
|
||||
"LEFT JOIN MS_ALONG_B rvAlong ON rvAlong.BASEID = wq.BASE_ID AND rvAlong.CODE = 'common' AND NVL(rvAlong.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN (SELECT det.SORT,along.BASEID, along.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B along ON det.ALONG_ID = along.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(along.IS_DELETED, 0) = 0 AND along.CODE = 'common') rstAlong " +
|
||||
" ON rstAlong.RVCD = eng.HBRVCD AND rstAlong.STCD = wq.RSTCD " +
|
||||
"LEFT JOIN (SELECT det.SORT, along.RVCD, det.STCD " +
|
||||
" ON rstAlong.BASEID = wq.BASE_ID AND rstAlong.STCD = wq.RSTCD " +
|
||||
"LEFT JOIN (SELECT det.SORT,along.BASEID, along.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B along ON det.ALONG_ID = along.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(along.IS_DELETED, 0) = 0 AND along.CODE = 'common') siteAlong " +
|
||||
" ON siteAlong.RVCD = eng.HBRVCD AND siteAlong.STCD = wq.STCD " +
|
||||
" ON siteAlong.BASEID = wq.BASE_ID AND siteAlong.STCD = wq.STCD " +
|
||||
"WHERE wq.STTP IN ('WQ', 'WQFB') AND NVL(wq.IS_DELETED, 0) = 0";
|
||||
}
|
||||
|
||||
@ -1824,17 +1824,17 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
"LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = wq.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 " +
|
||||
"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 rvAlong ON rvAlong.RVCD = eng.HBRVCD AND rvAlong.CODE = 'common' AND NVL(rvAlong.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN (SELECT det.SORT, along.RVCD, det.STCD " +
|
||||
"LEFT JOIN MS_ALONG_B rvAlong ON rvAlong.BASEID = wq.BASE_ID AND rvAlong.CODE = 'common' AND NVL(rvAlong.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN (SELECT det.SORT,cfg.BASEID, along.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B along ON det.ALONG_ID = along.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(along.IS_DELETED, 0) = 0 AND along.CODE = 'common') rstAlong " +
|
||||
" ON rstAlong.RVCD = eng.HBRVCD AND rstAlong.STCD = wq.RSTCD " +
|
||||
"LEFT JOIN (SELECT det.SORT, along.RVCD, det.STCD " +
|
||||
" ON rstAlong.BASEID = wq.BASE_ID AND rstAlong.STCD = wq.RSTCD " +
|
||||
"LEFT JOIN (SELECT det.SORT,cfg.BASEID, along.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B along ON det.ALONG_ID = along.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(along.IS_DELETED, 0) = 0 AND along.CODE = 'common') siteAlong " +
|
||||
" ON siteAlong.RVCD = eng.HBRVCD AND siteAlong.STCD = wq.STCD " +
|
||||
" ON siteAlong.BASEID = wq.BASE_ID AND siteAlong.STCD = wq.STCD " +
|
||||
"WHERE wq.STTP = 'WQ' AND NVL(wq.IS_DELETED, 0) = 0";
|
||||
}
|
||||
|
||||
@ -2264,17 +2264,17 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
"LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = eng.HBRVCD AND hbrv.BASEID = wq.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 rvAlong ON rvAlong.RVCD = eng.HBRVCD AND rvAlong.CODE = 'common' AND NVL(rvAlong.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN (SELECT det.SORT, along.RVCD, det.STCD " +
|
||||
"LEFT JOIN MS_ALONG_B rvAlong ON rvAlong.BASEID = wq.BASE_ID AND rvAlong.CODE = 'common' AND NVL(rvAlong.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN (SELECT det.SORT,along.BASEID, along.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B along ON det.ALONG_ID = along.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(along.IS_DELETED, 0) = 0 AND along.CODE = 'common') rstAlong " +
|
||||
" ON rstAlong.RVCD = eng.HBRVCD AND rstAlong.STCD = wq.RSTCD " +
|
||||
"LEFT JOIN (SELECT det.SORT, along.RVCD, det.STCD " +
|
||||
" ON rstAlong.RVCD = wq.BASE_ID AND rstAlong.STCD = wq.RSTCD " +
|
||||
"LEFT JOIN (SELECT det.SORT,along.BASEID, along.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B along ON det.ALONG_ID = along.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(along.IS_DELETED, 0) = 0 AND along.CODE = 'common') siteAlong " +
|
||||
" ON siteAlong.RVCD = eng.HBRVCD AND siteAlong.STCD = wq.STCD " +
|
||||
" ON siteAlong.BASEID = wq.BASE_ID AND siteAlong.STCD = wq.STCD " +
|
||||
"WHERE wq.STTP = 'WQ' AND NVL(wq.IS_DELETED, 0) = 0";
|
||||
}
|
||||
|
||||
@ -3308,6 +3308,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
String countField = row.containsKey("COUNT_STCD") ? "COUNT_STCD" : "COUNT_" + upperField;
|
||||
String aggregateKey = "COUNT_STCD".equals(countField) ? "count_stcd" : "count_" + groupField;
|
||||
Object countValue = row.get(countField);
|
||||
Map<String, Object> item = new LinkedHashMap<>();
|
||||
if (countValue == null) {
|
||||
countValue = row.get("count_stcd");
|
||||
}
|
||||
@ -3321,7 +3322,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
count = Long.parseLong(String.valueOf(countValue));
|
||||
}
|
||||
|
||||
Map<String, Object> item = new LinkedHashMap<>();
|
||||
|
||||
item.put("key", key);
|
||||
item.put("keyName", null);
|
||||
item.put("keyExt", new HashMap<>());
|
||||
@ -3330,7 +3331,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
detail.put(upperField, key);
|
||||
detail.put(countField, count);
|
||||
item.put("items", List.of(detail));
|
||||
item.put("count", 0);
|
||||
item.put("count", count);
|
||||
item.put("summary", new Object[0]);
|
||||
|
||||
Map<String, Object> aggregates = new LinkedHashMap<>();
|
||||
@ -4557,7 +4558,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
}
|
||||
|
||||
@Override
|
||||
// @Cacheable(cacheNames = "weCache#3600", keyGenerator = "cacheKeyGenerator")
|
||||
@Cacheable(cacheNames = "wqCache#3600", keyGenerator = "cacheKeyByUserGenerator")
|
||||
public DataSourceResult<EnvWqAnchorPointVo> getAnchorPointKendoListCust(DataSourceRequest dataSourceRequest) {
|
||||
DataSourceResult<EnvWqAnchorPointVo> dataSourceResult = new DataSourceResult<>();
|
||||
dataSourceResult.setAggregates(new HashMap<>());
|
||||
@ -4616,19 +4617,19 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
.append("LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = eng.HBRVCD AND NVL(hbrv.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN SD_RVCD_DIC rvcd ON rvcd.RVCD = eng.RVCD AND NVL(rvcd.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN SD_ADDVCD_DIC addvcd ON addvcd.ADDVCD = eng.ADDVCD ")
|
||||
.append("LEFT JOIN MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN MS_ALONG_B along ON along.BASEID = t.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN ( ")
|
||||
.append(" SELECT det.SORT, cfg.RVCD, det.STCD ")
|
||||
.append(" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' ")
|
||||
.append(") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = t.RSTCD ")
|
||||
.append(") rstSort ON rstSort.BASEID = t.BASE_ID AND rstSort.STCD = t.RSTCD ")
|
||||
.append("LEFT JOIN ( ")
|
||||
.append(" SELECT det.SORT, cfg.RVCD, det.STCD ")
|
||||
.append(" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' ")
|
||||
.append(") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = t.STCD ")
|
||||
.append(") siteSort ON siteSort.BASEID = t.BASE_ID AND siteSort.STCD = t.STCD ")
|
||||
.append("WHERE NVL(t.IS_DELETED, 0) = 0 ")
|
||||
.append("AND NVL(t.USFL, 1) = 1 ");
|
||||
|
||||
|
||||
@ -95,6 +95,9 @@ public class SdWtBaseInfoVO implements Serializable {
|
||||
@Schema(description = "基地流域编码")
|
||||
private String hbrvcd;
|
||||
|
||||
@Schema(description = "基地流域名称")
|
||||
private String hbrvcdName;
|
||||
|
||||
@Schema(description = "经度")
|
||||
private Double lgtd;
|
||||
|
||||
|
||||
@ -62,7 +62,7 @@ public interface AlongListMapper extends BaseMapper<SdAlongVO> {
|
||||
" and MAB.RVCD=#{rvcd} " +
|
||||
" </if>" +
|
||||
" <if test='baseId != null and baseId != \"\"'>" +
|
||||
" and MAB.RVCD in (select HBRVCD from SD_HBRV_DIC where IS_DELETED=0 and ENABLED=1 and BASEID=#{baseId}) " +
|
||||
" and MAB.BASEID in (select BASEID from SD_HYDROBASE where IS_DELETED=0 and ENABLED=1 and BASEID=#{baseId}) " +
|
||||
" </if>" +
|
||||
" union all " +
|
||||
" select " +
|
||||
@ -93,7 +93,7 @@ public interface AlongListMapper extends BaseMapper<SdAlongVO> {
|
||||
" and MAB.RVCD=#{rvcd} " +
|
||||
" </if>" +
|
||||
" <if test='baseId != null and baseId != \"\"'>" +
|
||||
" and MAB.RVCD in (select HBRVCD from SD_HBRV_DIC where IS_DELETED=0 and ENABLED=1 and BASEID=#{baseId}) " +
|
||||
" and MAB.BASEID in (select BASEID from SD_HYDROBASE where IS_DELETED=0 and ENABLED=1 and BASEID=#{baseId}) " +
|
||||
" </if>" +
|
||||
") T order by rvcdSort asc, sort asc" +
|
||||
"</script>")
|
||||
@ -117,7 +117,7 @@ public interface AlongListMapper extends BaseMapper<SdAlongVO> {
|
||||
"and MAB.RVCD=#{rvcd} " +
|
||||
"</if>" +
|
||||
"<if test='baseId != null and baseId != \"\"'>" +
|
||||
"and MAB.RVCD in (select HBRVCD from SD_HBRV_DIC where IS_DELETED=0 and ENABLED=1 and BASEID=#{baseId}) " +
|
||||
"and MAB.BASEID in (select BASEID from SD_HYDROBASE where IS_DELETED=0 and ENABLED=1 and BASEID=#{baseId}) " +
|
||||
"</if>" +
|
||||
"order by MAB.ORDER_INDEX asc, SAD.SORT asc, SWR.TM desc" +
|
||||
") where ROWNUM=1" +
|
||||
|
||||
@ -34,6 +34,7 @@ import com.yfd.platform.utils.RedisCacheUtil;
|
||||
import com.yfd.platform.utils.SecurityUtils;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.Data;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@ -712,6 +713,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
.append("dw.ORDER_INDEX AS siteStepSort, ")
|
||||
.append("dw.STNM AS stnm, ")
|
||||
.append("eng.ENNM AS ennm, ")
|
||||
.append("eng.REACHCD_NAME AS hbrvcdName, ")
|
||||
.append("dw.JCDT AS jcdt, ")
|
||||
.append("NULL AS stindx, ")
|
||||
.append("CASE WHEN NVL(dw.DTIN, 0) = 1 THEN 1 ELSE 0 END AS coenvwState, ")
|
||||
@ -734,6 +736,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
.append("eng.HBRVCD AS hbrvcd ")
|
||||
.append("FROM SD_DW_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_RVCD_DIC srd ON eng.REACHCD = srd.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = eng.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = eng.HBRVCD AND hbrv.BASEID = eng.BASE_ID AND NVL(hbrv.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN SD_STTP_B sttp ON sttp.STTP_CODE = dw.STTP AND NVL(sttp.IS_DELETED, 0) = 0 ")
|
||||
@ -790,9 +793,21 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
sql.append("AND wt.STTP = #{map.sttpCode} ");
|
||||
}
|
||||
if (queryDwDirectly && StrUtil.isNotBlank(sttpCode)) {
|
||||
List<String> sttpCodes = StrUtil.split(sttpCode, ",");
|
||||
if(sttpCodes.size() > 1){
|
||||
// 正确拼接,每个值加单引号并用逗号连接
|
||||
String joined = sttpCodes.stream()
|
||||
.map(s -> "'" + s.replace("'", "''") + "'") // 转义单引号
|
||||
.collect(Collectors.joining(","));
|
||||
sql.append("AND dw.STTP NOT IN (").append(joined).append(") ");
|
||||
}
|
||||
if(sttpCodes.size() == 1){
|
||||
paramMap.put("sttpCode", sttpCode);
|
||||
sql.append("AND dw.STTP = #{map.sttpCode} ");
|
||||
}
|
||||
// paramMap.put("sttpCode", sttpCode);
|
||||
// sql.append("AND dw.STTP = #{map.sttpCode} ");
|
||||
}
|
||||
|
||||
if (queryDwDirectly && StrUtil.isNotBlank(bldsttCcode)) {
|
||||
paramMap.put("bldsttCcode", bldsttCcode);
|
||||
@ -1291,21 +1306,21 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wt.RSTCD ")
|
||||
.append("LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = eng.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN (")
|
||||
.append(" SELECT det.STCD, det.SORT, along.RVCD ")
|
||||
.append(" SELECT det.STCD, det.SORT,along.BASEID, along.RVCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B along ON along.ID = det.ALONG_ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND along.CODE = 'common'")
|
||||
.append(") rstSort ON rstSort.STCD = wt.RSTCD AND rstSort.RVCD = eng.HBRVCD ")
|
||||
.append(") rstSort ON rstSort.STCD = wt.RSTCD AND rstSort.BASEID = wt.BASE_ID ")
|
||||
.append("LEFT JOIN (")
|
||||
.append(" SELECT det.STCD, det.SORT, along.RVCD ")
|
||||
.append(" SELECT det.STCD, det.SORT,along.BASEID, along.RVCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B along ON along.ID = det.ALONG_ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND along.CODE = 'common'")
|
||||
.append(") siteSort ON siteSort.STCD = wt.STCD AND siteSort.RVCD = eng.HBRVCD ")
|
||||
.append(") siteSort ON siteSort.STCD = wt.STCD AND siteSort.BASEID = wt.BASE_ID ")
|
||||
.append("WHERE NVL(wt.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND wt.STTP = 'WTVT' ")
|
||||
.append(" AND NVL(wt.USFL, 0) = 1 ")
|
||||
@ -1366,21 +1381,21 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = wt.RSTCD ")
|
||||
.append("LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = eng.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN (")
|
||||
.append(" SELECT det.STCD, det.SORT, along.RVCD ")
|
||||
.append(" SELECT det.STCD, det.SORT,along.BASEID, along.RVCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B along ON along.ID = det.ALONG_ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND along.CODE = 'common'")
|
||||
.append(") rstSort ON rstSort.STCD = wt.RSTCD AND rstSort.RVCD = eng.HBRVCD ")
|
||||
.append(") rstSort ON rstSort.STCD = wt.RSTCD AND rstSort.BASEID = wt.BASE_ID ")
|
||||
.append("LEFT JOIN (")
|
||||
.append(" SELECT det.STCD, det.SORT, along.RVCD ")
|
||||
.append(" SELECT det.STCD, det.SORT,along.BASEID, along.RVCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B along ON along.ID = det.ALONG_ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND along.CODE = 'common'")
|
||||
.append(") siteSort ON siteSort.STCD = wt.STCD AND siteSort.RVCD = eng.HBRVCD ")
|
||||
.append(") siteSort ON siteSort.STCD = wt.STCD AND siteSort.BASEID = wt.BASE_ID ")
|
||||
.append("WHERE NVL(wt.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND wt.STTP = 'WTVT' ")
|
||||
.append(" AND NVL(wt.USFL, 0) = 1 ")
|
||||
@ -2846,6 +2861,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Cacheable(cacheNames = "dwCache#3600", keyGenerator = "cacheKeyByUserGenerator")
|
||||
public DataSourceResult<DwSlowFacilityMapVO> getFacilityPointKendoListCust(DataSourceRequest dataSourceRequest) {
|
||||
DataSourceResult<DwSlowFacilityMapVO> dataSourceResult = new DataSourceResult<>();
|
||||
dataSourceResult.setAggregates(new HashMap<>());
|
||||
@ -2888,7 +2904,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = t.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN SD_STTP_B sttp ON sttp.STTP_CODE = t.STTP AND NVL(sttp.IS_DELETED, 0) = 0 ")
|
||||
.append("WHERE NVL(t.IS_DELETED, 0) = 0 ")
|
||||
.append("AND NVL(t.USFL, 1) = 1 ")
|
||||
// .append("AND NVL(t.USFL, 1) = 1 ")
|
||||
.append("AND t.LGTD IS NOT NULL ")
|
||||
.append("AND t.LTTD IS NOT NULL ");
|
||||
|
||||
@ -2943,6 +2959,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
}
|
||||
|
||||
@Override
|
||||
// @Cacheable(cacheNames = "wtCache#3600", keyGenerator = "cacheKeyByUserGenerator")
|
||||
public DataSourceResult<WaterTempMapVO> getEngTempPointListKendoListCust(DataSourceRequest dataSourceRequest) {
|
||||
DataSourceResult<WaterTempMapVO> dataSourceResult = new DataSourceResult<>();
|
||||
dataSourceResult.setAggregates(new HashMap<>());
|
||||
@ -3016,6 +3033,13 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
||||
// paramMap.put("dtinType", dtinType);
|
||||
// }
|
||||
|
||||
DataScopeApplyResult scopeApplyResult = dataScopeFilterService.appendCurrentUserStationScope(sql, paramMap, "t.RSTCD");
|
||||
if (scopeApplyResult.isEmptyResult()) {
|
||||
dataSourceResult.setData(new ArrayList<>());
|
||||
dataSourceResult.setTotal(0L);
|
||||
return dataSourceResult;
|
||||
}
|
||||
|
||||
List<DataSourceRequest.SortDescriptor> sort = dataSourceRequest.getSort();
|
||||
if (sort != null && !sort.isEmpty()) {
|
||||
sql.append(" ORDER BY ");
|
||||
|
||||
@ -36,6 +36,15 @@ public class WeVmsstbprptVo {
|
||||
@Schema(description = "河流编码")
|
||||
private String rvcd;
|
||||
|
||||
@Schema(description = "站址/位置")
|
||||
private String stlc;
|
||||
|
||||
@Schema(description = "地形裁剪范围")
|
||||
private String box;
|
||||
|
||||
@Schema(description = "基地编码")
|
||||
private String baseName;
|
||||
|
||||
@Schema(description = "排序")
|
||||
private Integer orderIndex;
|
||||
|
||||
|
||||
@ -1113,16 +1113,16 @@ public class WeFishServiceImpl implements WeFishService {
|
||||
.append(" WHERE NVL(IS_DELETED, 0) = 0 AND STATUS = 1 ")
|
||||
.append(" GROUP BY STCD ")
|
||||
.append(") latest ON latest.STCD = section.STCD ")
|
||||
.append("LEFT JOIN MS_ALONG_B along ON along.RVCD = section.HBRVCD ")
|
||||
.append("LEFT JOIN MS_ALONG_B along ON along.BASEID = section.BASE_ID ")
|
||||
.append(" AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||
.append("LEFT JOIN ( ")
|
||||
.append(" SELECT det.SORT, cfg.RVCD, det.STCD ")
|
||||
.append(" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD ")
|
||||
.append(" FROM MS_ALONGDET_B det ")
|
||||
.append(" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID ")
|
||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND NVL(cfg.IS_DELETED, 0) = 0 ")
|
||||
.append(" AND cfg.CODE = 'common' ")
|
||||
.append(") siteSort ON siteSort.RVCD = section.HBRVCD AND siteSort.STCD = section.STCD ")
|
||||
.append(") siteSort ON siteSort.BASEID = section.BASE_ID AND siteSort.STCD = section.STCD ")
|
||||
.append("WHERE NVL(section.USFL, 1) = 1 ");
|
||||
|
||||
String filterSql = buildWePointFilterCondition(dataSourceRequest.getFilter(), paramMap, new int[]{0});
|
||||
@ -1923,7 +1923,7 @@ public class WeFishServiceImpl implements WeFishService {
|
||||
List<String> rstcdList,
|
||||
Map<String, Object> paramMap) {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append("SELECT t.HBRVCD AS hbrvcd, t.YR AS yr ")
|
||||
sql.append("SELECT t.BASE_ID AS hbrvcd, t.YR AS yr ")
|
||||
.append("FROM (")
|
||||
.append("SELECT section.HBRVCD, section.RSTCD, section.BASE_ID, TO_CHAR(we.TM, 'yyyy') AS yr ")
|
||||
.append("FROM SD_WE_B_H section ")
|
||||
@ -2753,7 +2753,16 @@ public class WeFishServiceImpl implements WeFishService {
|
||||
"b.NAME AS name, " +
|
||||
"b.NAME_EN AS nameEn, " +
|
||||
"b.PROTECTLVL AS protectlvl, " +
|
||||
"b.PROTECTLVL AS protectlvlName, " +
|
||||
"CASE b.PROTECTLVL\n" +
|
||||
" WHEN '1' THEN '国家一级'\n" +
|
||||
" WHEN '2' THEN '国家二级'\n" +
|
||||
" WHEN '3' THEN '国家三级'\n" +
|
||||
" WHEN '4' THEN '省重点'\n" +
|
||||
" WHEN '5' THEN '市一级'\n" +
|
||||
" WHEN '6' THEN '市二级'\n" +
|
||||
" WHEN '7' THEN '无'\n" +
|
||||
" ELSE b.PROTECTLVL\n" +
|
||||
"END AS protectlvlName, " +
|
||||
"b.LOGO AS logo, " +
|
||||
"b.INTRODUCE AS introduce " +
|
||||
"FROM MS_SPECANIMALS_B a " +
|
||||
@ -3286,11 +3295,14 @@ public class WeFishServiceImpl implements WeFishService {
|
||||
return "SELECT " +
|
||||
"ai.STCD AS id, " +
|
||||
"ai.STTP AS sttpCode, " +
|
||||
"ai.STLC AS stlc, " +
|
||||
"ai.STCD AS stcd, " +
|
||||
"ai.STNM AS stnm, " +
|
||||
"ai.BOX AS box, " +
|
||||
"ai.RSTCD AS rstcd, " +
|
||||
"eng.ENNM AS ennm, " +
|
||||
"ai.BASE_ID AS baseId, " +
|
||||
"hb.BASENAME AS baseName, " +
|
||||
"ai.HBRVCD AS hbrvcd, " +
|
||||
"ai.RVCD AS rvcd, " +
|
||||
"ai.ORDER_INDEX AS orderIndex, " +
|
||||
@ -3298,6 +3310,7 @@ public class WeFishServiceImpl implements WeFishService {
|
||||
"ai.LTTD AS lttd " +
|
||||
"FROM SD_AIMONITOR_B_H ai " +
|
||||
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = ai.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN SD_HYDROBASE hb ON hb.BASEID = ai.BASE_ID AND NVL(hb.IS_DELETED, 0) = 0 " +
|
||||
"WHERE NVL(ai.IS_DELETED, 0) = 0";
|
||||
}
|
||||
|
||||
@ -3350,6 +3363,9 @@ public class WeFishServiceImpl implements WeFishService {
|
||||
selected.add("t.sttpCode AS sttpCode");
|
||||
selected.add("t.stnm AS stnm");
|
||||
selected.add("t.stcd AS stcd");
|
||||
selected.add("t.stlc AS stlc");
|
||||
selected.add("t.box AS box");
|
||||
selected.add("t.baseName AS baseName");
|
||||
} else {
|
||||
for (String field : selectFields) {
|
||||
String column = columns.get(field);
|
||||
|
||||
@ -714,19 +714,19 @@ public class ZqMonitorServiceImpl implements ZqMonitorService {
|
||||
"LEFT JOIN SD_HBRV_DIC hbrv ON hbrv.HBRVCD = eng.HBRVCD AND hbrv.BASEID = eng.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 MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = rb.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = rb.RSTCD " +
|
||||
") rstSort ON rstSort.BASEID = rb.BASE_ID AND rstSort.STCD = rb.RSTCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = rb.STCD " +
|
||||
") siteSort ON siteSort.BASEID = rb.BASE_ID AND siteSort.STCD = rb.STCD " +
|
||||
"LEFT JOIN SD_VDINFO_B vdb ON vdb.CSTCD = rr.STCD AND NVL(vdb.USFL, 1) = 1 " +
|
||||
"LEFT JOIN SD_VDINFO_R vdr ON vdr.STCD = vdb.STCD AND vdr.TM = rr.TM AND NVL(vdr.IS_DELETED, 0) = 0 " +
|
||||
"WHERE NVL(rr.IS_DELETED, 0) = 0 " +
|
||||
@ -761,19 +761,19 @@ public class ZqMonitorServiceImpl implements ZqMonitorService {
|
||||
"INNER JOIN SD_RIVER_B_H rb ON rb.STCD = day.STCD AND rb.STTP = 'ZQ' AND NVL(rb.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = rb.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 MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = rb.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = rb.RSTCD " +
|
||||
") rstSort ON rstSort.BASEID = rb.BASE_ID AND rstSort.STCD = rb.RSTCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = rb.STCD " +
|
||||
") siteSort ON siteSort.BASEID = rb.BASE_ID AND siteSort.STCD = rb.STCD " +
|
||||
"WHERE NVL(day.IS_DELETED, 0) = 0 ";
|
||||
}
|
||||
|
||||
@ -808,19 +808,19 @@ public class ZqMonitorServiceImpl implements ZqMonitorService {
|
||||
"INNER JOIN SD_RIVER_B_H rb ON rb.STCD = drtp.STCD AND rb.STTP = 'ZQ' AND NVL(rb.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = rb.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 MS_ALONG_B along ON along.RVCD = eng.HBRVCD AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = rb.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") rstSort ON rstSort.RVCD = eng.HBRVCD AND rstSort.STCD = rb.RSTCD " +
|
||||
") rstSort ON rstSort.BASEID = rb.BASE_ID AND rstSort.STCD = rb.RSTCD " +
|
||||
"LEFT JOIN ( " +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD " +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||
" FROM MS_ALONGDET_B det " +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID " +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common' " +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = rb.STCD " +
|
||||
") siteSort ON siteSort.BASEID = rb.BASE_ID AND siteSort.STCD = rb.STCD " +
|
||||
"WHERE NVL(drtp.IS_DELETED, 0) = 0 ";
|
||||
}
|
||||
|
||||
@ -2419,11 +2419,11 @@ public class ZqMonitorServiceImpl implements ZqMonitorService {
|
||||
"LEFT JOIN SD_RVCD_DIC rv ON rv.RVCD = eng.RVCD\n" +
|
||||
"LEFT JOIN SD_RIVER_B_H fh ON fh.STCD = rb.FHSTCD AND NVL(fh.IS_DELETED, 0) = 0\n" +
|
||||
"LEFT JOIN (\n" +
|
||||
" SELECT det.SORT, cfg.RVCD, det.STCD\n" +
|
||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD\n" +
|
||||
" FROM MS_ALONGDET_B det\n" +
|
||||
" INNER JOIN MS_ALONG_B cfg ON det.ALONG_ID = cfg.ID\n" +
|
||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(cfg.IS_DELETED, 0) = 0 AND cfg.CODE = 'common'\n" +
|
||||
") siteSort ON siteSort.RVCD = eng.HBRVCD AND siteSort.STCD = rb.STCD\n" +
|
||||
") siteSort ON siteSort.BASEID = rb.BASE_ID AND siteSort.STCD = rb.STCD\n" +
|
||||
"WHERE NVL(rb.IS_DELETED, 0) = 0 AND rb.STTP = 'ZQ' AND rb.LGTD IS NOT NULL AND rb.LTTD IS NOT NULL ");
|
||||
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
|
||||
@ -62,6 +62,7 @@ public class MapLegendController {
|
||||
Page<MsMaplegendB> page = DataSourceRequestUtil.getPage(dataSourceRequest);
|
||||
Page<MsMaplegendB> resultPage;
|
||||
wrapper.eq("IS_DELETED", 0);
|
||||
wrapper.orderByDesc("ORDER_INDEX");
|
||||
if (page != null) {
|
||||
resultPage = mapLegendService.page(page, wrapper);
|
||||
} else {
|
||||
|
||||
@ -3,6 +3,8 @@ package com.yfd.platform.qgc_sys.mapLayer.mapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.yfd.platform.qgc_sys.mapLayer.domain.MsMaplegendB;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
/**
|
||||
* 地图图例表 Mapper 接口
|
||||
@ -11,4 +13,10 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
*/
|
||||
@Mapper
|
||||
public interface MsMaplegendBMapper extends BaseMapper<MsMaplegendB> {
|
||||
|
||||
/**
|
||||
* 修改图例名称,解决Oracle/m³变成m3的问题
|
||||
*/
|
||||
@Update("UPDATE MS_MAPLEGEND_B SET NAME = #{name} WHERE ID = #{id}")
|
||||
void updateModelName(@Param("id") String id, @Param("name") String name);
|
||||
}
|
||||
@ -13,9 +13,11 @@ import com.yfd.platform.qgc_sys.mapLayer.mapper.MsMapmoduleBMapper;
|
||||
import com.yfd.platform.qgc_sys.mapLayer.service.IMapLegendService;
|
||||
import com.yfd.platform.utils.SecurityUtils;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -31,6 +33,12 @@ public class MapLegendServiceImpl extends ServiceImpl<MsMaplegendBMapper, MsMapl
|
||||
@Resource
|
||||
private MsMapmoduleBMapper msMapmoduleBMapper;
|
||||
|
||||
@Value("${spring.datasource.druid.master.driverClassName}")
|
||||
private String jdbcDriver;
|
||||
|
||||
@Value("${spring.datasource.druid.slave.driverClassName}")
|
||||
private String slaveJdbcDriver;
|
||||
|
||||
@Override
|
||||
public void delelteByIds(List<String> ids) {
|
||||
if (CollectionUtil.isEmpty(ids)) {
|
||||
@ -101,13 +109,20 @@ public class MapLegendServiceImpl extends ServiceImpl<MsMaplegendBMapper, MsMapl
|
||||
|
||||
@Override
|
||||
public boolean saveOrUpdate(MsMaplegendB legend) {
|
||||
// 修改: 不能有编码一样的数据
|
||||
if (hasSameCode(legend)) {
|
||||
throw new BizException("存在相同编码的数据");
|
||||
}
|
||||
if (StrUtil.isNotBlank(legend.getId())) {
|
||||
// 更新父级,分组等
|
||||
updateSetLegend(legend);
|
||||
legend.setModifyUser(SecurityUtils.getUserId());
|
||||
legend.setModifyTime(new Date());
|
||||
super.updateById(legend);
|
||||
// 对图例名称操作,解决m³变成m3
|
||||
updateModelName(legend);
|
||||
} else {
|
||||
// 如果是新增数据,则必须有父级
|
||||
if (legend.getDataType() == 2 && StrUtil.isBlank(legend.getParentId())) {
|
||||
throw new BizException("请先创建图例父级结构再添加数据.");
|
||||
}
|
||||
@ -119,22 +134,32 @@ public class MapLegendServiceImpl extends ServiceImpl<MsMaplegendBMapper, MsMapl
|
||||
legend.setOrderIndex(maxOrderIndex + 1);
|
||||
MsMaplegendB parentLegend = null;
|
||||
if (StrUtil.isNotBlank(legend.getParentId())) {
|
||||
// 获取父级信息
|
||||
parentLegend = this.getById(legend.getParentId());
|
||||
if (parentLegend == null) {
|
||||
throw new BizException("获取父级图例信息失败.请检查父级图例(parentId)是否存在.");
|
||||
}
|
||||
// 设置fullPath
|
||||
legend.setFullPath(parentLegend.getFullPath() + legend.getId() + ",");
|
||||
legend.setTreeLevel(parentLegend.getTreeLevel() + 1);
|
||||
// 设置treeLevel
|
||||
Integer parentLevel = parentLegend.getTreeLevel();
|
||||
int newLevel = (parentLevel != null) ? parentLevel + 1 : 1; // 如果父级为空,则从1开始
|
||||
legend.setTreeLevel(newLevel);
|
||||
// 设置hasChildren
|
||||
legend.setHasChildren(0);
|
||||
} else {
|
||||
// 无父级,则为创建的顶级图例
|
||||
legend.setTreeLevel(1);
|
||||
legend.setFullPath(legend.getId() + ",");
|
||||
legend.setHasChildren(0);
|
||||
}
|
||||
if (legend.getDataType() == 1) {
|
||||
// 为结构的时候,groupName,parentName 等于自己
|
||||
legend.setGroupName(legend.getName());
|
||||
legend.setParentName(legend.getName());
|
||||
} else {
|
||||
// 为数据的时候,groupName 取二级名称,parentName 取一级名称
|
||||
// (暂时只有2级结构,如果没有二级,groupName和parentName一样,都取一级名称)
|
||||
String fullPath = parentLegend.getFullPath();
|
||||
if (StrUtil.isNotBlank(fullPath)) {
|
||||
String[] path = fullPath.split(",");
|
||||
@ -155,18 +180,24 @@ public class MapLegendServiceImpl extends ServiceImpl<MsMaplegendBMapper, MsMapl
|
||||
if (parentLegend != null && StrUtil.isBlank(legend.getLayerCode())) {
|
||||
legend.setLayerCode(parentLegend.getLayerCode());
|
||||
}
|
||||
// 设置是否显示
|
||||
legend.setIfShow(0);
|
||||
// 设置是否内置
|
||||
legend.setInternal(0);
|
||||
// 设置启用
|
||||
legend.setEnable(0);
|
||||
legend.setRecordUser(SecurityUtils.getUserId());
|
||||
legend.setModifyUser(SecurityUtils.getUserId());
|
||||
this.save(legend);
|
||||
// 新增完成后,设置父级hasChildren为1
|
||||
if (parentLegend != null) {
|
||||
MsMaplegendB temp = new MsMaplegendB();
|
||||
temp.setId(parentLegend.getId());
|
||||
temp.setHasChildren(1);
|
||||
this.updateById(temp);
|
||||
}
|
||||
// 对图例名称操作,解决m³变成m3
|
||||
updateModelName(legend);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -237,4 +268,27 @@ public class MapLegendServiceImpl extends ServiceImpl<MsMaplegendBMapper, MsMapl
|
||||
.list();
|
||||
return !CollectionUtil.isEmpty(list) && !list.get(0).getId().equals(legend.getId());
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改图例名称,解决Oracle/m³变成m3的问题
|
||||
*/
|
||||
public void updateModelName(MsMaplegendB legend) {
|
||||
if (StrUtil.isNotBlank(legend.getName())) {
|
||||
String jdbcDriver = this.jdbcDriver;
|
||||
if (jdbcDriver != null &&
|
||||
(jdbcDriver.toLowerCase().contains("oracle")
|
||||
|| jdbcDriver.toLowerCase().contains("dm")
|
||||
|| jdbcDriver.toLowerCase().contains("kingbase8"))) {
|
||||
String name = legend.getName();
|
||||
if (name.contains("m³")) {
|
||||
name = name.replace("m³", "m\\00b3");
|
||||
}
|
||||
if (name.contains("m²")) {
|
||||
name = name.replace("m²", "m\\00b2");
|
||||
}
|
||||
legend.setName(name);
|
||||
this.baseMapper.updateModelName(legend.getId(), legend.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3,6 +3,7 @@ package com.yfd.platform.qgc_sys.mapcfg.controller;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.yfd.platform.common.DataSourceLoadOptionsBase;
|
||||
import com.yfd.platform.common.DataSourceRequest;
|
||||
@ -175,12 +176,23 @@ public class MapmoduleBController {
|
||||
layerModule.setChildNode(mapmoduleB.getChildNode());
|
||||
layerModule.setMultiSelect(mapmoduleB.getMultiSelect());
|
||||
layerModule.setCanBeChecked(mapmoduleB.getCanBeChecked());
|
||||
layerModule.setChecked(mapmoduleB.getChecked());
|
||||
// 判断mapmoduleB.getChecked() 如果是空则默认为1
|
||||
layerModule.setChecked(mapmoduleB.getChecked() == null ? 1 : mapmoduleB.getChecked());
|
||||
layerModule.setDescription(mapmoduleB.getDescription());
|
||||
layerModule.setEnable(mapmoduleB.getEnable());
|
||||
layerModule.setOrderIndex(mapmoduleB.getOrderIndex());
|
||||
layerModule.setFilterContent(mapmoduleB.getFilterContent());
|
||||
mapmoduleBService.saveOrUpdate(layerModule);
|
||||
}else if(count ==1){
|
||||
// 走图层修改逻辑
|
||||
LambdaUpdateWrapper<MsMapmoduleB> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(MsMapmoduleB::getModuleId, mapmoduleB.getModuleId());
|
||||
updateWrapper.eq(MsMapmoduleB::getSystemId, mapmoduleB.getSystemId());
|
||||
updateWrapper.eq(MsMapmoduleB::getResType, "layer");
|
||||
updateWrapper.eq(MsMapmoduleB::getResId, layer.getId());
|
||||
updateWrapper.eq(MsMapmoduleB::getIsDeleted, 0).set(MsMapmoduleB::getChecked, mapmoduleB.getChecked());
|
||||
mapmoduleBService.update(updateWrapper);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user