Commit 96223282 authored by ZWT's avatar ZWT

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

1.开发间开优化长期间开优化定时任务,完成并网流程绿电消纳优先策略;
2.开发间开优化长期间开优化定时任务,完成并网流程消峰平谷策略;
3.开发间开优化中短期间开优化定时任务,创建定时任务并添加配置;
4.抽取间开优化定时任务逻辑处理父类,对长期间开优化定时任务/中短期间开优化定时任务代码结构进行优化;
5.开发间开优化中短期间开优化定时任务,完成并网流程绿电消纳优先策略;
6.开发间开优化中短期间开优化定时任务,完成并网流程消峰平谷策略;
7.修改间开制度管理设为基础制度接口,增加长期/中短期间开优化业务处理逻辑;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 342f33f2
...@@ -408,8 +408,7 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService { ...@@ -408,8 +408,7 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
.collect(Collectors.toList()); .collect(Collectors.toList());
midPeriodMapper.update(null, new LambdaUpdateWrapper<SpaceOptimizeMidPeriodEnt>() midPeriodMapper.update(null, new LambdaUpdateWrapper<SpaceOptimizeMidPeriodEnt>()
.set(BaseModel::getIsDeleted, BusinessConstant.ZERO) .set(BaseModel::getIsDeleted, BusinessConstant.ZERO)
.in(BaseModel::getId, midIds .in(BaseModel::getId, midIds)
)
); );
//删除关联数据 //删除关联数据
SpaceOptimizeMidWellheadMapper longWellheadMapper = context.getBean(SpaceOptimizeMidWellheadMapper.class); SpaceOptimizeMidWellheadMapper longWellheadMapper = context.getBean(SpaceOptimizeMidWellheadMapper.class);
...@@ -504,46 +503,6 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService { ...@@ -504,46 +503,6 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
}); });
} }
/**
* 制度优化
*
* @param context 上下文
* @param periodDTOList 时期数据主义者
* @param wellheadDTOList 井口dtolist
* @param durationDTOList 持续时间dtolist
* @param unOptimizeDurationList 取消优化工期列表
* @param avgPowerList 平均功率列表
* @param detail 细节
* @param executionCycle 执行周期
* @param optimizeDeadline 优化截止日期
* @param monthNum 月份
*/
private void institutionalOptimization(XContext context, List<SpaceOptimizePeriodDTO> periodDTOList, List<SpaceOptimizeWellheadDTO> wellheadDTOList,
List<SpaceOptimizeDurationDTO> durationDTOList, List<SpaceOptimizeDurationDTO> unOptimizeDurationList,
SpaceOptimizeWellheadAndPlant wellheadAndPlant, List<DynamicQueryPlantPredictedPowerOutput> avgPowerList, SpaceInstitutionDetailEnt detail,
String executionCycle, Date optimizeDeadline, int monthNum) {
String detailId = detail.getId();
String lineId = detail.getLineId();
List<SpaceInstitutionWellheadView> spaceWellheadList = wellheadAndPlant.getSpaceWellheadList();
SpaceInstitutionDurationMapper durationMapper = context.getBean(SpaceInstitutionDurationMapper.class);
//创建记录
String periodId = super.createOptimizePeriod(periodDTOList, detailId, lineId, executionCycle, optimizeDeadline);
switch (detail.getGridTypeKey()) {
//并网型优化
case "1":
super.gridConnectedOptimization(context, durationMapper, wellheadDTOList, durationDTOList, unOptimizeDurationList,
spaceWellheadList, avgPowerList, detail, monthNum, detailId, periodId, lineId);
break;
//离网型优化
case "0":
break;
default:
//电网类型不存在
}
}
/** /**
* 校准历史--重新优化 * 校准历史--重新优化
* *
...@@ -555,16 +514,24 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService { ...@@ -555,16 +514,24 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
@XApiPost @XApiPost
@XText("校准历史--重新优化") @XText("校准历史--重新优化")
public XServiceResult anewOptimizeInstitution(XContext context, UpdateSpaceInstitutionDetailInput input) { public XServiceResult anewOptimizeInstitution(XContext context, UpdateSpaceInstitutionDetailInput input) {
PpsUserSession session = context.getSession(PpsUserSession.class); // PpsUserSession session = context.getSession(PpsUserSession.class);
PpsUserSession session = new PpsUserSession();
session.setId("123");
session.setUserName("123");
String institutionId = input.getId(); String institutionId = input.getId();
return XTransactionHelper.begin(context, () -> {
SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class); SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
SpaceInstitutionDetailEnt entity = this.getInstitutionDetail(mapper, institutionId); SpaceInstitutionDetailEnt entity = this.getInstitutionDetail(mapper, institutionId);
if (Objects.isNull(entity)) { if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
return XTransactionHelper.begin(context, () -> {
this.updateInstitutionDetail(context, session, mapper, institutionId, input, entity); this.updateInstitutionDetail(context, session, mapper, institutionId, input, entity);
SpaceInstitutionWellheadMapper wellheadMapper = context.getBean(SpaceInstitutionWellheadMapper.class);
List<SpaceInstitutionWellheadEnt> wellheadEntList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionWellheadEnt>()
.eq(SpaceInstitutionWellheadEnt::getInstitutionId, institutionId)
);
//todo: 如果前往校准修改制度,长期/中短期优化重新跑 //todo: 如果前往校准修改制度,长期/中短期优化重新跑
// int i = 1 / 0;
return XServiceResult.OK; return XServiceResult.OK;
}); });
} }
...@@ -694,4 +661,43 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService { ...@@ -694,4 +661,43 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
BaseUtils.setBaseModelDefault(entity, session); BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity); mapper.updateById(entity);
} }
/**
* 制度优化
*
* @param context 上下文
* @param periodDTOList 时期数据主义者
* @param wellheadDTOList 井口dtolist
* @param durationDTOList 持续时间dtolist
* @param unOptimizeDurationList 取消优化工期列表
* @param avgPowerList 平均功率列表
* @param detail 细节
* @param executionCycle 执行周期
* @param optimizeDeadline 优化截止日期
* @param monthNum 月份
*/
private void institutionalOptimization(XContext context, List<SpaceOptimizePeriodDTO> periodDTOList, List<SpaceOptimizeWellheadDTO> wellheadDTOList,
List<SpaceOptimizeDurationDTO> durationDTOList, List<SpaceOptimizeDurationDTO> unOptimizeDurationList,
SpaceOptimizeWellheadAndPlant wellheadAndPlant, List<DynamicQueryPlantPredictedPowerOutput> avgPowerList, SpaceInstitutionDetailEnt detail,
String executionCycle, Date optimizeDeadline, int monthNum) {
String detailId = detail.getId();
String lineId = detail.getLineId();
List<SpaceInstitutionWellheadView> spaceWellheadList = wellheadAndPlant.getSpaceWellheadList();
SpaceInstitutionDurationMapper durationMapper = context.getBean(SpaceInstitutionDurationMapper.class);
//创建记录
String periodId = super.createOptimizePeriod(periodDTOList, detailId, lineId, executionCycle, optimizeDeadline);
switch (detail.getGridTypeKey()) {
//并网型优化
case "1":
super.gridConnectedOptimization(context, durationMapper, wellheadDTOList, durationDTOList, unOptimizeDurationList,
spaceWellheadList, avgPowerList, detail, monthNum, detailId, periodId, lineId);
break;
//离网型优化
case "0":
break;
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