|
@@ -1,9 +1,12 @@
|
|
|
package com.gyee.power.fitting.dispersionanalysis;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DateField;
|
|
|
import cn.hutool.core.date.DateRange;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.stream.CollectorUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.gyee.power.fitting.common.feign.RemoteServiceBuilder;
|
|
|
import com.gyee.power.fitting.model.PhotovoltaicAnalysis;
|
|
@@ -15,6 +18,7 @@ import com.gyee.power.fitting.service.IPhotovoltaicAnalysisService;
|
|
|
import com.gyee.power.fitting.service.ProBasicEquipmentPointService;
|
|
|
import com.gyee.power.fitting.service.ProBasicEquipmentService;
|
|
|
import com.gyee.power.fitting.service.ProEconEquipmentmodelService;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
@@ -47,14 +51,14 @@ public class PhotovoltaicAnalysisTask {
|
|
|
private PhotovoltaicEfficiencyAnalysis2 photovoltaicEfficiencyAnalysis;
|
|
|
|
|
|
//秒 分 时 日 月 周
|
|
|
- @Scheduled(cron = "0 22 1 * * ?")
|
|
|
+ @Scheduled(cron = "0 06 15 * * ?")
|
|
|
public void doTask() {
|
|
|
//获取逆变器
|
|
|
QueryWrapper<ProBasicEquipment> eWrapper = new QueryWrapper<>();
|
|
|
eWrapper.eq("spare1", "IN");
|
|
|
List<ProBasicEquipment> eList = proBasicEquipmentService.list(eWrapper);
|
|
|
//场站、机型、逆变器们 .filter(e->"SXJ_KGDL_YY_GDC_STA".equals(e.getWindpowerstationId()))
|
|
|
- Map<String, Map<String, List<ProBasicEquipment>>> equipmentMapMap = eList.stream().collect(Collectors.groupingBy(
|
|
|
+ Map<String, Map<String, List<ProBasicEquipment>>> equipmentMapMap = eList.stream().filter(e->"SXJ_KGDL_TL_GDC_STA".equals(e.getWindpowerstationId())).collect(Collectors.groupingBy(
|
|
|
ProBasicEquipment::getWindpowerstationId, Collectors.groupingBy(ProBasicEquipment::getModelId)));
|
|
|
|
|
|
//获取机型的装机容量
|
|
@@ -181,7 +185,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("计算完成!");
|
|
|
+ System.out.println("计算完成!" + DateUtil.formatDate(dateTime));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -196,6 +200,7 @@ public class PhotovoltaicAnalysisTask {
|
|
|
}
|
|
|
|
|
|
private double calcDowntimeByFailure(List<TsDoubleData> sbztInfoList) {
|
|
|
+ if (CollUtil.isEmpty(sbztInfoList)) return 0;
|
|
|
sbztInfoList = sbztInfoList.stream().sorted(Comparator.comparing(TsDoubleData::getTs).reversed()).collect(Collectors.toList());
|
|
|
|
|
|
long duration = 0;//故障或检修时间
|
|
@@ -216,7 +221,7 @@ public class PhotovoltaicAnalysisTask {
|
|
|
//paList.setDataDate(DateUtil.parse("2023-10-14"));
|
|
|
DateTime startTime;
|
|
|
DateTime endTime = DateUtil.beginOfDay(DateUtil.yesterday());
|
|
|
- if (paList == null || paList.getDataDate()==null) {
|
|
|
+ if (paList == null || paList.getDataDate() == null) {
|
|
|
startTime = endTime;
|
|
|
} else {
|
|
|
startTime = DateUtil.offsetDay(paList.getDataDate(), 1);
|