Commit 0a521704 authored by ZWT's avatar ZWT

feat(能源管理系统): 测试问题修复

1.修改间开制度管理-长期间开优化模块详情接口,增加查询当月长期光伏预测功率数据逻辑;
2.开发光伏预测Cloud模块,条件查询每小时长期/中短期光伏预测发电量列表接口,完成接口冒烟测试;
3.修改间开制度管理-中短期间开优化模块详情接口,增加查询当前中短期光伏预测功率数据逻辑;
4.修改间开制度管理-长期/中短期间开优化离网型优化方法计算异常问题;
5.修改间开制度管理-短期间开优化模块查看详情接口,解决缺少线路ID查询条件问题;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 05b1e305
......@@ -62,90 +62,91 @@ public class SpaceOptimizeShortPeriodService {
if (Objects.isNull(detailEnt)) {
//当前线路没有基础制度
output.setWellheadList(new ArrayList<>(0));
}
output.setGridTypeKey(detailEnt.getGridTypeKey());
//查出当前制度所有的井口
String institutionId = detailEnt.getId();
SpaceInstitutionWellheadMapper wellheadMapper = context.getBean(SpaceInstitutionWellheadMapper.class);
List<SpaceInstitutionWellheadEnt> wellheadEntList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionWellheadEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceInstitutionWellheadEnt::getInstitutionId, institutionId)
.orderByAsc(SpaceInstitutionWellheadEnt::getStartSeq)
);
if (CollUtil.isEmpty(wellheadEntList)) {
//缺少井口
output.setWellheadList(new ArrayList<>(0));
}
//查当日是否存在优化记录
SpaceOptimizeShortPeriodEnt period = mapper.selectOne(
new LambdaQueryWrapper<SpaceOptimizeShortPeriodEnt>()
.eq(SpaceOptimizeShortPeriodEnt::getLineId, input.getLineId())
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.ge(SpaceOptimizeShortPeriodEnt::getOptimizeDate, DateUtil.beginOfDay(DateUtil.date()))
);
Map<String, List<SpaceOptimizeDateDuration>> collect = new HashMap<>(0);
if (Objects.nonNull(period)) {
//如果存在,查出优化过的区间
SpaceOptimizeShortDurationViewMapper durationViewMapper = context.getBean(SpaceOptimizeShortDurationViewMapper.class);
List<SpaceOptimizeShortDurationView> durationViewList = durationViewMapper.selectList(SpaceOptimizeShortDurationView.builder()
.shortPeriodId(period.getId())
.build()
);
if (CollUtil.isNotEmpty(durationViewList)) {
collect = XCopyUtils.copyNewList(durationViewList, SpaceOptimizeDateDuration.class)
.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
}
} else {
//如果没有,查初始区间
SpaceInstitutionDurationMapper durationMapper = context.getBean(SpaceInstitutionDurationMapper.class);
List<SpaceInstitutionDurationEnt> durationEntList = durationMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionDurationEnt>()
output.setGridTypeKey(detailEnt.getGridTypeKey());
//查出当前制度所有的井口
String institutionId = detailEnt.getId();
SpaceInstitutionWellheadMapper wellheadMapper = context.getBean(SpaceInstitutionWellheadMapper.class);
List<SpaceInstitutionWellheadEnt> wellheadEntList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionWellheadEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceInstitutionDurationEnt::getInstitutionId, institutionId)
.orderByAsc(SpaceInstitutionDurationEnt::getOpenWellTime)
.eq(SpaceInstitutionWellheadEnt::getInstitutionId, institutionId)
.orderByAsc(SpaceInstitutionWellheadEnt::getStartSeq)
);
if (CollUtil.isNotEmpty(durationEntList)) {
collect = XCopyUtils.copyNewList(durationEntList, SpaceOptimizeDateDuration.class)
.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
if (CollUtil.isEmpty(wellheadEntList)) {
//缺少井口
output.setWellheadList(new ArrayList<>(0));
}
}
//遍历井口,添加区间
List<GetSpaceOptimizeShortWellheadViewOutput> wellheadViewOutputs = XCopyUtils.copyNewList(wellheadEntList, GetSpaceOptimizeShortWellheadViewOutput.class);
for (GetSpaceOptimizeShortWellheadViewOutput wellheadViewOutput : wellheadViewOutputs) {
if (collect.containsKey(wellheadViewOutput.getWellheadId())) {
wellheadViewOutput.setDurationList(ServiceUtil.getAllDateDuration(collect.get(wellheadViewOutput.getWellheadId())));
//查当日是否存在优化记录
SpaceOptimizeShortPeriodEnt period = mapper.selectOne(
new LambdaQueryWrapper<SpaceOptimizeShortPeriodEnt>()
.eq(SpaceOptimizeShortPeriodEnt::getLineId, input.getLineId())
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.ge(SpaceOptimizeShortPeriodEnt::getOptimizeDate, DateUtil.beginOfDay(DateUtil.date()))
);
Map<String, List<SpaceOptimizeDateDuration>> collect = new HashMap<>(0);
if (Objects.nonNull(period)) {
//如果存在,查出优化过的区间
SpaceOptimizeShortDurationViewMapper durationViewMapper = context.getBean(SpaceOptimizeShortDurationViewMapper.class);
List<SpaceOptimizeShortDurationView> durationViewList = durationViewMapper.selectList(SpaceOptimizeShortDurationView.builder()
.shortPeriodId(period.getId())
.build()
);
if (CollUtil.isNotEmpty(durationViewList)) {
collect = XCopyUtils.copyNewList(durationViewList, SpaceOptimizeDateDuration.class)
.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
}
} else {
//大间开处理
if (StringUtils.equals(BusinessConstant.STRING_ONE, wellheadViewOutput.getIntervalTypeKey())) {
Integer isOpen = BusinessConstant.ZERO;
String closeWellTime = BusinessConstant.START_OF_DAY_TIME;
if (ServiceUtil.checkWellIsOpen(wellheadViewOutput.getOpenWellDay(), wellheadViewOutput.getCloseWellDay(), wellheadViewOutput.getCreateTime(), date)) {
isOpen = BusinessConstant.ONE;
closeWellTime = BusinessConstant.END_OF_DAY_TIME;
}
wellheadViewOutput.setDurationList(
CollUtil.newArrayList(SpaceOptimizeDateDuration.builder()
.openWellTime(BusinessConstant.START_OF_DAY_TIME)
.closeWellTime(closeWellTime)
.isOpen(isOpen)
.isOptimize(BusinessConstant.ONE)
.build())
);
//如果没有,查初始区间
SpaceInstitutionDurationMapper durationMapper = context.getBean(SpaceInstitutionDurationMapper.class);
List<SpaceInstitutionDurationEnt> durationEntList = durationMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceInstitutionDurationEnt::getInstitutionId, institutionId)
.orderByAsc(SpaceInstitutionDurationEnt::getOpenWellTime)
);
if (CollUtil.isNotEmpty(durationEntList)) {
collect = XCopyUtils.copyNewList(durationEntList, SpaceOptimizeDateDuration.class)
.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
}
}
//遍历井口,添加区间
List<GetSpaceOptimizeShortWellheadViewOutput> wellheadViewOutputs = XCopyUtils.copyNewList(wellheadEntList, GetSpaceOptimizeShortWellheadViewOutput.class);
for (GetSpaceOptimizeShortWellheadViewOutput wellheadViewOutput : wellheadViewOutputs) {
if (collect.containsKey(wellheadViewOutput.getWellheadId())) {
wellheadViewOutput.setDurationList(ServiceUtil.getAllDateDuration(collect.get(wellheadViewOutput.getWellheadId())));
} else {
//全关
wellheadViewOutput.setDurationList(
CollUtil.newArrayList(SpaceOptimizeDateDuration.builder()
.openWellTime(BusinessConstant.START_OF_DAY_TIME)
.closeWellTime(BusinessConstant.END_OF_DAY_TIME)
.isOpen(BusinessConstant.ZERO)
.isOptimize(BusinessConstant.ONE)
.build())
);
//大间开处理
if (StringUtils.equals(BusinessConstant.STRING_ONE, wellheadViewOutput.getIntervalTypeKey())) {
Integer isOpen = BusinessConstant.ZERO;
String closeWellTime = BusinessConstant.START_OF_DAY_TIME;
if (ServiceUtil.checkWellIsOpen(wellheadViewOutput.getOpenWellDay(), wellheadViewOutput.getCloseWellDay(), wellheadViewOutput.getCreateTime(), date)) {
isOpen = BusinessConstant.ONE;
closeWellTime = BusinessConstant.END_OF_DAY_TIME;
}
wellheadViewOutput.setDurationList(
CollUtil.newArrayList(SpaceOptimizeDateDuration.builder()
.openWellTime(BusinessConstant.START_OF_DAY_TIME)
.closeWellTime(closeWellTime)
.isOpen(isOpen)
.isOptimize(BusinessConstant.ONE)
.build())
);
} else {
//全关
wellheadViewOutput.setDurationList(
CollUtil.newArrayList(SpaceOptimizeDateDuration.builder()
.openWellTime(BusinessConstant.START_OF_DAY_TIME)
.closeWellTime(BusinessConstant.END_OF_DAY_TIME)
.isOpen(BusinessConstant.ZERO)
.isOptimize(BusinessConstant.ONE)
.build())
);
}
}
}
output.setWellheadList(wellheadViewOutputs);
}
output.setWellheadList(wellheadViewOutputs);
return XSingleResult.success(output);
}
}
\ No newline at end of file
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