Commit 522f6957 authored by ZWT's avatar ZWT

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

1.修改间开制度管理-长期/中长期间开优化定时任务,解决未设置区间的井口不展示时间区间问题;
2.开发间开制度管理-校准周期模块,间开制度跟踪接口,完成接口冒烟测试,并生成接口文档;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 199120f7
......@@ -13,6 +13,7 @@ import pps.core.common.utils.BaseUtils;
import pps.core.space.entity.*;
import pps.core.space.enums.BusinessError;
import pps.core.space.mapper.*;
import pps.core.space.service.data.SpaceOptimizeDateDuration;
import pps.core.space.service.data.space_calibration_history.QuerySpaceCalibrationHistoryInput;
import pps.core.space.service.data.space_calibration_history.QuerySpaceCalibrationHistoryOutput;
import pps.core.space.service.data.space_calibration_history.QuerySpaceCalibrationHistoryViewInput;
......@@ -229,7 +230,7 @@ public class SpaceCalibrationService {
* @return {@link XSingleResult}<{@link GetSpaceInstitutionWellheadOutput}>
*/
@XApiAnonymous
@XApiGet
@XApiPost
@XText("校准周期--间开制度跟踪")
public XSingleResult<GetSpaceInstitutionWellheadOutput> getSpaceInstitutionTrack(XContext context, GetSpaceInstitutionWellheadInput input) {
DateTime beginOfDay = DateUtil.beginOfDay(DateUtil.date());
......@@ -241,13 +242,62 @@ public class SpaceCalibrationService {
//缺少历史记录
return XSingleResult.error(context, BusinessError.LackOfHistoryRecord);
}
if (beginOfDay.compareTo(inputDate) < 0) {
GetSpaceInstitutionWellheadOutput wellheadOutput = GetSpaceInstitutionWellheadOutput.builder()
.optimizeList(new ArrayList<>(0))
.initializeList(new ArrayList<>(0))
.build();
if (inputDate.compareTo(beginOfDay) < 0) {
//日期小于当天,查短期优化数据
SpaceOptimizeShortPeriodMapper shortPeriodMapper = context.getBean(SpaceOptimizeShortPeriodMapper.class);
SpaceOptimizeShortPeriodEnt shortPeriodEnt = shortPeriodMapper.selectOne(new LambdaQueryWrapper<SpaceOptimizeShortPeriodEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeShortPeriodEnt::getInstitutionId, historyEnt.getInstitutionId())
.eq(SpaceOptimizeShortPeriodEnt::getOptimizeDate, inputDate)
);
//通过井口ID查区间
if (Objects.nonNull(shortPeriodEnt)) {
SpaceOptimizeShortDurationMapper shortDurationMapper = context.getBean(SpaceOptimizeShortDurationMapper.class);
List<SpaceOptimizeShortDurationEnt> shortDurationEntList = shortDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeShortDurationEnt::getWellheadId, input.getWellheadId())
.eq(SpaceOptimizeShortDurationEnt::getShortPeriodId, shortPeriodEnt.getId())
.orderByAsc(BaseModel::getCreateTime)
);
if (CollUtil.isNotEmpty(shortDurationEntList)) {
Map<Integer, List<SpaceOptimizeDateDuration>> collect = XCopyUtils.copyNewList(shortDurationEntList, SpaceOptimizeDateDuration.class)
.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getIsOptimize));
wellheadOutput.setInitializeList(ServiceUtil.getAllDateDuration(collect.get(BusinessConstant.ONE)));
wellheadOutput.setOptimizeList(ServiceUtil.getAllDateDuration(collect.get(BusinessConstant.ZERO)));
}
}
} else {
//日期大于等于当天,查中短期/长期优化数据
//日期大于等于当天,查最近的中短期
SpaceOptimizeMidPeriodMapper midPeriodMapper = context.getBean(SpaceOptimizeMidPeriodMapper.class);
SpaceOptimizeMidPeriodEnt midPeriodEnt = midPeriodMapper.selectOne(new LambdaQueryWrapper<SpaceOptimizeMidPeriodEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeMidPeriodEnt::getInstitutionId, historyEnt.getInstitutionId())
.orderByDesc(BaseModel::getCreateTime)
.last("limit 1")
);
if (Objects.nonNull(midPeriodEnt)) {
SpaceOptimizeMidDurationMapper midDurationMapper = context.getBean(SpaceOptimizeMidDurationMapper.class);
List<SpaceOptimizeMidDurationEnt> midDurationEntList = midDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeMidDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeMidDurationEnt::getWellheadId, input.getWellheadId())
.eq(SpaceOptimizeMidDurationEnt::getMidPeriodId, midPeriodEnt.getId())
.orderByAsc(BaseModel::getCreateTime)
);
if (CollUtil.isNotEmpty(midDurationEntList)) {
Map<Integer, List<SpaceOptimizeDateDuration>> collect = XCopyUtils.copyNewList(midDurationEntList, SpaceOptimizeDateDuration.class)
.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getIsOptimize));
wellheadOutput.setInitializeList(ServiceUtil.getAllDateDuration(collect.get(BusinessConstant.ONE)));
wellheadOutput.setOptimizeList(ServiceUtil.getAllDateDuration(collect.get(BusinessConstant.ZERO)));
}
}
}
return XSingleResult.success();
return XSingleResult.success(wellheadOutput);
}
/*-----------------------------------private-----------------------------------*/
......
package pps.core.space.service.data.space_institution_wellhead;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import pps.core.space.service.data.SpaceOptimizeDateDuration;
import xstartup.annotation.XText;
......@@ -13,17 +16,20 @@ import java.util.List;
* @date 2023/09/05
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GetSpaceInstitutionWellheadOutput {
@XText("井口ID")
private String wellheadId;
@XText("井")
private String wellNumber;
/**
* 井口配置(未优化)
*/
@XText("井口配置(未优化)")
private List<SpaceOptimizeDateDuration> initializeList;
/**
* 井口时段配置
* 井口配置(已优化)
*/
@XText("井口时段配置")
private List<SpaceOptimizeDateDuration> durationList;
@XText("井口配置(已优化)")
private List<SpaceOptimizeDateDuration> optimizeList;
}
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