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 {
.collect(Collectors.toList());
midPeriodMapper.update(null, new LambdaUpdateWrapper<SpaceOptimizeMidPeriodEnt>()
.set(BaseModel::getIsDeleted, BusinessConstant.ZERO)
.in(BaseModel::getId, midIds
)
.in(BaseModel::getId, midIds)
);
//删除关联数据
SpaceOptimizeMidWellheadMapper longWellheadMapper = context.getBean(SpaceOptimizeMidWellheadMapper.class);
......@@ -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 {
@XApiPost
@XText("校准历史--重新优化")
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();
SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
SpaceInstitutionDetailEnt entity = this.getInstitutionDetail(mapper, institutionId);
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
return XTransactionHelper.begin(context, () -> {
SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
SpaceInstitutionDetailEnt entity = this.getInstitutionDetail(mapper, institutionId);
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
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: 如果前往校准修改制度,长期/中短期优化重新跑
// int i = 1 / 0;
return XServiceResult.OK;
});
}
......@@ -694,4 +661,43 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
BaseUtils.setBaseModelDefault(entity, session);
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