diff --git a/backend/src/main/java/com/yfd/platform/qgc_eng/eq/service/impl/EngEqDataServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_eng/eq/service/impl/EngEqDataServiceImpl.java index b0aed9b3..6507c786 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_eng/eq/service/impl/EngEqDataServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_eng/eq/service/impl/EngEqDataServiceImpl.java @@ -417,7 +417,6 @@ public class EngEqDataServiceImpl implements EngEqDataService { Map paramMap, int[] indexHolder) { boolean hasDtinFilter = CollUtil.isNotEmpty(findFilterValues(filter, "dtin")); - String validTimeFilter = buildIntervalTmFilterCondition(filter, "valid.TM", paramMap, indexHolder, 0); return "SELECT " + "eng.STCD AS stcd, " + "eng.ENNM AS stnm, " + @@ -446,9 +445,9 @@ public class EngEqDataServiceImpl implements EngEqDataService { buildIntervalRateDisplaySql("met.QEC_RATE") + " AS qecRate, " + buildIntervalRateDisplaySql("met.MWR_RATE") + " AS mwrRate, " + buildIntervalRateDisplaySql("met.AVQ_RATE") + " AS avqRate, " + - buildStaticIntervalSql("met.QEC_RATE", "met.QR", "qecNoRule.STCD", false) + " AS qecInterval, " + - buildStaticIntervalSql("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.QEC_RATE", "met.QR", "qecNoRule.STCD", false) + " AS qecInterval, " + + buildStaticIntervalSql("met.STCD", "met.MWR_RATE", "met.MQR", "mwrNoRule.STCD", false) + " AS mwrInterval, " + + buildStaticIntervalSql("met.STCD", "met.AVQ_RATE", "met.AQR", "eng.AVQ", true) + " AS avqInterval, " + buildHourPointStateSql("met.QEC_RATE") + " AS anchoPointState, " + buildHourPointStateSql("met.MWR_RATE") + " AS mwrPointState, " + buildHourPointStateSql("met.AVQ_RATE") + " AS avqPointState, " + @@ -486,9 +485,7 @@ public class EngEqDataServiceImpl implements EngEqDataService { "WHERE NVL(eng.IS_DELETED, 0) = 0 " + " AND NVL(eng.BLDSTT_CODE, 0) = 2 " + (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" + - (StrUtil.isNotBlank(validTimeFilter) ? " AND " + validTimeFilter : "") + - ")"; + " AND NVL(eng.RUN_STATE, 0) = 4"; } private String buildHourMetricSourceSql(DataSourceRequest.FilterDescriptor filter, @@ -1578,15 +1575,13 @@ public class EngEqDataServiceImpl implements EngEqDataService { Map paramMap = new HashMap<>(); int[] indexHolder = new int[]{0}; 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 ") .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(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(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("FROM SD_ENGINFO_B_H eng ") .append("LEFT JOIN (") @@ -1608,15 +1603,7 @@ public class EngEqDataServiceImpl implements EngEqDataService { if (!hasDtinFilter) { sql.append(" AND NVL(eng.DTIN, 0) = 1 "); } - sql.append(" AND EXISTS (SELECT 1 FROM ") - .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(") "); + sql.append(" AND NVL(eng.RUN_STATE, 0) = 4 "); String stationFilter = buildStaticStationFilterCondition(dataSourceRequest == null ? null : dataSourceRequest.getFilter(), paramMap, indexHolder); if (StrUtil.isNotBlank(stationFilter)) { @@ -1889,13 +1876,17 @@ public class EngEqDataServiceImpl implements EngEqDataService { "FROM SD_ENGINFO_B_H engRule " + "WHERE NVL(engRule.IS_DELETED, 0) = 0 " + " AND NOT EXISTS ( " + - " SELECT 1 FROM MS_WARN_RULE_B rule " + - " INNER JOIN MS_WARN_RULE_DETAIL_B detail ON detail.RULE_ID = 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 " + + " SELECT 1 FROM MS_WARN_RULE_STBPRP_B ruleStbprp " + + " INNER JOIN MS_WARN_RULE_DETAIL_B detail ON detail.RULE_ID = ruleStbprp.RULE_ID AND NVL(detail.IS_DELETED, 0) = 0 " + + " 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 ruleColumn, boolean avqMode) { @@ -1910,10 +1901,10 @@ public class EngEqDataServiceImpl implements EngEqDataService { "END"; } return "CASE " + - "WHEN " + rateColumn + " 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 " + qrColumn + " = -2 THEN '" + QecIntervalEnum.QEC_STLL_6_NOEQMN.getCode() + "' " + - "WHEN " + qrColumn + " = -1 THEN '" + QecIntervalEnum.QEC_STLL_5_EMPTY.getCode() + "' " + + "WHEN " + stcdColumn + " IS NULL AND " + ruleColumn + " IS NULL THEN '" + QecIntervalEnum.QEC_STLL_5_EMPTY.getCode() + "' " + + "WHEN " + stcdColumn + " IS NULL AND " + ruleColumn + " IS NOT NULL THEN '" + QecIntervalEnum.QEC_STLL_6_NOEQMN.getCode() + "' " + + "WHEN " + stcdColumn + " IS NOT NULL AND " + qrColumn + " = -2 THEN '" + QecIntervalEnum.QEC_STLL_6_NOEQMN.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 + " >= 90 AND 95 > " + rateColumn + " THEN '" + QecIntervalEnum.QEC_STLL_2_90AND95.getCode() + "' " + "WHEN " + rateColumn + " >= 80 AND 90 > " + rateColumn + " THEN '" + QecIntervalEnum.QEC_STLL_3_80AND90.getCode() + "' " +