Browse Source

光伏等效发电时、离散率、转换效率分析3

xushili 1 year ago
parent
commit
1a5b84b44d

+ 11 - 1
power-fitting-JN/src/main/java/com.gyee.power.fitting/dispersionanalysis/InverterAnalysis2.java

@@ -80,8 +80,18 @@ public class InverterAnalysis2 {
         // 模拟全站逆变单元的发电数据,这里用一个Map来表示每个逆变单元的发电量
         // 模拟全站逆变单元的发电数据,这里用一个Map来表示每个逆变单元的发电量
         Map<String, Double> dxfdsData = new HashMap<>();
         Map<String, Double> dxfdsData = new HashMap<>();
         double dxfdsSum = 0;//等效发电时之和
         double dxfdsSum = 0;//等效发电时之和
+        TsDoubleData endData, startData;
+        String ims;
+        double dxfds;
         for (String s : inverterIds) {
         for (String s : inverterIds) {
-            double dxfds = calculateEquivalentOperatingHours(endSection.get(s).getDoubleValue() - startSection.get(s).getDoubleValue(), emMap.get(inverterModelMap.get(s)));
+            endData = endSection.get(s);
+            startData = startSection.get(s);
+            ims = inverterModelMap.get(s);
+            if (endData == null || startData == null || ims == null) {
+                dxfds = 0;
+            } else {
+                dxfds = calculateEquivalentOperatingHours(endData.getDoubleValue() - startData.getDoubleValue(), emMap.get(ims));
+            }
             dxfdsSum += dxfds;
             dxfdsSum += dxfds;
             dxfdsData.put(s, dxfds);
             dxfdsData.put(s, dxfds);
         }
         }

+ 4 - 6
power-fitting-JN/src/main/java/com.gyee.power.fitting/dispersionanalysis/InverterPowerAnalysis2.java

@@ -7,10 +7,7 @@ import com.gyee.power.fitting.common.result.ResultCode;
 import com.gyee.power.fitting.model.custom.PhotovoltaicInfo;
 import com.gyee.power.fitting.model.custom.PhotovoltaicInfo;
 import com.gyee.power.fitting.service.impl.IvPvCurveFittingService;
 import com.gyee.power.fitting.service.impl.IvPvCurveFittingService;
 import org.apache.commons.math3.fitting.WeightedObservedPoints;
 import org.apache.commons.math3.fitting.WeightedObservedPoints;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.io.FileWriter;
 import java.io.FileWriter;
@@ -23,7 +20,8 @@ import java.util.stream.Collectors;
 
 
 //逆变器单位装机输出功率离散率分析
 //逆变器单位装机输出功率离散率分析
 @CrossOrigin
 @CrossOrigin
-@RestController("/discreteness")
+@RequestMapping("/discreteness")
+@RestController
 public class InverterPowerAnalysis2 {
 public class InverterPowerAnalysis2 {
 
 
     @Resource
     @Resource
@@ -94,7 +92,7 @@ public class InverterPowerAnalysis2 {
             @RequestParam(value = "station", required = true) String station,
             @RequestParam(value = "station", required = true) String station,
             @RequestParam(value = "inverters", required = false) List<String> inverters,
             @RequestParam(value = "inverters", required = false) List<String> inverters,
             @RequestParam(value = "startdate", required = true) long startdate,
             @RequestParam(value = "startdate", required = true) long startdate,
-            @RequestParam(value = "interval", required = false) int interval,
+            @RequestParam(value = "interval", required = false) Integer interval,
             @RequestParam(value = "enddate", required = true) long enddate) {
             @RequestParam(value = "enddate", required = true) long enddate) {
 
 
         Map<String, List<PhotovoltaicInfo>> datasInfos = curveFittingService.getDatas2File1(station, startdate, enddate, interval);
         Map<String, List<PhotovoltaicInfo>> datasInfos = curveFittingService.getDatas2File1(station, startdate, enddate, interval);

+ 1 - 1
power-fitting-JN/src/main/java/com.gyee.power.fitting/dispersionanalysis/PhotovoltaicEfficiencyAnalysis2.java

@@ -36,7 +36,7 @@ public class PhotovoltaicEfficiencyAnalysis2 {
             @RequestParam(value = "station", required = true) String station,
             @RequestParam(value = "station", required = true) String station,
             @RequestParam(value = "inverters", required = false) List<String> inverters,
             @RequestParam(value = "inverters", required = false) List<String> inverters,
             @RequestParam(value = "startdate", required = true) long startdate,
             @RequestParam(value = "startdate", required = true) long startdate,
-            @RequestParam(value = "interval", required = false) int interval,
+            @RequestParam(value = "interval", required = false) Integer interval,
             @RequestParam(value = "enddate", required = true) long enddate) {
             @RequestParam(value = "enddate", required = true) long enddate) {
 
 
         Map<String, List<PhotovoltaicInfo>> datasInfos = curveFittingService.getDatas2File1(station, startdate, enddate, interval);
         Map<String, List<PhotovoltaicInfo>> datasInfos = curveFittingService.getDatas2File1(station, startdate, enddate, interval);