Просмотр исходного кода

[0924] 短期、中期、超短期报表优化时丢失站点id参数

taosj 1 неделя назад
Родитель
Сommit
28f6985b9e

+ 2 - 2
forecast-backend-server/src/main/java/com/ufo/project/data/service/impl/MediumTermPowerForecastReportServiceImpl.java

@@ -73,7 +73,7 @@ public class MediumTermPowerForecastReportServiceImpl implements IMediumTermPowe
         long utcStartTime = parseLong(startTime);
         long utcEndTime = parseLong(endTime);
         DataMediumTermPowerForecastReport dataMediumTermPowerForecastReportParam = new DataMediumTermPowerForecastReport();
-        dataMediumTermPowerForecastReportParam.setForecastStartTime(utcStartTime).setForecastEndTime(utcEndTime);
+        dataMediumTermPowerForecastReportParam.setForecastStartTime(utcStartTime).setForecastEndTime(utcEndTime).setEntityId(entityId);
         List<DataMediumTermPowerForecastReport> forecastList = powerForecastReportService.selectDataMediumTermPowerForecastReportList(dataMediumTermPowerForecastReportParam);
         List<ForecastPowerAverage> pureForecastList = this.pureForecastList(forecastList);
 
@@ -568,7 +568,7 @@ public class MediumTermPowerForecastReportServiceImpl implements IMediumTermPowe
     private BigDecimal getAccForecastReportPower(long timestamp, List<DataMediumTermPowerForecastReport> rawForecastList)
     {
         return rawForecastList.stream()
-                .filter(r -> r.getForecastTime() != null && r.getStartTime() != null && r.getForecastTime() == timestamp && is4DaysBefore(timestamp, r.getStartTime()))
+                .filter(r -> null != r.getPower() && r.getForecastTime() != null && r.getStartTime() != null && r.getForecastTime() == timestamp && is4DaysBefore(timestamp, r.getStartTime()))
                 .max(Comparator.comparing(DataMediumTermPowerForecastReport::getStartTime))
                 .map(r -> new BigDecimal(r.getPower()))
                 .orElse(null);

+ 2 - 4
forecast-backend-server/src/main/java/com/ufo/project/data/service/impl/ShortTermPowerForecastReportServiceImpl.java

@@ -91,7 +91,7 @@ public class ShortTermPowerForecastReportServiceImpl implements IShortTermPowerF
         long utcStartTime = parseLong(startTime);
         long utcEndTime = parseLong(endTime);
         DataShortTermPowerForecastReport dataShortTermPowerForecastReportParam = new DataShortTermPowerForecastReport();
-        dataShortTermPowerForecastReportParam.setForecastStartTime(utcStartTime).setForecastEndTime(utcEndTime);
+        dataShortTermPowerForecastReportParam.setEntityId(entityId).setForecastStartTime(utcStartTime).setForecastEndTime(utcEndTime);
         List<DataShortTermPowerForecastReport> forecastList = powerForecastReportService.selectDataShortTermPowerForecastReportList(dataShortTermPowerForecastReportParam);
         List<ForecastPowerAverage> pureForecastList = this.pureForecastList(forecastList);
 
@@ -545,13 +545,11 @@ public class ShortTermPowerForecastReportServiceImpl implements IShortTermPowerF
             {
                 BigDecimal tmpSi = diff.divide(pmiMW, precisionLength, RoundingMode.HALF_UP);
                 si = tmpSi.multiply(tmpSi);
-                log.debug("actualRecord tm {}, actualRecord power {}, pmiMW {}, forecast power {}, ppiMW {}, si {}", r.getTm(), r.getActualPower(), pmiMW, fp, ppiMW, si);
             }
             else
             {
                 BigDecimal tmpSi = diff.divide(threshold, precisionLength, RoundingMode.HALF_UP);
                 si = tmpSi.multiply(tmpSi);
-                log.debug("actualRecord tm {}, actualRecord power {}, pmiMW {}, forecast power {}, ppiMW {}, si {}", r.getTm(), r.getActualPower(), pmiMW, fp, ppiMW, si);
             }
 
             stotal = stotal.add(si);
@@ -587,7 +585,7 @@ public class ShortTermPowerForecastReportServiceImpl implements IShortTermPowerF
     private BigDecimal getAccForecastReportPower(long timestamp, List<DataShortTermPowerForecastReport> rawForecastList)
     {
         return rawForecastList.stream()
-                .filter(r -> r.getForecastTime() != null && r.getStartTime() != null && r.getForecastTime() == timestamp && isYesterday(timestamp, r.getStartTime()))
+                .filter(r -> null != r.getPower() && r.getForecastTime() != null && r.getStartTime() != null && r.getForecastTime() == timestamp && isYesterday(timestamp, r.getStartTime()))
                 .max(Comparator.comparing(DataShortTermPowerForecastReport::getStartTime))
                 .map(r -> new BigDecimal(r.getPower()))
                 .orElse(null);

+ 2 - 2
forecast-backend-server/src/main/java/com/ufo/project/data/service/impl/UltraShortTermPowerForecastReportServiceImpl.java

@@ -79,7 +79,7 @@ public class UltraShortTermPowerForecastReportServiceImpl implements IUltraShort
         long utcEndTime = parseLong(endStr);
 
         DataSuperShortTermForecastReport dataSuperShortTermForecastReportParam = new DataSuperShortTermForecastReport();
-        dataSuperShortTermForecastReportParam.setForecastStartTime(utcStartTime).setForecastEndTime(utcEndTime);
+        dataSuperShortTermForecastReportParam.setForecastStartTime(utcStartTime).setForecastEndTime(utcEndTime).setEntityId(entityId);
         List<DataSuperShortTermForecastReport> forecastList = superShortService.selectDataSuperShortTermForecastReportList(dataSuperShortTermForecastReportParam);
         List<ForecastPowerAverage> pureForecastList = this.pureForecastList(forecastList);
 
@@ -527,7 +527,7 @@ public class UltraShortTermPowerForecastReportServiceImpl implements IUltraShort
     private BigDecimal getAccForecastReportPower(long timestamp, List<DataSuperShortTermForecastReport> rawForecastList)
     {
         List<BigDecimal> matchPowers = rawForecastList.stream()
-                .filter(r -> r.getForecastTime() != null && r.getStartTime() != null && r.getForecastTime() == timestamp && is4HourBeforeTo15MinuteBefore(timestamp, r.getStartTime()))
+                .filter(r -> null != r.getPower() && r.getForecastTime() != null && r.getStartTime() != null && r.getForecastTime() == timestamp && is4HourBeforeTo15MinuteBefore(timestamp, r.getStartTime()))
                 .map(r -> new BigDecimal(r.getPower()))
                 .filter(power -> power != null)
                 .collect(Collectors.toList());