|
@@ -14,6 +14,7 @@ import org.springframework.stereotype.Service;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* @ClassName : AnalysisNewService
|
|
@@ -529,17 +530,21 @@ public class AnalysisNewService {
|
|
|
continue;
|
|
|
}
|
|
|
List<Analysissubtablebottom> currentDay = currentDayBdz.stream().filter(i -> i.getWpid().equals(project.getWindpowerstationid())).collect(Collectors.toList());
|
|
|
- //算出发电量
|
|
|
+ if(StringUtils.isEmpty(currentDay)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ //算出工程发电量
|
|
|
List<String> fdls = wpmeterMap.get(project.getWindpowerstationid()).stream()
|
|
|
.filter(i -> (
|
|
|
i.getProjectid().equals(project.getId()) && i.getMetersort().equals("主") && i.getMetertype().equals("进线") && i.getUniformcode().equals("ZXYG")
|
|
|
)).map(i -> i.getId()).collect(Collectors.toList());
|
|
|
+
|
|
|
double generatingcapacity = 0;
|
|
|
for (String meterid : fdls) {
|
|
|
generatingcapacity += currentDay.stream().filter(i -> i.getMeterid().equals(meterid)).findFirst().isPresent() ? currentDay.stream().filter(i -> i.getMeterid().equals(meterid)).findFirst().get().getDayvaluemodify().doubleValue() : 0.0;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ //总发电量
|
|
|
List<String> zfdls = wpmeterMap.get(project.getWindpowerstationid()).stream()
|
|
|
.filter(i -> (
|
|
|
i.getMetersort().contains("主") && i.getMetertype().contains("进线") && i.getUniformcode().contains("ZXYG")
|
|
@@ -562,9 +567,12 @@ public class AnalysisNewService {
|
|
|
)).collect(Collectors.toList());
|
|
|
String[] lineids = fcswmeter.get(0).getLineid().split("\\|");
|
|
|
Double fcfdl = Arrays.stream(lineids).map(lineid ->
|
|
|
- wpmeterMap.get(project.getWindpowerstationid()).stream().filter(j -> j.getMetersort().equals("主") && j.getMetertype().equals("进线") && j.getUniformcode().equals("ZXYG") && j.getLineid().equals(lineid)).findFirst().get())
|
|
|
- .mapToDouble(linemeterpoint2 -> currentDay.stream().filter(currentBdz -> currentBdz.getMeterid().equals(linemeterpoint2.getId())).findFirst().get().getDayvaluemodify()).sum();
|
|
|
-
|
|
|
+ wpmeterMap.get(project.getWindpowerstationid())
|
|
|
+ .stream().filter(j -> j.getMetersort().equals("主") && j.getMetertype().equals("进线") && j.getUniformcode().equals("ZXYG") && j.getLineid().equals(lineid)).findFirst().get())
|
|
|
+ .mapToDouble(linemeterpoint2 -> currentDay.stream()
|
|
|
+ .filter(currentBdz -> currentBdz.getMeterid().equals(linemeterpoint2.getId()))
|
|
|
+ .findFirst().get().getDayvaluemodify()).sum();
|
|
|
+ //算出
|
|
|
Double dayvaluesw = currentDay.stream().filter(currentBdz -> fcswmeter.contains(meterMap.get(currentBdz.getMeterid()))).mapToDouble(Analysissubtablebottom::getDayvaluemodify).sum();
|
|
|
Double dayvaluegw = currentDay.stream().filter(currentBdz -> fcgwmeter.contains(meterMap.get(currentBdz.getMeterid()))).mapToDouble(Analysissubtablebottom::getDayvaluemodify).sum();
|
|
|
swdl = fcfdl!=0?generatingcapacity/fcfdl*dayvaluesw:0;
|
|
@@ -1072,6 +1080,9 @@ public class AnalysisNewService {
|
|
|
analysis.setRecorddate(DateUtils.parseDate(day));
|
|
|
analysis.setZjrl(station.getCapacity() / 10);
|
|
|
|
|
|
+ if(StringUtils.isEmpty(prodatas)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
analysis.setFdlscada(prodatas.stream().map(Analysissubprojectwindcan::getFdlscada).reduce(DoubleUtils::sum).get());
|
|
|
analysis.setFdl(prodatas.stream().map(Analysissubprojectwindcan::getFdl).reduce(DoubleUtils::sum).get());
|
|
|
analysis.setSwdl(prodatas.stream().map(Analysissubprojectwindcan::getSwdl).reduce(DoubleUtils::sum).get());
|
|
@@ -1279,6 +1290,9 @@ public class AnalysisNewService {
|
|
|
Analysissubcompany analysissubcompany = new Analysissubcompany();
|
|
|
analysissubcompany.setForeignkey(-1);
|
|
|
analysissubcompany.setRecorddate(DateUtils.parseDate(day));
|
|
|
+ if(StringUtils.isEmpty(analysissubstationwinds)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
analysissubcompany.setFdl(analysissubstationwinds.stream().map(Analysissubstationwind::getFdl).reduce(DoubleUtils::sum).get());
|
|
|
analysissubcompany.setFdlscada(analysissubstationwinds.stream().map(Analysissubstationwind::getFdlscada).reduce(DoubleUtils::sum).get());
|
|
|
analysissubcompany.setSwdl(analysissubstationwinds.stream().map(Analysissubstationwind::getSwdl).reduce(DoubleUtils::sum).get());
|