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; ...@@ -13,6 +13,7 @@ import pps.core.common.utils.BaseUtils;
import pps.core.space.entity.*; import pps.core.space.entity.*;
import pps.core.space.enums.BusinessError; import pps.core.space.enums.BusinessError;
import pps.core.space.mapper.*; 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.QuerySpaceCalibrationHistoryInput;
import pps.core.space.service.data.space_calibration_history.QuerySpaceCalibrationHistoryOutput; import pps.core.space.service.data.space_calibration_history.QuerySpaceCalibrationHistoryOutput;
import pps.core.space.service.data.space_calibration_history.QuerySpaceCalibrationHistoryViewInput; import pps.core.space.service.data.space_calibration_history.QuerySpaceCalibrationHistoryViewInput;
...@@ -229,7 +230,7 @@ public class SpaceCalibrationService { ...@@ -229,7 +230,7 @@ public class SpaceCalibrationService {
* @return {@link XSingleResult}<{@link GetSpaceInstitutionWellheadOutput}> * @return {@link XSingleResult}<{@link GetSpaceInstitutionWellheadOutput}>
*/ */
@XApiAnonymous @XApiAnonymous
@XApiGet @XApiPost
@XText("校准周期--间开制度跟踪") @XText("校准周期--间开制度跟踪")
public XSingleResult<GetSpaceInstitutionWellheadOutput> getSpaceInstitutionTrack(XContext context, GetSpaceInstitutionWellheadInput input) { public XSingleResult<GetSpaceInstitutionWellheadOutput> getSpaceInstitutionTrack(XContext context, GetSpaceInstitutionWellheadInput input) {
DateTime beginOfDay = DateUtil.beginOfDay(DateUtil.date()); DateTime beginOfDay = DateUtil.beginOfDay(DateUtil.date());
...@@ -241,13 +242,62 @@ public class SpaceCalibrationService { ...@@ -241,13 +242,62 @@ public class SpaceCalibrationService {
//缺少历史记录 //缺少历史记录
return XSingleResult.error(context, BusinessError.LackOfHistoryRecord); 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 { } 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-----------------------------------*/ /*-----------------------------------private-----------------------------------*/
......
package pps.core.space.service.data.space_institution_wellhead; package pps.core.space.service.data.space_institution_wellhead;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import pps.core.space.service.data.SpaceOptimizeDateDuration; import pps.core.space.service.data.SpaceOptimizeDateDuration;
import xstartup.annotation.XText; import xstartup.annotation.XText;
...@@ -13,17 +16,20 @@ import java.util.List; ...@@ -13,17 +16,20 @@ import java.util.List;
* @date 2023/09/05 * @date 2023/09/05
*/ */
@Data @Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GetSpaceInstitutionWellheadOutput { public class GetSpaceInstitutionWellheadOutput {
@XText("井口ID") /**
private String wellheadId; * 井口配置(未优化)
*/
@XText("井") @XText("井口配置(未优化)")
private String wellNumber; private List<SpaceOptimizeDateDuration> initializeList;
/** /**
* 井口时段配置 * 井口配置(已优化)
*/ */
@XText("井口时段配置") @XText("井口配置(已优化)")
private List<SpaceOptimizeDateDuration> durationList; 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