xushili 1 год назад
Родитель
Сommit
33588ec587

+ 2 - 2
power-fitting-JN/src/main/java/com.gyee.power.fitting/controller/gf/PhotovoltaicAnalysisController.java

@@ -59,10 +59,10 @@ public class PhotovoltaicAnalysisController {
         }
 
         QueryWrapper<PhotovoltaicAnalysis> wrapper = new QueryWrapper<>();
-        wrapper.select("stationId,equipmentId,avg(scatter) scatter,(sum(average_theory_power)*100/sum(conversion_efficiency))" +
+        wrapper.select("station_id,equipment_id,avg(scatter) scatter,(sum(average_theory_power)*100/sum(conversion_efficiency))" +
                         " conversion_efficiency,sum(equivalent_generating_time) equivalent_generating_time," +
                         "avg(device_availability) device_availability").between("data_date", startDate, endDate)
-                .groupBy("equipment_id").orderByAsc("equipment_id");
+                .groupBy("station_id,equipment_id").orderByAsc("equipment_id");
         List<PhotovoltaicAnalysis> list = photovoltaicAnalysisService.list(wrapper);
 
         List<ProBasicEquipment> in = proBasicEquipmentService.getStationMap("IN").get(stationId);

+ 3 - 0
power-fitting-JN/src/main/java/com.gyee.power.fitting/dispersionanalysis/InverterPowerAnalysis2.java

@@ -1,5 +1,7 @@
 package com.gyee.power.fitting.dispersionanalysis;
 
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.collection.ListUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.gyee.power.fitting.common.alg.PolynomialCurveFitting;
 import com.gyee.power.fitting.common.result.JsonResult;
@@ -118,6 +120,7 @@ public class InverterPowerAnalysis2 {
 
     // 计算功率离散率
     public double calcPowerDeviation(List<TsDoubleData> gzqd, List<TsDoubleData> yggl, double averagePower, long startTime, long endTime) {
+        if(CollectionUtil.isEmpty(gzqd) || CollectionUtil.isEmpty(yggl)) return 0;
         List<TsDoubleData> S = dataCompletion(gzqd, startTime, endTime);
         List<TsDoubleData> P = dataCompletion(yggl, startTime, endTime);
         WeightedObservedPoints points = new WeightedObservedPoints();

+ 2 - 2
power-fitting-JN/src/main/java/com.gyee.power.fitting/dispersionanalysis/PhotovoltaicAnalysisTask.java

@@ -53,7 +53,7 @@ public class PhotovoltaicAnalysisTask {
     private GyeeConfig gyeeConfig;
 
     //秒 分 时 日 月 周
-    @Scheduled(cron = "0 51 14 * * ?")
+    @Scheduled(cron = "0 38 1 * * ?")
     public void doTask() {
         //获取逆变器
         QueryWrapper<ProBasicEquipment> eWrapper = new QueryWrapper<>();
@@ -178,7 +178,7 @@ public class PhotovoltaicAnalysisTask {
             photovoltaicAnalysisService.saveBatch(photovoltaicAnalyses);
             //            CsvWriter writer = CsvUtil.getWriter(gyeeConfig.getGfDataPath() + "testWrite.csv", CharsetUtil.CHARSET_UTF_8);
             //            writer.write(photovoltaicAnalyses);
-
+            System.out.println("计算完成!");
         }
     }
 

+ 22 - 21
power-fitting-JN/src/main/java/com.gyee.power.fitting/model/PhotovoltaicAnalysis.java

@@ -95,10 +95,11 @@ public class PhotovoltaicAnalysis implements Serializable {
     private Double averageTheoryPower;
 
     /**
-     * 平均理论功
+     * 转换效
      */
     private Double conversionEfficiency;
 
+
     /**
      * 转换效率状态
      */
@@ -123,11 +124,11 @@ public class PhotovoltaicAnalysis implements Serializable {
     }
 
     public Double getConversionEfficiency() {
-        return NumberUtil.round(conversionEfficiency, 2).doubleValue();
+        return conversionEfficiency;
     }
 
     public void setConversionEfficiency(Double conversionEfficiency) {
-        this.conversionEfficiency = conversionEfficiency;
+        this.conversionEfficiency = NumberUtil.round(conversionEfficiency, 2).doubleValue();
     }
 
     public String getStationId() {
@@ -171,19 +172,19 @@ public class PhotovoltaicAnalysis implements Serializable {
     }
 
     public Double getAveragePower() {
-        return NumberUtil.round(averagePower, 2).doubleValue();
+        return averagePower;
     }
 
     public void setAveragePower(Double averagePower) {
-        this.averagePower = averagePower;
+        this.averagePower = NumberUtil.round(averagePower, 2).doubleValue();
     }
 
     public Double getScatter() {
-        return NumberUtil.round(scatter, 2).doubleValue();
+        return scatter;
     }
 
     public void setScatter(Double scatter) {
-        this.scatter = scatter;
+        this.scatter = NumberUtil.round(scatter, 2).doubleValue();
     }
 
     public String getScatterStatus() {
@@ -195,35 +196,35 @@ public class PhotovoltaicAnalysis implements Serializable {
     }
 
     public Double getGeneratingAmount() {
-        return NumberUtil.round(generatingAmount, 2).doubleValue();
+        return generatingAmount;
     }
 
     public void setGeneratingAmount(Double generatingAmount) {
-        this.generatingAmount = generatingAmount;
+        this.generatingAmount = NumberUtil.round(generatingAmount, 2).doubleValue();
     }
 
     public Double getEquivalentGeneratingTime() {
-        return NumberUtil.round(equivalentGeneratingTime, 2).doubleValue();
+        return equivalentGeneratingTime;
     }
 
     public void setEquivalentGeneratingTime(Double equivalentGeneratingTime) {
-        this.equivalentGeneratingTime = equivalentGeneratingTime;
+        this.equivalentGeneratingTime = NumberUtil.round(equivalentGeneratingTime, 2).doubleValue();
     }
 
     public Double getAverageEquivalentGeneratingT() {
-        return NumberUtil.round(averageEquivalentGeneratingT, 2).doubleValue();
+        return averageEquivalentGeneratingT;
     }
 
     public void setAverageEquivalentGeneratingT(Double averageEquivalentGeneratingT) {
-        this.averageEquivalentGeneratingT = averageEquivalentGeneratingT;
+        this.averageEquivalentGeneratingT = NumberUtil.round(averageEquivalentGeneratingT, 2).doubleValue();
     }
 
     public Double getEquivalentGeneratingTimeStan() {
-        return NumberUtil.round(equivalentGeneratingTimeStan, 3).doubleValue();
+        return equivalentGeneratingTimeStan;
     }
 
     public void setEquivalentGeneratingTimeStan(Double equivalentGeneratingTimeStan) {
-        this.equivalentGeneratingTimeStan = equivalentGeneratingTimeStan;
+        this.equivalentGeneratingTimeStan = NumberUtil.round(equivalentGeneratingTimeStan, 3).doubleValue();
     }
 
     public String getEquivalentGeneratingTimeStat() {
@@ -235,11 +236,11 @@ public class PhotovoltaicAnalysis implements Serializable {
     }
 
     public Double getAverageTheoryPower() {
-        return NumberUtil.round(averageTheoryPower, 2).doubleValue();
+        return averageTheoryPower;
     }
 
     public void setAverageTheoryPower(Double averageTheoryPower) {
-        this.averageTheoryPower = averageTheoryPower;
+        this.averageTheoryPower = NumberUtil.round(averageTheoryPower, 2).doubleValue();
     }
 
     public String getConversionEfficiencyStatus() {
@@ -251,19 +252,19 @@ public class PhotovoltaicAnalysis implements Serializable {
     }
 
     public Double getMalfunctionTime() {
-        return NumberUtil.round(malfunctionTime, 3).doubleValue();
+        return malfunctionTime;
     }
 
     public void setMalfunctionTime(Double malfunctionTime) {
-        this.malfunctionTime = malfunctionTime;
+        this.malfunctionTime = NumberUtil.round(malfunctionTime, 3).doubleValue();
     }
 
     public Double getDeviceAvailability() {
-        return NumberUtil.round(deviceAvailability, 2).doubleValue();
+        return deviceAvailability;
     }
 
     public void setDeviceAvailability(Double deviceAvailability) {
-        this.deviceAvailability = deviceAvailability;
+        this.deviceAvailability = NumberUtil.round(deviceAvailability, 2).doubleValue();
     }
 
     @Override

+ 3 - 0
power-fitting-JN/src/main/java/com.gyee.power.fitting/model/custom/TsDoubleData.java

@@ -12,6 +12,9 @@ public class TsDoubleData {
         this.doubleValue = doubleValue;
     }
 
+    public TsDoubleData() {
+    }
+
     public long getTs() {
         return ts;
     }

+ 7 - 5
power-fitting-JN/src/main/java/com.gyee.power.fitting/service/impl/IvPvCurveFittingService.java

@@ -262,14 +262,16 @@ public class IvPvCurveFittingService {
             fl.setStation(split[0]);
             fl.setStationcn(InitialRunner.gfstationMap.get(split[0]));
             fl.setWindturbine(split[1]);
-            fl.setTime(split[2]+"年"+split[3]+"月");
-            fl.setInterval("五分钟");*/
+            fl.setTime(split[2]+"年"+split[3]+"月");*/
+            fl.setInterval("五分钟");
             fl.setPath(s);
             fl.setStation(split[0]);
-            fl.setStationcn(split[1]);
+//            fl.setStationcn(split[1]);
+            fl.setStationcn(InitialRunner.newgfstationMap.get(split[0]));
             fl.setWindturbineId(split[1]);
-            fl.setTime(InitialRunner.newgfstationMap.get(split[0]));
-            fl.setInterval(split[2] + "年" + split[3] + "月");
+            fl.setTime(split[2] + "年" + split[3] + "月");
+//            fl.setTime(InitialRunner.newgfstationMap.get(split[0]));
+//            fl.setInterval(split[2] + "年" + split[3] + "月");
             fileLists.add(fl);
         }
         List<Object> objects = PowerFittingUtil.powerDataTree(fileLists, Constants.DATA_FITTING);