Commit 3e4af8a4 authored by ZWT's avatar ZWT

得到的

parent dda8b888
......@@ -14,7 +14,6 @@ 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;
......@@ -23,8 +22,6 @@ import pps.core.space.service.data.space_calibration_period.CreateSpaceCalibrati
import pps.core.space.service.data.space_calibration_period.GetSpaceCalibrationPeriodViewInput;
import pps.core.space.service.data.space_calibration_period.GetSpaceCalibrationPeriodViewOutput;
import pps.core.space.service.data.space_calibration_period.UpdateSpaceCalibrationPeriodInput;
import pps.core.space.service.data.space_institution_wellhead.GetSpaceInstitutionWellheadInput;
import pps.core.space.service.data.space_institution_wellhead.GetSpaceInstitutionWellheadOutput;
import pps.core.space.service.data.space_institution_wellhead.QuerySpaceInstitutionWellheadOutput;
import pps.core.space.utils.ServiceUtil;
import xstartup.annotation.XService;
......@@ -213,102 +210,6 @@ public class SpaceCalibrationService {
return XSingleResult.success(output);
}
/**
* 校准周期--间开制度跟踪
*
* @param context 上下文
* @param input 输入
* @return {@link XSingleResult}<{@link GetSpaceInstitutionWellheadOutput}>
*/
@XApiPost
@XText("校准周期--间开制度跟踪")
public XSingleResult<GetSpaceInstitutionWellheadOutput> getSpaceInstitutionTrack(XContext context, GetSpaceInstitutionWellheadInput input) {
Date inputDate = input.getDate();
//查历史记录
SpaceCalibrationHistoryMapper historyMapper = context.getBean(SpaceCalibrationHistoryMapper.class);
SpaceCalibrationHistoryEnt historyEnt = historyMapper.selectById(input.getCalibrationId());
if (ObjectUtil.isNull(historyEnt)) {
//缺少历史记录
return XSingleResult.error(context, BusinessError.LackOfHistoryRecord);
}
List durationEntList = null;
//查短期优化数据
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)
.orderByDesc(BaseModel::getCreateTime)
.last(BaseUtils.getLastLimit())
);
//通过井口ID查区间
if (ObjectUtil.isNotNull(shortPeriodEnt)) {
SpaceOptimizeShortDurationMapper shortDurationMapper = context.getBean(SpaceOptimizeShortDurationMapper.class);
durationEntList = shortDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeShortDurationEnt::getWellheadId, input.getWellheadId())
.eq(SpaceOptimizeShortDurationEnt::getShortPeriodId, shortPeriodEnt.getId())
.orderByAsc(SpaceOptimizeShortDurationEnt::getOpenWellTime)
);
} else {
//查中短期记录,优化时间大于传入时间
SpaceOptimizeMidPeriodMapper midPeriodMapper = context.getBean(SpaceOptimizeMidPeriodMapper.class);
SpaceOptimizeMidPeriodEnt midPeriodEnt = midPeriodMapper.selectOne(new LambdaQueryWrapper<SpaceOptimizeMidPeriodEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeMidPeriodEnt::getInstitutionId, historyEnt.getInstitutionId())
.ge(SpaceOptimizeMidPeriodEnt::getOptimizeDeadline, inputDate)
.apply("DATE_FORMAT( create_time, '%Y-%m-%d' ) <= {0}", inputDate)
.orderByDesc(BaseModel::getCreateTime)
.last(BaseUtils.getLastLimit())
);
if (ObjectUtil.isNotNull(midPeriodEnt)) {
SpaceOptimizeMidDurationMapper midDurationMapper = context.getBean(SpaceOptimizeMidDurationMapper.class);
durationEntList = midDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeMidDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeMidDurationEnt::getWellheadId, input.getWellheadId())
.eq(SpaceOptimizeMidDurationEnt::getMidPeriodId, midPeriodEnt.getId())
.orderByAsc(SpaceOptimizeMidDurationEnt::getOpenWellTime)
);
} else {
//查长期记录,优化时间大于传入时间
SpaceOptimizeLongPeriodMapper longPeriodMapper = context.getBean(SpaceOptimizeLongPeriodMapper.class);
SpaceOptimizeLongPeriodEnt longPeriodEnt = longPeriodMapper.selectOne(new LambdaQueryWrapper<SpaceOptimizeLongPeriodEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeLongPeriodEnt::getInstitutionId, historyEnt.getInstitutionId())
.ge(SpaceOptimizeLongPeriodEnt::getOptimizeDeadline, inputDate)
.apply("DATE_FORMAT( create_time, '%Y-%m-%d' ) <= {0}", inputDate)
.orderByDesc(BaseModel::getCreateTime)
.last(BaseUtils.getLastLimit())
);
if (ObjectUtil.isNotNull(longPeriodEnt)) {
SpaceOptimizeLongDurationMapper longDurationMapper = context.getBean(SpaceOptimizeLongDurationMapper.class);
durationEntList = longDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeLongDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeLongDurationEnt::getWellheadId, input.getWellheadId())
.eq(SpaceOptimizeLongDurationEnt::getLongPeriodId, longPeriodEnt.getId())
.orderByAsc(SpaceOptimizeLongDurationEnt::getOpenWellTime)
);
}
}
}
GetSpaceInstitutionWellheadOutput wellheadOutput = new GetSpaceInstitutionWellheadOutput();
if (CollUtil.isNotEmpty(durationEntList)) {
List<SpaceOptimizeDateDuration> spaceOptimizeDateDurationList = new ArrayList<>(16);
XCopyUtils.copyList(durationEntList, spaceOptimizeDateDurationList, SpaceOptimizeDateDuration.class);
Map<Integer, List<SpaceOptimizeDateDuration>> collect = spaceOptimizeDateDurationList
.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getIsOptimize));
wellheadOutput.setInitializeList(ServiceUtil.getAllDateDuration(collect.get(BusinessConstant.ONE)));
wellheadOutput.setOptimizeList(ServiceUtil.getAllDateDuration(collect.get(BusinessConstant.ZERO)));
} else {
wellheadOutput.setInitializeList(Collections.emptyList());
wellheadOutput.setOptimizeList(Collections.emptyList());
}
return XSingleResult.success(wellheadOutput);
}
/*-----------------------------------private-----------------------------------*/
/**
......
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