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 {
if (CollUtil.isNotEmpty(durationOutputs)) {
Map<String, List<SpaceOptimizeDateDuration>> collect = new HashMap<>(16);
for (SpaceOptimizeDateDuration durationOutput : durationOutputs) {
if (StringUtils.isEmpty(durationOutput.getGenerationTypeKey())) {
if (CharSequenceUtil.isEmpty(durationOutput.getGenerationTypeKey())) {
durationOutput.setGenerationTypeKey(BusinessConstant.PHOTOVOLTAIC);
}
List<SpaceOptimizeDateDuration> tmpList = collect.get(durationOutput.getWellheadId());
......@@ -1517,34 +1517,48 @@ public class SpaceOptimizeBaseService {
tmpList.add(durationOutput);
}
}
//取绿电时间
List<Date> greenTimeList = powerList.stream()
.filter(p -> p.getPower().compareTo(BigDecimal.ZERO) > 0)
.map(DynamicQueryPlantPredictedPowerOutput::getCreateTime)
.collect(Collectors.toList());
// //取绿电时间
// List<Date> greenTimeList = powerList.stream()
// .filter(p -> p.getPower().compareTo(BigDecimal.ZERO) > 0)
// .map(DynamicQueryPlantPredictedPowerOutput::getCreateTime)
// .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) {
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));
w.setOptimizeList(ServiceUtil.getAllDateDuration(listMap.get(0)));
w.setInitializeList(ServiceUtil.getAllDateDuration(listMap.get(1)));
} else {
w.setOptimizeList(Collections.emptyList());
w.setInitializeList(Collections.emptyList());
}
w.setInitializeGreenRate(initializeGreenRate);
w.setOptimizeGreenRate(optimizeGreenRate);
w.setInitializeGreenRate(BigDecimal.ZERO);
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