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