Commit d0ef8787 authored by ZWT's avatar ZWT

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

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent b2c04e4a
......@@ -103,7 +103,8 @@ public class SpaceOptimizeBaseService {
throw new XServiceException(BusinessError.DidNotFindPlant);
}
return SpaceOptimizeLineRelation.builder()
.spaceWellheadList(spaceWellheadList)
.wellheadsByInstitutionIdIdMap(spaceWellheadList.stream()
.collect(Collectors.groupingBy(SpaceInstitutionWellheadView::getInstitutionId)))
.plantIdsByLineIdMap(
plantList.stream()
.collect(
......
......@@ -73,7 +73,7 @@ public class SpaceOptimizeLongCloudServiceImpl extends SpaceOptimizeBaseService
//并网型优化
case "1":
super.gridConnectedOptimization(context, wellheadDTOList, durationDTOList, unOptimizeDurationList,
relation.getSpaceWellheadList(), detail, monthNum, periodId,
relation.getWellheadsByInstitutionIdIdMap().get(detail.getId()), detail, monthNum, periodId,
DynamicQueryPlantPredictedPowerInput.builder()
.plantIds(plantIdsByLineIdMap.get(detail.getLineId()))
.yearTime(String.valueOf(year))
......@@ -83,7 +83,7 @@ public class SpaceOptimizeLongCloudServiceImpl extends SpaceOptimizeBaseService
break;
//离网型优化
case "0":
super.offGridOptimization(context, wellheadDTOList, durationDTOList, unOptimizeDurationList, relation.getSpaceWellheadList(),
super.offGridOptimization(context, wellheadDTOList, durationDTOList, unOptimizeDurationList, relation.getWellheadsByInstitutionIdIdMap().get(detail.getId()),
relation.getStorageAvgMap(), detail, periodId,
DynamicQueryStoragePredictedPowerInput.builder()
.storageIds(plantIdsByLineIdMap.get(detail.getLineId()))
......
......@@ -69,7 +69,7 @@ public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService i
//并网型优化
case "1":
super.gridConnectedOptimization(context, wellheadDTOList, durationDTOList, unOptimizeDurationList,
relation.getSpaceWellheadList(), detail, monthNum, periodId,
relation.getWellheadsByInstitutionIdIdMap().get(detail.getId()), detail, monthNum, periodId,
DynamicQueryPlantPredictedPowerInput.builder()
.plantIds(plantIdsByLineIdMap.get(lineId))
.startTime(startWeek)
......@@ -81,7 +81,7 @@ public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService i
//离网型优化
case "0":
super.offGridOptimization(context, wellheadDTOList, durationDTOList, unOptimizeDurationList,
relation.getSpaceWellheadList(), relation.getStorageAvgMap(), detail, periodId,
relation.getWellheadsByInstitutionIdIdMap().get(detail.getId()), relation.getStorageAvgMap(), detail, periodId,
DynamicQueryStoragePredictedPowerInput.builder()
.storageIds(plantIdsByLineIdMap.get(detail.getLineId()))
.startTime(DateUtil.beginOfWeek(lastWeek).toString(BusinessConstant.DATE_FORMAT_DAY))
......
package pps.core.space.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.space.service.ISpaceOptimizeShortCloudService;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.space.entity.SpaceInstitutionDetailEnt;
import pps.core.space.entity.SpaceInstitutionWellheadEnt;
import pps.core.space.enums.BusinessError;
import pps.core.space.mapper.SpaceInstitutionWellheadMapper;
import xstartup.annotation.XService;
import xstartup.base.XContext;
import xstartup.base.exception.XServiceException;
import xstartup.data.XServiceResult;
import java.util.List;
import java.util.stream.Collectors;
/**
* 短期间开优化Cloud模块
*
......@@ -22,6 +36,25 @@ public class SpaceOptimizeShortCloudServiceImpl extends SpaceOptimizeBaseService
*/
@Override
public XServiceResult optimizeShortJob(XContext context) {
//取生效中的基础间开
DateTime date = DateUtil.date();
String curDate = date.toString(BusinessConstant.DATE_FORMAT_DAY);
List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, curDate);
List<String> institutionIdList = detailEntList.stream()
.map(BaseModel::getId)
.collect(Collectors.toList());
//取制度关联的所有井口
SpaceInstitutionWellheadMapper wellheadMapper = context.getBean(SpaceInstitutionWellheadMapper.class);
List<SpaceInstitutionWellheadEnt> wellheadList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionWellheadEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.in(SpaceInstitutionWellheadEnt::getInstitutionId, institutionIdList)
);
if (CollUtil.isEmpty(wellheadList)) {
//未发现可优化井口
throw new XServiceException(BusinessError.DidNotFindWellhead);
}
return XServiceResult.OK;
}
......
......@@ -25,7 +25,7 @@ public class SpaceOptimizeLineRelation {
/**
* 井口列表
*/
List<SpaceInstitutionWellheadView> spaceWellheadList;
Map<String, List<SpaceInstitutionWellheadView>> wellheadsByInstitutionIdIdMap;
/**
* 电站Map
......
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