Commit 87a2126d authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.开发间开优化结果统计功能,创建间开优化效果统计表,生成对应代码;
2.修改15天,10天,3天,1天间开优化功能,修改代码结构;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent b63d30a3
......@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import pps.cloud.prediction.service.IPlantPredictedPowerCloudService;
import pps.cloud.prediction.service.IThirdPowerCloudService;
import pps.cloud.prediction.service.data.plant_predicted_power_data.GetPredictedPowerViewInput;
......@@ -19,9 +20,11 @@ import xstartup.base.XContext;
import xstartup.data.XListResult;
import xstartup.data.XServiceResult;
import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.Collectors;
/**
......@@ -48,7 +51,7 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
List<SpaceOptimizeShortDurationView> durationViewList = spaceMapper.selectResultList(SpaceOptimizeShortDurationView.builder()
.optimizeDate(beginOfYesterday)
.build());
Map<String, Map<String, Map<Integer, List<SpaceOptimizeShortDurationView>>>> durationCollect;
Map<String, Map<Integer, Map<Integer, List<SpaceOptimizeShortDurationView>>>> durationCollect;
Map<String, List<GetThirdActivePowerOutput>> activePowerMap;
Map<String, List<GetPredictedPowerViewOutput>> predictionMap;
if (CollUtil.isEmpty(durationViewList)) {
......@@ -59,8 +62,10 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
//间开区间Map
durationCollect = durationViewList.stream()
.collect(Collectors.groupingBy(SpaceOptimizeShortDurationView::getLineName,
Collectors.groupingBy(SpaceOptimizeShortDurationView::getWellNumber,
Collectors.groupingBy(SpaceOptimizeShortDurationView::getIsOptimize))));
Collectors.groupingBy(SpaceOptimizeShortDurationView::getStartSeq,
Collectors.groupingBy(SpaceOptimizeShortDurationView::getIsOptimize))
)
);
//取昨日实际发电功率
IThirdPowerCloudService cloudService = context.getBean(IThirdPowerCloudService.class);
XListResult<GetThirdActivePowerOutput> result = cloudService.queryPhotovoltaicPower30(context, GetThirdActivePowerInput.builder()
......@@ -92,7 +97,39 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
}
//初始化时间轴
List<DateTime> rangeToList = DateUtil.rangeToList(DateUtil.offsetDay(BusinessConstant.DATE_FLAG, -1), BusinessConstant.DATE_FLAG, DateField.MINUTE, 30);
String lineName;
List<GetThirdActivePowerOutput> activePowerList;
List<GetPredictedPowerViewOutput> predictionList;
List<SpaceOptimizeShortDurationView> unOptimizeList;
List<SpaceOptimizeShortDurationView> optimizeList;
TreeMap<Integer, Map<Integer, List<SpaceOptimizeShortDurationView>>> wellSortMap;
for (Map.Entry<String, Map<Integer, Map<Integer, List<SpaceOptimizeShortDurationView>>>> lineEntry : durationCollect.entrySet()) {
lineName = lineEntry.getKey();
if (activePowerMap.containsKey(lineName)) {
activePowerList = activePowerMap.get(lineName);
}
if (predictionMap.containsKey(lineName)) {
predictionList = predictionMap.get(lineName);
}
//按顺序排
wellSortMap = new TreeMap<>(lineEntry.getValue());
BigDecimal serviceRating = BigDecimal.ZERO;
for (Map.Entry<Integer, Map<Integer, List<SpaceOptimizeShortDurationView>>> sortEntry : wellSortMap.entrySet()) {
//未优化间开
unOptimizeList = sortEntry.getValue().get(1);
if (CollUtil.isEmpty(unOptimizeList)) {
continue;
}
//累加运行功率
serviceRating = serviceRating.add(ObjectUtil.defaultIfNull(unOptimizeList.get(0).getServiceRating(), BigDecimal.ZERO));
//优化后间开
optimizeList = sortEntry.getValue().get(0);
}
}
return XServiceResult.OK;
}
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment