Commit 4c7e084f authored by ZWT's avatar ZWT

feat(零碳): 长庆演示系统新增功能

1.修改第三方日累计数据推送表表结构,增加日累计储能放电量字段,同时修改代码对应实体及mapper文件,修改相关接口增加储能日累计放电量接收逻辑;
2.修改首页井场收益分析模块接口,修改获取储能累计放电量逻辑;
3.设计并创建井口日用电趋势表,生成对应实体类及mapper文件;
4.统计分析模块,新增本月累计节电经济效益查询接口,添加线上接口文档并完成接口冒烟测试;
5.统计分析模块,新增本月累计减碳量查询接口,添加线上接口文档并完成接口冒烟测试;
6.统计分析模块,新增光伏发电趋势查询接口,添加线上接口文档并完成接口冒烟测试;
7.统计分析模块,新增月度总览查询接口,添加线上接口文档并完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent c6c27f00
...@@ -1505,7 +1505,7 @@ public class SpaceOptimizeBaseService { ...@@ -1505,7 +1505,7 @@ public class SpaceOptimizeBaseService {
if (CollUtil.isNotEmpty(durationOutputs)) { if (CollUtil.isNotEmpty(durationOutputs)) {
Map<String, List<SpaceOptimizeDateDuration>> collect = new HashMap<>(16); Map<String, List<SpaceOptimizeDateDuration>> collect = new HashMap<>(16);
for (SpaceOptimizeDateDuration durationOutput : durationOutputs) { for (SpaceOptimizeDateDuration durationOutput : durationOutputs) {
if (StringUtils.isEmpty(durationOutput.getGenerationTypeKey())) { if (CharSequenceUtil.isEmpty(durationOutput.getGenerationTypeKey())) {
durationOutput.setGenerationTypeKey(BusinessConstant.PHOTOVOLTAIC); durationOutput.setGenerationTypeKey(BusinessConstant.PHOTOVOLTAIC);
} }
List<SpaceOptimizeDateDuration> tmpList = collect.get(durationOutput.getWellheadId()); List<SpaceOptimizeDateDuration> tmpList = collect.get(durationOutput.getWellheadId());
...@@ -1517,34 +1517,48 @@ public class SpaceOptimizeBaseService { ...@@ -1517,34 +1517,48 @@ public class SpaceOptimizeBaseService {
tmpList.add(durationOutput); tmpList.add(durationOutput);
} }
} }
//取绿电时间 // //取绿电时间
List<Date> greenTimeList = powerList.stream() // List<Date> greenTimeList = powerList.stream()
.filter(p -> p.getPower().compareTo(BigDecimal.ZERO) > 0) // .filter(p -> p.getPower().compareTo(BigDecimal.ZERO) > 0)
.map(DynamicQueryPlantPredictedPowerOutput::getCreateTime) // .map(DynamicQueryPlantPredictedPowerOutput::getCreateTime)
.collect(Collectors.toList()); // .collect(Collectors.toList());
// for (GetSpaceOptimizeWellheadOutput w : wellheadOutputs) {
// BigDecimal runDuration = w.getRunDuration();
// BigDecimal initializeGreenRate = BigDecimal.ZERO;
// BigDecimal optimizeGreenRate = BigDecimal.ZERO;
// if (collect.containsKey(w.getWellheadId())) {
// Map<Integer, List<SpaceOptimizeDateDuration>> listMap = collect.get(w.getWellheadId()).stream()
// .collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getIsOptimize));
// List<SpaceOptimizeDateDuration> optimizeList = listMap.get(0);
// List<SpaceOptimizeDateDuration> initializeList = listMap.get(1);
// //绿电占比
// BigDecimal optimizeGreenOpenHour = this.getDailyGreenOpenHour(optimizeList, greenTimeList);
// BigDecimal initializeGreenOpenHour = this.getDailyGreenOpenHour(initializeList, greenTimeList);
// optimizeGreenRate = BaseUtils.getRate(optimizeGreenOpenHour, runDuration);
// initializeGreenRate = BaseUtils.getRate(initializeGreenOpenHour, runDuration);
// //填充关井时间
// w.setOptimizeList(ServiceUtil.getAllDateDuration(optimizeList));
// w.setInitializeList(ServiceUtil.getAllDateDuration(initializeList));
// } else {
// w.setOptimizeList(Collections.emptyList());
// w.setInitializeList(Collections.emptyList());
// }
// w.setInitializeGreenRate(initializeGreenRate);
// w.setOptimizeGreenRate(optimizeGreenRate);
// }
for (GetSpaceOptimizeWellheadOutput w : wellheadOutputs) { for (GetSpaceOptimizeWellheadOutput w : wellheadOutputs) {
BigDecimal runDuration = w.getRunDuration();
BigDecimal initializeGreenRate = BigDecimal.ZERO;
BigDecimal optimizeGreenRate = BigDecimal.ZERO;
if (collect.containsKey(w.getWellheadId())) { if (collect.containsKey(w.getWellheadId())) {
Map<Integer, List<SpaceOptimizeDateDuration>> listMap = collect.get(w.getWellheadId()).stream() Map<Integer, List<SpaceOptimizeDateDuration>> listMap = collect.get(w.getWellheadId()).stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getIsOptimize)); .collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getIsOptimize));
List<SpaceOptimizeDateDuration> optimizeList = listMap.get(0);
List<SpaceOptimizeDateDuration> initializeList = listMap.get(1);
//绿电占比
BigDecimal optimizeGreenOpenHour = this.getDailyGreenOpenHour(optimizeList, greenTimeList);
BigDecimal initializeGreenOpenHour = this.getDailyGreenOpenHour(initializeList, greenTimeList);
optimizeGreenRate = BaseUtils.getRate(optimizeGreenOpenHour, runDuration);
initializeGreenRate = BaseUtils.getRate(initializeGreenOpenHour, runDuration);
//填充关井时间 //填充关井时间
w.setOptimizeList(ServiceUtil.getAllDateDuration(optimizeList)); w.setOptimizeList(ServiceUtil.getAllDateDuration(listMap.get(0)));
w.setInitializeList(ServiceUtil.getAllDateDuration(initializeList)); w.setInitializeList(ServiceUtil.getAllDateDuration(listMap.get(1)));
} else { } else {
w.setOptimizeList(Collections.emptyList()); w.setOptimizeList(Collections.emptyList());
w.setInitializeList(Collections.emptyList()); w.setInitializeList(Collections.emptyList());
} }
w.setInitializeGreenRate(initializeGreenRate); w.setInitializeGreenRate(BigDecimal.ZERO);
w.setOptimizeGreenRate(optimizeGreenRate); w.setOptimizeGreenRate(BigDecimal.ZERO);
} }
} }
} }
......
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