Parcourir la source

修复空指针

欧阳劲驰 il y a 1 mois
Parent
commit
2cdb4d0e39

+ 5 - 5
src/main/java/com/shkpr/service/aimodelpower/commtools/ModelPredictorUtil.java

@@ -29,18 +29,18 @@ public class ModelPredictorUtil {
         for (int i = 0; i < hours.size(); i++) {
             WaterVolumePredictHour current = hours.get(i);
 
-            double currentHourData = current.getHourForecastActualWaterSupply();
+            double currentHourData = current.getHourForecastActualWaterSupply() != null ? current.getHourForecastActualWaterSupply() : 0;
 
             if (i == 0) {
                 currentGroup.add(current);
             } else {
                 WaterVolumePredictHour previous = hours.get(i - 1);
-                double previousHourData = previous.getHourForecastActualWaterSupply();
+                double previousHourData = previous.getHourForecastActualWaterSupply() != null ? previous.getHourForecastActualWaterSupply() : 0;
 
                 boolean isIncreasing = currentHourData > previousHourData;
                 if (!currentGroup.isEmpty()) {
                     WaterVolumePredictHour lastInGroup = currentGroup.get(currentGroup.size() - 1);
-                    double lastGroupData = lastInGroup.getHourForecastActualWaterSupply();
+                    double lastGroupData = lastInGroup.getHourForecastActualWaterSupply() != null ? lastInGroup.getHourForecastActualWaterSupply() : 0;
                     boolean wasIncreasing = lastGroupData < currentHourData;
 
                     if (isIncreasing != wasIncreasing) {
@@ -59,8 +59,8 @@ public class ModelPredictorUtil {
         for (List<WaterVolumePredictHour> group : trendGroups) {
             for (int i = 0; i < group.size() - 1; i++) {
                 WaterVolumePredictHour current = group.get(i);
-                double currentHourData = current.getHourForecastActualWaterSupply();
-                double nextHourData = group.get(i + 1).getHourForecastActualWaterSupply();
+                double currentHourData = current.getHourForecastActualWaterSupply() != null ? current.getHourForecastActualWaterSupply() : 0;
+                double nextHourData = group.get(i + 1).getHourForecastActualWaterSupply() != null ? group.get(i + 1).getHourForecastActualWaterSupply() : 0;
 
                 boolean isIncreasing = nextHourData > currentHourData;
                 double[] splitData = splitHourData(currentHourData, isIncreasing);