|
@@ -30,8 +30,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.time.ZoneId;
|
|
|
import java.util.*;
|
|
|
-import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Controller
|
|
@@ -81,32 +82,34 @@ public class SingleAnalysisController {
|
|
|
QueryWrapper<TurbineInfoDay> qw = new QueryWrapper<>();
|
|
|
qw.lambda().eq(TurbineInfoDay::getStationId, wpId)
|
|
|
.between(TurbineInfoDay::getRecordDate, DateUtil.beginOfMonth(recordDate), recordDate)
|
|
|
- .in(TurbineInfoDay::getTurbineId,subList2.stream().map(SingleAnalysisVo::getWindturbineid).collect(Collectors.toList()))
|
|
|
+ .in(TurbineInfoDay::getTurbineId, subList2.stream().map(SingleAnalysisVo::getWindturbineid).collect(Collectors.toList()))
|
|
|
.orderByAsc(TurbineInfoDay::getTurbineId);
|
|
|
IPage<TurbineInfoDay> page = new Page<>(pageNum, pageSize);
|
|
|
List<TurbineInfoDay> page1 = turbineInfoDayService.list(qw);
|
|
|
//Map<String, TurbineInfoDay> dayMap = page1.getRecords().stream().collect(Collectors.toMap(TurbineInfoDay::getTurbineId, Function.identity()));
|
|
|
Map<String, List<TurbineInfoDay>> dayMap = page1.stream().collect(Collectors.groupingBy(TurbineInfoDay::getTurbineId));
|
|
|
List<SingleAnalysisVo> subList3 = subList.stream().filter(s -> null == s.getWindturbineid()).collect(Collectors.toList());
|
|
|
+ LocalDate localDate = recordDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
|
|
+ int d = localDate.getDayOfMonth();
|
|
|
if (subList3.size() == 1) {
|
|
|
List<TurbineInfoDay> list = turbineInfoDayService.list(qw);
|
|
|
SingleAnalysisVo sav = subList3.get(0);
|
|
|
double fdl = list.stream().mapToDouble(TurbineInfoDay::getRfdl).sum();
|
|
|
- sav.setFdl(NumberUtil.round(fdl, 2).doubleValue());
|
|
|
+ sav.setFdl(NumberUtil.round(fdl / 1000, 2).doubleValue());
|
|
|
double fs = list.stream().mapToDouble(TurbineInfoDay::getPjfs).average().orElse(0.0);
|
|
|
sav.setFs(NumberUtil.round(fs, 2).doubleValue());
|
|
|
double gzss = list.stream().mapToDouble(TurbineInfoDay::getGzss).sum();
|
|
|
- sav.setGzss(NumberUtil.round(gzss, 2).doubleValue());
|
|
|
+ sav.setGzss(NumberUtil.round(gzss / 1000, 2).doubleValue());
|
|
|
double jxss = list.stream().mapToDouble(TurbineInfoDay::getJhjxss).sum();
|
|
|
- sav.setJxss(NumberUtil.round(jxss, 2).doubleValue());
|
|
|
+ sav.setJxss(NumberUtil.round(jxss / 1000, 2).doubleValue());
|
|
|
double xdss = list.stream().mapToDouble(TurbineInfoDay::getXdss).sum();
|
|
|
- sav.setXdss(NumberUtil.round(xdss, 2).doubleValue());
|
|
|
+ sav.setXdss(NumberUtil.round(xdss / 1000, 2).doubleValue());
|
|
|
double xnss = list.stream().mapToDouble(TurbineInfoDay::getXnss).sum();
|
|
|
- sav.setXnss(NumberUtil.round(xnss, 2).doubleValue());
|
|
|
+ sav.setXnss(NumberUtil.round(xnss / 1000, 2).doubleValue());
|
|
|
double slss = list.stream().mapToDouble(TurbineInfoDay::getSlss).sum();
|
|
|
- sav.setSlss(NumberUtil.round(slss, 2).doubleValue());
|
|
|
+ sav.setSlss(NumberUtil.round(slss / 1000, 2).doubleValue());
|
|
|
double llfdl = list.stream().mapToDouble(TurbineInfoDay::getLlfdl).sum();
|
|
|
- sav.setLlfdl(NumberUtil.round(llfdl, 2).doubleValue());
|
|
|
+ sav.setLlfdl(NumberUtil.round(llfdl / 1000, 2).doubleValue());
|
|
|
double gzmin = list.stream().mapToDouble(TurbineInfoDay::getGzMin).sum();
|
|
|
sav.setGzxs(NumberUtil.round(gzmin / 60, 2).doubleValue());
|
|
|
double jxmin = list.stream().mapToDouble(TurbineInfoDay::getJxMin).sum();
|
|
@@ -130,7 +133,7 @@ public class SingleAnalysisController {
|
|
|
}
|
|
|
subList2.forEach(sav -> {
|
|
|
List<TurbineInfoDay> days = dayMap.get(sav.getWindturbineid());
|
|
|
- Optional<TurbineInfoDay> tbo= days.stream().reduce((sum, day) -> {
|
|
|
+ Optional<TurbineInfoDay> tbo = days.stream().reduce((sum, day) -> {
|
|
|
sum.setRfdl(sum.getRfdl() + day.getRfdl());
|
|
|
sum.setPjfs(sum.getPjfs() + day.getPjfs());
|
|
|
sum.setGzss(sum.getGzss() + day.getGzss());
|
|
@@ -152,16 +155,16 @@ public class SingleAnalysisController {
|
|
|
return sum;
|
|
|
});
|
|
|
TurbineInfoDay tb;
|
|
|
- if(tbo.isPresent()) {
|
|
|
+ if (tbo.isPresent()) {
|
|
|
tb = tbo.get();
|
|
|
- sav.setFdl(NumberUtil.round(tb.getRfdl(), 2).doubleValue());
|
|
|
- sav.setFs(NumberUtil.round(tb.getPjfs(), 2).doubleValue());
|
|
|
- sav.setGzss(NumberUtil.round(tb.getGzss(), 2).doubleValue());
|
|
|
- sav.setJxss(NumberUtil.round(tb.getJhjxss(), 2).doubleValue());
|
|
|
- sav.setXdss(NumberUtil.round(tb.getXdss(), 2).doubleValue());
|
|
|
- sav.setXnss(NumberUtil.round(tb.getXnss(), 2).doubleValue());
|
|
|
- sav.setSlss(NumberUtil.round(tb.getSlss(), 2).doubleValue());
|
|
|
- sav.setLlfdl(NumberUtil.round(tb.getLlfdl(), 2).doubleValue());
|
|
|
+ sav.setFdl(NumberUtil.round(tb.getRfdl() / 1000, 2).doubleValue());
|
|
|
+ sav.setFs(NumberUtil.round(tb.getPjfs() / d, 2).doubleValue());
|
|
|
+ sav.setGzss(NumberUtil.round(tb.getGzss() / 1000, 2).doubleValue());
|
|
|
+ sav.setJxss(NumberUtil.round(tb.getJhjxss() / 1000, 2).doubleValue());
|
|
|
+ sav.setXdss(NumberUtil.round(tb.getXdss() / 1000, 2).doubleValue());
|
|
|
+ sav.setXnss(NumberUtil.round(tb.getXnss() / 1000, 2).doubleValue());
|
|
|
+ sav.setSlss(NumberUtil.round(tb.getSlss() / 1000, 2).doubleValue());
|
|
|
+ sav.setLlfdl(NumberUtil.round(tb.getLlfdl() / 1000, 2).doubleValue());
|
|
|
sav.setGzxs(NumberUtil.round(tb.getGzMin() / 60, 2).doubleValue());
|
|
|
sav.setJxxs(NumberUtil.round(tb.getJxMin() / 60, 2).doubleValue());
|
|
|
sav.setTjxs(NumberUtil.round(tb.getTjMin() / 60, 2).doubleValue());
|