Commit f46282b1 authored by ZWT's avatar ZWT

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

1.修改第三方日累计数据推送表表结构,增加日累计储能放电量字段,同时修改代码对应实体及mapper文件,修改相关接口增加储能日累计放电量接收逻辑;
2.修改首页井场收益分析模块接口,修改获取储能累计放电量逻辑;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent ab00b5a4
...@@ -16,6 +16,8 @@ import xstartup.base.XContext; ...@@ -16,6 +16,8 @@ import xstartup.base.XContext;
import xstartup.data.XListResult; import xstartup.data.XListResult;
import xstartup.data.XServiceResult; import xstartup.data.XServiceResult;
import java.util.Collections;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -44,30 +46,66 @@ public class DailyElectricityTrendCloudServiceImpl extends SpaceOptimizeBaseServ ...@@ -44,30 +46,66 @@ public class DailyElectricityTrendCloudServiceImpl extends SpaceOptimizeBaseServ
public XServiceResult dailyElectricityTrendJob(XContext context) { public XServiceResult dailyElectricityTrendJob(XContext context) {
DateTime yesterday = DateUtil.beginOfDay(DateUtil.yesterday()); DateTime yesterday = DateUtil.beginOfDay(DateUtil.yesterday());
//查每15分钟的有功功率 //查每15分钟的有功功率
IThirdActivePowerCloudService service = context.getBean(IThirdActivePowerCloudService.class); Map<String, List<GetThirdActivePowerOutput>> powerMap = this.getAvgPhotovoltaicPower(context, yesterday);
XListResult<GetThirdActivePowerOutput> result = service.queryAvgPhotovoltaicPower(context, GetThirdActivePowerInput.builder()
.createDate(yesterday)
.build());
result.throwIfFail();
List<GetThirdActivePowerOutput> powerList = result.getResult();
if (CollUtil.isEmpty(powerList)) {
return XServiceResult.OK;
}
//查昨日间开优化结果 //查昨日间开优化结果
Map<String, List<SpaceOptimizeShortDurationView>> lineMap = this.getOptimizationResult(context, yesterday);
//查昨日日累计发电
//遍历大的
for (String stationName : powerMap.keySet()) {
}
List<DateTime> rangeToList = DateUtil.rangeToList(BusinessConstant.DATE_FLAG_BEGIN, BusinessConstant.DATE_FLAG, DateField.MINUTE, 15);
return null;
}
/*------------------------------------- private -------------------------------------*/
/**
* 获取优化结果
*
* @param context 上下文
* @param optimizeDate 优化日期
* @return {@link Map }<{@link String }, {@link List }<{@link SpaceOptimizeShortDurationView }>>
*/
private Map<String, List<SpaceOptimizeShortDurationView>> getOptimizationResult(XContext context, Date optimizeDate) {
SpaceOptimizeShortDurationViewMapper shortMapper = context.getBean(SpaceOptimizeShortDurationViewMapper.class); SpaceOptimizeShortDurationViewMapper shortMapper = context.getBean(SpaceOptimizeShortDurationViewMapper.class);
List<SpaceOptimizeShortDurationView> durationList = shortMapper.selectOptimizationResultList(SpaceOptimizeShortDurationView.builder() List<SpaceOptimizeShortDurationView> durationList = shortMapper.selectOptimizationResultList(SpaceOptimizeShortDurationView.builder()
.optimizeDate(yesterday) .optimizeDate(optimizeDate)
.build()); .build());
Map<String, List<SpaceOptimizeShortDurationView>> lineMap;
if (CollUtil.isEmpty(durationList)) { if (CollUtil.isEmpty(durationList)) {
return XServiceResult.OK; lineMap = Collections.emptyMap();
} else {
lineMap = durationList.stream()
.collect(Collectors.groupingBy(SpaceOptimizeShortDurationView::getLineName));
} }
//转map return lineMap;
Map<String, List<GetThirdActivePowerOutput>> powerMap = powerList.stream() }
.collect(Collectors.groupingBy(GetThirdActivePowerOutput::getStationName));
Map<String, List<SpaceOptimizeShortDurationView>> lineMap = durationList.stream()
.collect(Collectors.groupingBy(SpaceOptimizeShortDurationView::getLineName));
List<DateTime> rangeToList = DateUtil.rangeToList(BusinessConstant.DATE_FLAG_BEGIN, BusinessConstant.DATE_FLAG, DateField.MINUTE, 15); /**
return null; * 查每15分钟的有功功率
*
* @param context 上下文
* @param createDate 创建日期
* @return {@link Map }<{@link String }, {@link List }<{@link GetThirdActivePowerOutput }>>
*/
private Map<String, List<GetThirdActivePowerOutput>> getAvgPhotovoltaicPower(XContext context, Date createDate) {
IThirdActivePowerCloudService service = context.getBean(IThirdActivePowerCloudService.class);
XListResult<GetThirdActivePowerOutput> result = service.queryAvgPhotovoltaicPower(context, GetThirdActivePowerInput.builder()
.createDate(createDate)
.build());
result.throwIfFail();
Map<String, List<GetThirdActivePowerOutput>> powerMap;
List<GetThirdActivePowerOutput> powerList = result.getResult();
if (CollUtil.isEmpty(powerList)) {
powerMap = Collections.emptyMap();
} else {
powerMap = powerList.stream()
.collect(Collectors.groupingBy(GetThirdActivePowerOutput::getStationName));
}
return powerMap;
} }
} }
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