Commit bb387b6c authored by ZWT's avatar ZWT

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

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent dcccdfc9
......@@ -219,6 +219,7 @@ public class SpaceOptimizeBaseService {
//取优化截至日期
DateTime optimizeDate;
DateTime begin;
DateTime recordTime;
for (SpaceInstitutionDetailEnt detail : detailEntList) {
//查最新间开历史
if (this.isOptimize(context, detail.getId(), flag, startDate)) {
......@@ -236,12 +237,13 @@ public class SpaceOptimizeBaseService {
for (int d = 0; d < offset; d++) {
begin = DateUtil.offsetDay(startDate, d);
optimizeDate = DateUtil.offsetDay(startDate, d + 1);
recordTime = offset > 1 ? begin : optimizeDate;
//查预测光伏出力
powerList = this.getAveragePowerHalfHour(context, DynamicQueryPlantPredictedPowerInput.builder()
.plantIds(plantIdsMap.get(detail.getLineId()))
.startTime(begin.toString(BusinessConstant.DATE_FORMAT_DAY))
.endTime(optimizeDate.toString(BusinessConstant.DATE_FORMAT_DAY))
.dateType(BusinessConstant.ONE)
.dateType(dateType)
.build());
//取峰谷策略
strategyList = strategyMap.get(lineMap.get(detail.getLineId()));
......@@ -257,7 +259,7 @@ public class SpaceOptimizeBaseService {
//保存不需要优化的井口
List<SpaceInstitutionWellheadView> unOptimizeWellhead = collect.get(Boolean.FALSE);
this.setUnOptimizeWellheadConfig(durationDTOList, unOptimizeDurationList, wellheadDTOList,
unOptimizeWellhead, durationMap.get(detail.getId()), periodId, optimizeDate);
unOptimizeWellhead, durationMap.get(detail.getId()), periodId, recordTime);
//取待优化井口并遍历
wellheadList = collect.get(Boolean.TRUE);
//防冻堵策略(一口井就全开不走优化)
......@@ -272,16 +274,16 @@ public class SpaceOptimizeBaseService {
if (wellheadList.size() == 1) {
SpaceInstitutionWellheadView wellhead = wellheadList.get(0);
String wellheadId = wellhead.getWellheadId();
String recordId = this.createOptimizeWellhead(wellheadDTOList, periodId, wellheadId, wellhead.getWellNumber(), wellhead.getStartSeq(), optimizeDate, BusinessConstant.ZERO);
String recordId = this.createOptimizeWellhead(wellheadDTOList, periodId, wellheadId, wellhead.getWellNumber(), wellhead.getStartSeq(), recordTime, BusinessConstant.ZERO);
//保存间开原始记录
for (SpaceInstitutionDurationEnt durationEnt : durationMap.get(detail.getId()).get(wellheadId)) {
this.createUnOptimizeDuration(unOptimizeDurationList, durationEnt, periodId, recordId, wellheadId, optimizeDate);
this.createUnOptimizeDuration(unOptimizeDurationList, durationEnt, periodId, recordId, wellheadId, recordTime);
}
//设置间开优化24小时全开
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
BusinessConstant.START_OF_DAY_TIME,
BusinessConstant.END_OF_DAY_TIME,
BusinessConstant.ZERO, optimizeDate
BusinessConstant.ZERO, recordTime
);
} else {
for (int i = 1; i < wellheadList.size(); i++) {
......@@ -307,10 +309,10 @@ public class SpaceOptimizeBaseService {
for (int i = 0; i < wellheadList.size(); i++) {
wellhead = wellheadList.get(i);
String wellheadId = wellhead.getWellheadId();
String recordId = this.createOptimizeWellhead(wellheadDTOList, periodId, wellheadId, wellhead.getWellNumber(), wellhead.getStartSeq(), optimizeDate, BusinessConstant.ONE);
String recordId = this.createOptimizeWellhead(wellheadDTOList, periodId, wellheadId, wellhead.getWellNumber(), wellhead.getStartSeq(), recordTime, BusinessConstant.ONE);
//保存间开原始记录
for (SpaceInstitutionDurationEnt durationEnt : durationMap.get(detail.getId()).get(wellheadId)) {
this.createUnOptimizeDuration(unOptimizeDurationList, durationEnt, periodId, recordId, wellheadId, optimizeDate);
this.createUnOptimizeDuration(unOptimizeDurationList, durationEnt, periodId, recordId, wellheadId, recordTime);
}
//累加运行功率
serviceRating = serviceRating.add(wellhead.getServiceRating());
......@@ -327,7 +329,7 @@ public class SpaceOptimizeBaseService {
firstOpenWellTime = this.timePeriodOptimization(optimizeDurationDTOList, weightDurationList, firstOpenWellTime, i,
startInterval, minOpenMinute, wellhead, weightList);
//创建优化后的间开区间
this.addOptimizeDuration(optimizeDurationDTOList, durationDTOList, tundraStrategyList, periodId, recordId, wellheadId, optimizeDate);
this.addOptimizeDuration(optimizeDurationDTOList, durationDTOList, tundraStrategyList, periodId, recordId, wellheadId, recordTime);
}
//防冻井
if (ObjectUtil.isNotNull(tundraStrategyWellhead) && CollUtil.isNotEmpty(tundraStrategyList)) {
......@@ -437,10 +439,10 @@ public class SpaceOptimizeBaseService {
List<SpaceOptimizeWeightDuration> weightDurationList = this.weightListProcessing(ladder, weightList, minOpenMinute);
//创建优化记录
String wellheadId = tundraStrategyWellhead.getWellheadId();
String recordId = this.createOptimizeWellhead(wellheadDTOList, periodId, wellheadId, tundraStrategyWellhead.getWellNumber(), tundraStrategyWellhead.getStartSeq(), optimizeDate, BusinessConstant.ZERO);
String recordId = this.createOptimizeWellhead(wellheadDTOList, periodId, wellheadId, tundraStrategyWellhead.getWellNumber(), tundraStrategyWellhead.getStartSeq(), recordTime, BusinessConstant.ZERO);
//保存间开原始记录
for (SpaceInstitutionDurationEnt durationEnt : durationMap.get(detail.getId()).get(wellheadId)) {
this.createUnOptimizeDuration(unOptimizeDurationList, durationEnt, periodId, recordId, wellheadId, optimizeDate);
this.createUnOptimizeDuration(unOptimizeDurationList, durationEnt, periodId, recordId, wellheadId, recordTime);
}
//关井时间优化
if (CollUtil.isNotEmpty(closeList)) {
......@@ -594,7 +596,7 @@ public class SpaceOptimizeBaseService {
startInterval, minOpenMinute, tundraStrategyWellhead, weightList);
}
//创建优化后的间开区间
this.addOptimizeDuration(closeList, durationDTOList, tundraStrategyList, periodId, recordId, wellheadId, optimizeDate);
this.addOptimizeDuration(closeList, durationDTOList, tundraStrategyList, periodId, recordId, wellheadId, recordTime);
}
}
}
......
......@@ -37,7 +37,7 @@ public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService i
List<SpaceOptimizeWellheadDTO> wellheadDTOList = new ArrayList<>(64);
List<SpaceOptimizeDurationDTO> durationDTOList = new ArrayList<>(128);
List<SpaceOptimizeDurationDTO> unOptimizeDurationList = new ArrayList<>(128);
super.doOptimize(context, periodDTOList, wellheadDTOList, durationDTOList, unOptimizeDurationList, BusinessConstant.ONE, BusinessConstant.ONE, 3);
super.dynamicOptimize(context, periodDTOList, wellheadDTOList, durationDTOList, unOptimizeDurationList, BusinessConstant.ONE, BusinessConstant.ONE, 3);
//开启事务
return XTransactionHelper.begin(context, () -> {
int size;
......
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