Commit d8fdc167 authored by tianchao's avatar tianchao
parents f7bc6f2c db132e89
...@@ -233,7 +233,6 @@ public class SpaceCalibrationService { ...@@ -233,7 +233,6 @@ public class SpaceCalibrationService {
@XApiPost @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());
Date inputDate = input.getDate(); Date inputDate = input.getDate();
//查历史记录 //查历史记录
SpaceCalibrationHistoryMapper historyMapper = context.getBean(SpaceCalibrationHistoryMapper.class); SpaceCalibrationHistoryMapper historyMapper = context.getBean(SpaceCalibrationHistoryMapper.class);
...@@ -242,12 +241,12 @@ public class SpaceCalibrationService { ...@@ -242,12 +241,12 @@ public class SpaceCalibrationService {
//缺少历史记录 //缺少历史记录
return XSingleResult.error(context, BusinessError.LackOfHistoryRecord); return XSingleResult.error(context, BusinessError.LackOfHistoryRecord);
} }
List durationEntList = null;
GetSpaceInstitutionWellheadOutput wellheadOutput = GetSpaceInstitutionWellheadOutput.builder() GetSpaceInstitutionWellheadOutput wellheadOutput = GetSpaceInstitutionWellheadOutput.builder()
.optimizeList(new ArrayList<>(0)) .optimizeList(new ArrayList<>(0))
.initializeList(new ArrayList<>(0)) .initializeList(new ArrayList<>(0))
.build(); .build();
if (inputDate.compareTo(beginOfDay) < 0) { //查短期优化数据
//日期小于当天,查短期优化数据
SpaceOptimizeShortPeriodMapper shortPeriodMapper = context.getBean(SpaceOptimizeShortPeriodMapper.class); SpaceOptimizeShortPeriodMapper shortPeriodMapper = context.getBean(SpaceOptimizeShortPeriodMapper.class);
SpaceOptimizeShortPeriodEnt shortPeriodEnt = shortPeriodMapper.selectOne(new LambdaQueryWrapper<SpaceOptimizeShortPeriodEnt>() SpaceOptimizeShortPeriodEnt shortPeriodEnt = shortPeriodMapper.selectOne(new LambdaQueryWrapper<SpaceOptimizeShortPeriodEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE) .eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
...@@ -259,46 +258,64 @@ public class SpaceCalibrationService { ...@@ -259,46 +258,64 @@ public class SpaceCalibrationService {
//通过井口ID查区间 //通过井口ID查区间
if (Objects.nonNull(shortPeriodEnt)) { if (Objects.nonNull(shortPeriodEnt)) {
SpaceOptimizeShortDurationMapper shortDurationMapper = context.getBean(SpaceOptimizeShortDurationMapper.class); SpaceOptimizeShortDurationMapper shortDurationMapper = context.getBean(SpaceOptimizeShortDurationMapper.class);
List<SpaceOptimizeShortDurationEnt> shortDurationEntList = shortDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortDurationEnt>() durationEntList = shortDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE) .eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeShortDurationEnt::getWellheadId, input.getWellheadId()) .eq(SpaceOptimizeShortDurationEnt::getWellheadId, input.getWellheadId())
.eq(SpaceOptimizeShortDurationEnt::getShortPeriodId, shortPeriodEnt.getId()) .eq(SpaceOptimizeShortDurationEnt::getShortPeriodId, shortPeriodEnt.getId())
.orderByAsc(SpaceOptimizeShortDurationEnt::getOpenWellTime) .orderByAsc(SpaceOptimizeShortDurationEnt::getOpenWellTime)
); );
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); SpaceOptimizeMidPeriodMapper midPeriodMapper = context.getBean(SpaceOptimizeMidPeriodMapper.class);
SpaceOptimizeMidPeriodEnt midPeriodEnt = midPeriodMapper.selectOne(new LambdaQueryWrapper<SpaceOptimizeMidPeriodEnt>() SpaceOptimizeMidPeriodEnt midPeriodEnt = midPeriodMapper.selectOne(new LambdaQueryWrapper<SpaceOptimizeMidPeriodEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE) .eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeMidPeriodEnt::getInstitutionId, historyEnt.getInstitutionId()) .eq(SpaceOptimizeMidPeriodEnt::getInstitutionId, historyEnt.getInstitutionId())
.ge(SpaceOptimizeMidPeriodEnt::getOptimizeDeadline, inputDate)
.le(BaseModel::getCreateTime, inputDate)
.orderByDesc(BaseModel::getCreateTime) .orderByDesc(BaseModel::getCreateTime)
.last("LIMIT 1") .last("LIMIT 1")
); );
if (Objects.nonNull(midPeriodEnt)) { if (Objects.nonNull(midPeriodEnt)) {
SpaceOptimizeMidDurationMapper midDurationMapper = context.getBean(SpaceOptimizeMidDurationMapper.class); SpaceOptimizeMidDurationMapper midDurationMapper = context.getBean(SpaceOptimizeMidDurationMapper.class);
List<SpaceOptimizeMidDurationEnt> midDurationEntList = midDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeMidDurationEnt>() durationEntList = midDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeMidDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE) .eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeMidDurationEnt::getWellheadId, input.getWellheadId()) .eq(SpaceOptimizeMidDurationEnt::getWellheadId, input.getWellheadId())
.eq(SpaceOptimizeMidDurationEnt::getMidPeriodId, midPeriodEnt.getId()) .eq(SpaceOptimizeMidDurationEnt::getMidPeriodId, midPeriodEnt.getId())
.orderByAsc(SpaceOptimizeMidDurationEnt::getOpenWellTime) .orderByAsc(SpaceOptimizeMidDurationEnt::getOpenWellTime)
); );
if (CollUtil.isNotEmpty(midDurationEntList)) {
Map<Integer, List<SpaceOptimizeDateDuration>> collect = XCopyUtils.copyNewList(midDurationEntList, SpaceOptimizeDateDuration.class) } 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)
.le(BaseModel::getCreateTime, inputDate)
.orderByDesc(BaseModel::getCreateTime)
.last("LIMIT 1")
);
if (Objects.nonNull(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)
);
}
}
}
if (CollUtil.isNotEmpty(durationEntList)) {
List<SpaceOptimizeDateDuration> spaceOptimizeDateDurationList = new ArrayList<>(16);
XCopyUtils.copyList(durationEntList, spaceOptimizeDateDurationList, SpaceOptimizeDateDuration.class);
Map<Integer, List<SpaceOptimizeDateDuration>> collect = spaceOptimizeDateDurationList
.stream() .stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getIsOptimize)); .collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getIsOptimize));
wellheadOutput.setInitializeList(ServiceUtil.getAllDateDuration(collect.get(BusinessConstant.ONE))); wellheadOutput.setInitializeList(ServiceUtil.getAllDateDuration(collect.get(BusinessConstant.ONE)));
wellheadOutput.setOptimizeList(ServiceUtil.getAllDateDuration(collect.get(BusinessConstant.ZERO))); wellheadOutput.setOptimizeList(ServiceUtil.getAllDateDuration(collect.get(BusinessConstant.ZERO)));
} }
}
}
return XSingleResult.success(wellheadOutput); return XSingleResult.success(wellheadOutput);
} }
......
...@@ -110,6 +110,8 @@ public class SpaceOptimizeLongPeriodService extends SpaceOptimizeBaseService { ...@@ -110,6 +110,8 @@ public class SpaceOptimizeLongPeriodService extends SpaceOptimizeBaseService {
.lineId(period.getLineId()) .lineId(period.getLineId())
.strategyMonth(String.valueOf(calendar.get(Calendar.MONTH) + 1)) .strategyMonth(String.valueOf(calendar.get(Calendar.MONTH) + 1))
.build())); .build()));
} else {
output.setStrategyDetailList(new ArrayList<>(0));
} }
output.setGridTypeKey(detailEnt.getGridTypeKey()); output.setGridTypeKey(detailEnt.getGridTypeKey());
//查井口列表 //查井口列表
......
...@@ -108,6 +108,8 @@ public class SpaceOptimizeMidPeriodService extends SpaceOptimizeBaseService { ...@@ -108,6 +108,8 @@ public class SpaceOptimizeMidPeriodService extends SpaceOptimizeBaseService {
.lineId(period.getLineId()) .lineId(period.getLineId())
.strategyMonth(String.valueOf(calendar.get(Calendar.MONTH) + 1)) .strategyMonth(String.valueOf(calendar.get(Calendar.MONTH) + 1))
.build())); .build()));
} else {
output.setStrategyDetailList(new ArrayList<>(0));
} }
output.setGridTypeKey(detailEnt.getGridTypeKey()); output.setGridTypeKey(detailEnt.getGridTypeKey());
//查井口列表 //查井口列表
......
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