fix: 生态流量达标率小时统计(二级页面)
This commit is contained in:
parent
e7faf1e13c
commit
ee340ce3eb
@ -417,7 +417,6 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
|||||||
Map<String, Object> paramMap,
|
Map<String, Object> paramMap,
|
||||||
int[] indexHolder) {
|
int[] indexHolder) {
|
||||||
boolean hasDtinFilter = CollUtil.isNotEmpty(findFilterValues(filter, "dtin"));
|
boolean hasDtinFilter = CollUtil.isNotEmpty(findFilterValues(filter, "dtin"));
|
||||||
String validTimeFilter = buildIntervalTmFilterCondition(filter, "valid.TM", paramMap, indexHolder, 0);
|
|
||||||
return "SELECT " +
|
return "SELECT " +
|
||||||
"eng.STCD AS stcd, " +
|
"eng.STCD AS stcd, " +
|
||||||
"eng.ENNM AS stnm, " +
|
"eng.ENNM AS stnm, " +
|
||||||
@ -446,9 +445,9 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
|||||||
buildIntervalRateDisplaySql("met.QEC_RATE") + " AS qecRate, " +
|
buildIntervalRateDisplaySql("met.QEC_RATE") + " AS qecRate, " +
|
||||||
buildIntervalRateDisplaySql("met.MWR_RATE") + " AS mwrRate, " +
|
buildIntervalRateDisplaySql("met.MWR_RATE") + " AS mwrRate, " +
|
||||||
buildIntervalRateDisplaySql("met.AVQ_RATE") + " AS avqRate, " +
|
buildIntervalRateDisplaySql("met.AVQ_RATE") + " AS avqRate, " +
|
||||||
buildStaticIntervalSql("met.QEC_RATE", "met.QR", "qecNoRule.STCD", false) + " AS qecInterval, " +
|
buildStaticIntervalSql("met.STCD", "met.QEC_RATE", "met.QR", "qecNoRule.STCD", false) + " AS qecInterval, " +
|
||||||
buildStaticIntervalSql("met.MWR_RATE", "met.MQR", "mwrNoRule.STCD", false) + " AS mwrInterval, " +
|
buildStaticIntervalSql("met.STCD", "met.MWR_RATE", "met.MQR", "mwrNoRule.STCD", false) + " AS mwrInterval, " +
|
||||||
buildStaticIntervalSql("met.AVQ_RATE", "met.AQR", "eng.AVQ", true) + " AS avqInterval, " +
|
buildStaticIntervalSql("met.STCD", "met.AVQ_RATE", "met.AQR", "eng.AVQ", true) + " AS avqInterval, " +
|
||||||
buildHourPointStateSql("met.QEC_RATE") + " AS anchoPointState, " +
|
buildHourPointStateSql("met.QEC_RATE") + " AS anchoPointState, " +
|
||||||
buildHourPointStateSql("met.MWR_RATE") + " AS mwrPointState, " +
|
buildHourPointStateSql("met.MWR_RATE") + " AS mwrPointState, " +
|
||||||
buildHourPointStateSql("met.AVQ_RATE") + " AS avqPointState, " +
|
buildHourPointStateSql("met.AVQ_RATE") + " AS avqPointState, " +
|
||||||
@ -486,9 +485,7 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
|||||||
"WHERE NVL(eng.IS_DELETED, 0) = 0 " +
|
"WHERE NVL(eng.IS_DELETED, 0) = 0 " +
|
||||||
" AND NVL(eng.BLDSTT_CODE, 0) = 2 " +
|
" AND NVL(eng.BLDSTT_CODE, 0) = 2 " +
|
||||||
(hasDtinFilter ? "" : " AND NVL(eng.DTIN, 0) = 1 ") +
|
(hasDtinFilter ? "" : " AND NVL(eng.DTIN, 0) = 1 ") +
|
||||||
" AND EXISTS (SELECT 1 FROM SD_QEC_R valid WHERE valid.STCD = eng.STCD AND NVL(valid.IS_DELETED, 0) = 0" +
|
" AND NVL(eng.RUN_STATE, 0) = 4";
|
||||||
(StrUtil.isNotBlank(validTimeFilter) ? " AND " + validTimeFilter : "") +
|
|
||||||
")";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String buildHourMetricSourceSql(DataSourceRequest.FilterDescriptor filter,
|
private String buildHourMetricSourceSql(DataSourceRequest.FilterDescriptor filter,
|
||||||
@ -1578,15 +1575,13 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
|||||||
Map<String, Object> paramMap = new HashMap<>();
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
int[] indexHolder = new int[]{0};
|
int[] indexHolder = new int[]{0};
|
||||||
boolean hasDtinFilter = CollUtil.isNotEmpty(findFilterValues(dataSourceRequest == null ? null : dataSourceRequest.getFilter(), "dtin"));
|
boolean hasDtinFilter = CollUtil.isNotEmpty(findFilterValues(dataSourceRequest == null ? null : dataSourceRequest.getFilter(), "dtin"));
|
||||||
String validTable = "day".equalsIgnoreCase(type) ? "SD_QECDAY_S" : "SD_QEC_R";
|
|
||||||
String validTimeColumn = "day".equalsIgnoreCase(type) ? "valid.DT" : "valid.TM";
|
|
||||||
sql.append("SELECT ")
|
sql.append("SELECT ")
|
||||||
.append("eng.STCD AS stcd, ")
|
.append("eng.STCD AS stcd, ")
|
||||||
.append(buildStaticIntervalSql("agg.QEC_RATE", "agg.QR", "qecNoRule.STCD", false))
|
.append(buildStaticIntervalSql("agg.STCD", "agg.QEC_RATE", "agg.QR", "qecNoRule.STCD", false))
|
||||||
.append(" AS qecInterval, ")
|
.append(" AS qecInterval, ")
|
||||||
.append(buildStaticIntervalSql("agg.MWR_RATE", "agg.MQR", "mwrNoRule.STCD", false))
|
.append(buildStaticIntervalSql("agg.STCD", "agg.MWR_RATE", "agg.MQR", "mwrNoRule.STCD", false))
|
||||||
.append(" AS mwrInterval, ")
|
.append(" AS mwrInterval, ")
|
||||||
.append(buildStaticIntervalSql("agg.AVQ_RATE", "agg.AQR", "eng.AVQ", true))
|
.append(buildStaticIntervalSql("agg.STCD", "agg.AVQ_RATE", "agg.AQR", "eng.AVQ", true))
|
||||||
.append(" AS avqInterval ")
|
.append(" AS avqInterval ")
|
||||||
.append("FROM SD_ENGINFO_B_H eng ")
|
.append("FROM SD_ENGINFO_B_H eng ")
|
||||||
.append("LEFT JOIN (")
|
.append("LEFT JOIN (")
|
||||||
@ -1608,15 +1603,7 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
|||||||
if (!hasDtinFilter) {
|
if (!hasDtinFilter) {
|
||||||
sql.append(" AND NVL(eng.DTIN, 0) = 1 ");
|
sql.append(" AND NVL(eng.DTIN, 0) = 1 ");
|
||||||
}
|
}
|
||||||
sql.append(" AND EXISTS (SELECT 1 FROM ")
|
sql.append(" AND NVL(eng.RUN_STATE, 0) = 4 ");
|
||||||
.append(validTable)
|
|
||||||
.append(" valid WHERE valid.STCD = eng.STCD AND NVL(valid.IS_DELETED, 0) = 0");
|
|
||||||
String validTimeFilter = buildStaticTimeFilterCondition(dataSourceRequest == null ? null : dataSourceRequest.getFilter(),
|
|
||||||
paramMap, indexHolder, validTimeColumn);
|
|
||||||
if (StrUtil.isNotBlank(validTimeFilter)) {
|
|
||||||
sql.append(" AND ").append(validTimeFilter);
|
|
||||||
}
|
|
||||||
sql.append(") ");
|
|
||||||
|
|
||||||
String stationFilter = buildStaticStationFilterCondition(dataSourceRequest == null ? null : dataSourceRequest.getFilter(), paramMap, indexHolder);
|
String stationFilter = buildStaticStationFilterCondition(dataSourceRequest == null ? null : dataSourceRequest.getFilter(), paramMap, indexHolder);
|
||||||
if (StrUtil.isNotBlank(stationFilter)) {
|
if (StrUtil.isNotBlank(stationFilter)) {
|
||||||
@ -1889,13 +1876,17 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
|||||||
"FROM SD_ENGINFO_B_H engRule " +
|
"FROM SD_ENGINFO_B_H engRule " +
|
||||||
"WHERE NVL(engRule.IS_DELETED, 0) = 0 " +
|
"WHERE NVL(engRule.IS_DELETED, 0) = 0 " +
|
||||||
" AND NOT EXISTS ( " +
|
" AND NOT EXISTS ( " +
|
||||||
" SELECT 1 FROM MS_WARN_RULE_B rule " +
|
" SELECT 1 FROM MS_WARN_RULE_STBPRP_B ruleStbprp " +
|
||||||
" INNER JOIN MS_WARN_RULE_DETAIL_B detail ON detail.RULE_ID = rule.ID AND NVL(detail.IS_DELETED, 0) = 0 " +
|
" INNER JOIN MS_WARN_RULE_DETAIL_B detail ON detail.RULE_ID = ruleStbprp.RULE_ID AND NVL(detail.IS_DELETED, 0) = 0 " +
|
||||||
" WHERE NVL(rule.IS_DELETED, 0) = 0 AND rule.RULE_TYPE = '" + ruleType + "' AND rule.STCD = engRule.STCD " +
|
" INNER JOIN MS_WARN_RULE_B rule ON rule.ID = detail.RULE_ID AND NVL(rule.IS_DELETED, 0) = 0 " +
|
||||||
|
" WHERE NVL(ruleStbprp.IS_DELETED, 0) = 0 " +
|
||||||
|
" AND rule.RULE_TYPE = '" + ruleType + "' " +
|
||||||
|
" AND ruleStbprp.STCD = engRule.STCD " +
|
||||||
" )";
|
" )";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String buildStaticIntervalSql(String rateColumn,
|
private String buildStaticIntervalSql(String stcdColumn,
|
||||||
|
String rateColumn,
|
||||||
String qrColumn,
|
String qrColumn,
|
||||||
String ruleColumn,
|
String ruleColumn,
|
||||||
boolean avqMode) {
|
boolean avqMode) {
|
||||||
@ -1910,10 +1901,10 @@ public class EngEqDataServiceImpl implements EngEqDataService {
|
|||||||
"END";
|
"END";
|
||||||
}
|
}
|
||||||
return "CASE " +
|
return "CASE " +
|
||||||
"WHEN " + rateColumn + " IS NULL AND " + ruleColumn + " IS NULL THEN '" + QecIntervalEnum.QEC_STLL_5_EMPTY.getCode() + "' " +
|
"WHEN " + stcdColumn + " IS NULL AND " + ruleColumn + " IS NULL THEN '" + QecIntervalEnum.QEC_STLL_5_EMPTY.getCode() + "' " +
|
||||||
"WHEN " + rateColumn + " IS NULL AND " + ruleColumn + " IS NOT NULL THEN '" + QecIntervalEnum.QEC_STLL_6_NOEQMN.getCode() + "' " +
|
"WHEN " + stcdColumn + " IS NULL AND " + ruleColumn + " IS NOT NULL THEN '" + QecIntervalEnum.QEC_STLL_6_NOEQMN.getCode() + "' " +
|
||||||
"WHEN " + qrColumn + " = -2 THEN '" + QecIntervalEnum.QEC_STLL_6_NOEQMN.getCode() + "' " +
|
"WHEN " + stcdColumn + " IS NOT NULL AND " + qrColumn + " = -2 THEN '" + QecIntervalEnum.QEC_STLL_6_NOEQMN.getCode() + "' " +
|
||||||
"WHEN " + qrColumn + " = -1 THEN '" + QecIntervalEnum.QEC_STLL_5_EMPTY.getCode() + "' " +
|
"WHEN " + stcdColumn + " IS NOT NULL AND " + qrColumn + " = -1 THEN '" + QecIntervalEnum.QEC_STLL_5_EMPTY.getCode() + "' " +
|
||||||
"WHEN " + rateColumn + " >= 95 THEN '" + QecIntervalEnum.QEC_STLL_1_DY95.getCode() + "' " +
|
"WHEN " + rateColumn + " >= 95 THEN '" + QecIntervalEnum.QEC_STLL_1_DY95.getCode() + "' " +
|
||||||
"WHEN " + rateColumn + " >= 90 AND 95 > " + rateColumn + " THEN '" + QecIntervalEnum.QEC_STLL_2_90AND95.getCode() + "' " +
|
"WHEN " + rateColumn + " >= 90 AND 95 > " + rateColumn + " THEN '" + QecIntervalEnum.QEC_STLL_2_90AND95.getCode() + "' " +
|
||||||
"WHEN " + rateColumn + " >= 80 AND 90 > " + rateColumn + " THEN '" + QecIntervalEnum.QEC_STLL_3_80AND90.getCode() + "' " +
|
"WHEN " + rateColumn + " >= 80 AND 90 > " + rateColumn + " THEN '" + QecIntervalEnum.QEC_STLL_3_80AND90.getCode() + "' " +
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user