Commit cfb8c084 authored by ZWT's avatar ZWT

feat(能源管理系统): 间开优化定时任务

1.开发间开优化定期校准定时任务,配置表达式修改定时任务配置文件,创建cloud模块方法;
2.开发间开优化定期校准定时任务,完成业务逻辑开发;
3.修改间开制度管理模块定期校准新增功能,增加初始化校准历史业务逻辑;
4.开发间开优化短期间开优化定时任务,配置表达式修改定时任务配置文件,创建cloud模块方法;
5.修改长期间开优化定时任务,添加离网型线路数据处理逻辑;
6.创建储能预测电量数据(模拟数据测试用)表,生成对应代码,添加条件查询各时段储能预测数据Cloud模块接口;
7.修改长期间开优化定时任务,增加离网型算法计算储能可用时长逻辑;
8.修改长期间开优化定时任务,优化部分sql查询语句查询逻辑,优化代码结构;
9.光伏预测Cloud模块查询预测发电量接口修改,增加查询长期发电量逻辑;
10.修改中短期间开优化定时任务,添加离网型优化逻辑;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent c1126083
...@@ -3,7 +3,6 @@ package pps.core.space.service; ...@@ -3,7 +3,6 @@ package pps.core.space.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import pps.cloud.base.service.data.base_power_line_storage.DynamicQueryBasePowerLineStorageViewOutput;
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerInput; import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerInput;
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerOutput; import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerOutput;
import pps.cloud.prediction.service.data.storage_predicted_power_data.DynamicQueryStoragePredictedPowerInput; import pps.cloud.prediction.service.data.storage_predicted_power_data.DynamicQueryStoragePredictedPowerInput;
...@@ -45,9 +44,7 @@ public class SpaceOptimizeLongCloudServiceImpl extends SpaceOptimizeBaseService ...@@ -45,9 +44,7 @@ public class SpaceOptimizeLongCloudServiceImpl extends SpaceOptimizeBaseService
//取生效中的基础间开 //取生效中的基础间开
List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, date.toString(BusinessConstant.DATE_FORMAT_DAY)); List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, date.toString(BusinessConstant.DATE_FORMAT_DAY));
SpaceOptimizeLineRelation relation = super.getWellheadAndPlant(context, detailEntList); SpaceOptimizeLineRelation relation = super.getWellheadAndPlant(context, detailEntList);
List<SpaceInstitutionWellheadView> spaceWellheadList = relation.getSpaceWellheadList();
Map<String, List<String>> plantIdsByLineIdMap = relation.getPlantIdsByLineIdMap(); Map<String, List<String>> plantIdsByLineIdMap = relation.getPlantIdsByLineIdMap();
Map<String, List<DynamicQueryBasePowerLineStorageViewOutput>> storageAvgMap = relation.getStorageAvgMap();
//取年份 //取年份
int year = date.year(); int year = date.year();
//月份要加一 //月份要加一
...@@ -86,12 +83,12 @@ public class SpaceOptimizeLongCloudServiceImpl extends SpaceOptimizeBaseService ...@@ -86,12 +83,12 @@ public class SpaceOptimizeLongCloudServiceImpl extends SpaceOptimizeBaseService
.build() .build()
); );
super.gridConnectedOptimization(context, durationMapper, wellheadDTOList, durationDTOList, unOptimizeDurationList, super.gridConnectedOptimization(context, durationMapper, wellheadDTOList, durationDTOList, unOptimizeDurationList,
spaceWellheadList, avgPowerList, detail, monthNum, detail.getId(), periodId, detail.getLineId()); relation.getSpaceWellheadList(), avgPowerList, detail, monthNum, detail.getId(), periodId, detail.getLineId());
break; break;
//离网型优化 //离网型优化
case "0": case "0":
super.offGridOptimization(context, wellheadDTOList, durationDTOList, unOptimizeDurationList, spaceWellheadList, super.offGridOptimization(context, wellheadDTOList, durationDTOList, unOptimizeDurationList, relation.getSpaceWellheadList(),
storageAvgMap, detail, periodId, relation.getStorageAvgMap(), detail, periodId,
DynamicQueryStoragePredictedPowerInput.builder() DynamicQueryStoragePredictedPowerInput.builder()
.storageIds(plantIdsByLineIdMap.get(detail.getLineId())) .storageIds(plantIdsByLineIdMap.get(detail.getLineId()))
.yearTime(String.valueOf(lastYear)) .yearTime(String.valueOf(lastYear))
......
...@@ -5,10 +5,14 @@ import cn.hutool.core.date.DateTime; ...@@ -5,10 +5,14 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerInput; import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerInput;
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerOutput; import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerOutput;
import pps.cloud.prediction.service.data.storage_predicted_power_data.DynamicQueryStoragePredictedPowerInput;
import pps.cloud.space.service.ISpaceOptimizeMidCloudService; import pps.cloud.space.service.ISpaceOptimizeMidCloudService;
import pps.core.common.constant.BusinessConstant; import pps.core.common.constant.BusinessConstant;
import pps.core.common.utils.BaseUtils; import pps.core.common.utils.BaseUtils;
import pps.core.space.entity.*; import pps.core.space.entity.SpaceInstitutionDetailEnt;
import pps.core.space.entity.SpaceOptimizeDurationDTO;
import pps.core.space.entity.SpaceOptimizePeriodDTO;
import pps.core.space.entity.SpaceOptimizeWellheadDTO;
import pps.core.space.mapper.SpaceInstitutionDurationMapper; import pps.core.space.mapper.SpaceInstitutionDurationMapper;
import pps.core.space.mapper.SpaceOptimizeViewMapper; import pps.core.space.mapper.SpaceOptimizeViewMapper;
import pps.core.space.service.data.SpaceOptimizeLineRelation; import pps.core.space.service.data.SpaceOptimizeLineRelation;
...@@ -43,11 +47,11 @@ public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService i ...@@ -43,11 +47,11 @@ public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService i
String startWeek = date.toString(BusinessConstant.DATE_FORMAT_DAY); String startWeek = date.toString(BusinessConstant.DATE_FORMAT_DAY);
//取生效中的基础间开 //取生效中的基础间开
List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, startWeek); List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, startWeek);
SpaceOptimizeLineRelation wellheadAndPlant = super.getWellheadAndPlant(context, detailEntList); SpaceOptimizeLineRelation relation = super.getWellheadAndPlant(context, detailEntList);
List<SpaceInstitutionWellheadView> spaceWellheadList = wellheadAndPlant.getSpaceWellheadList(); Map<String, List<String>> plantIdsByLineIdMap = relation.getPlantIdsByLineIdMap();
Map<String, List<String>> plantIdsByLineIdMap = wellheadAndPlant.getPlantIdsByLineIdMap();
//月份要加一 //月份要加一
int monthNum = date.month() + 1; int monthNum = date.month() + 1;
DateTime lastWeek = DateUtil.lastWeek();
SpaceInstitutionDurationMapper durationMapper = context.getBean(SpaceInstitutionDurationMapper.class); SpaceInstitutionDurationMapper durationMapper = context.getBean(SpaceInstitutionDurationMapper.class);
List<SpaceOptimizePeriodDTO> periodDTOList = new ArrayList<>(32); List<SpaceOptimizePeriodDTO> periodDTOList = new ArrayList<>(32);
List<SpaceOptimizeWellheadDTO> wellheadDTOList = new ArrayList<>(64); List<SpaceOptimizeWellheadDTO> wellheadDTOList = new ArrayList<>(64);
...@@ -76,11 +80,22 @@ public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService i ...@@ -76,11 +80,22 @@ public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService i
.build() .build()
); );
super.gridConnectedOptimization(context, durationMapper, wellheadDTOList, durationDTOList, unOptimizeDurationList, super.gridConnectedOptimization(context, durationMapper, wellheadDTOList, durationDTOList, unOptimizeDurationList,
spaceWellheadList, avgPowerList, detail, monthNum, detailId, periodId, lineId); relation.getSpaceWellheadList(), avgPowerList, detail, monthNum, detailId, periodId, lineId);
break; break;
//离网型优化 //离网型优化
case "0": case "0":
super.offGridOptimization(context, wellheadDTOList, durationDTOList, unOptimizeDurationList, relation.getSpaceWellheadList(),
relation.getStorageAvgMap(), detail, periodId,
DynamicQueryStoragePredictedPowerInput.builder()
.storageIds(plantIdsByLineIdMap.get(detail.getLineId()))
.startTime(DateUtil.beginOfWeek(lastWeek).toString(BusinessConstant.DATE_FORMAT_DAY))
.endTime(DateUtil.endOfWeek(lastWeek).toString(BusinessConstant.DATE_FORMAT_DAY))
.build(),
DynamicQueryPlantPredictedPowerInput.builder()
.plantIds(plantIdsByLineIdMap.get(lineId))
.startTime(startWeek)
.endTime(nextWeek)
.build());
break; break;
default: default:
//电网类型不存在 //电网类型不存在
......
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