Commit d8fdc167 authored by tianchao's avatar tianchao
parents f7bc6f2c db132e89
......@@ -233,7 +233,6 @@ public class SpaceCalibrationService {
@XApiPost
@XText("校准周期--间开制度跟踪")
public XSingleResult<GetSpaceInstitutionWellheadOutput> getSpaceInstitutionTrack(XContext context, GetSpaceInstitutionWellheadInput input) {
DateTime beginOfDay = DateUtil.beginOfDay(DateUtil.date());
Date inputDate = input.getDate();
//查历史记录
SpaceCalibrationHistoryMapper historyMapper = context.getBean(SpaceCalibrationHistoryMapper.class);
......@@ -242,63 +241,81 @@ public class SpaceCalibrationService {
//缺少历史记录
return XSingleResult.error(context, BusinessError.LackOfHistoryRecord);
}
List durationEntList = null;
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>()
//查短期优化数据
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("LIMIT 1")
);
//通过井口ID查区间
if (Objects.nonNull(shortPeriodEnt)) {
SpaceOptimizeShortDurationMapper shortDurationMapper = context.getBean(SpaceOptimizeShortDurationMapper.class);
durationEntList = shortDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeShortPeriodEnt::getInstitutionId, historyEnt.getInstitutionId())
.eq(SpaceOptimizeShortPeriodEnt::getOptimizeDate, inputDate)
.orderByDesc(BaseModel::getCreateTime)
.last("LIMIT 1")
.eq(SpaceOptimizeShortDurationEnt::getWellheadId, input.getWellheadId())
.eq(SpaceOptimizeShortDurationEnt::getShortPeriodId, shortPeriodEnt.getId())
.orderByAsc(SpaceOptimizeShortDurationEnt::getOpenWellTime)
);
//通过井口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(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 {
//日期大于等于当天,查最近的中短期
//查中短期记录,优化时间大于传入时间
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)
.le(BaseModel::getCreateTime, inputDate)
.orderByDesc(BaseModel::getCreateTime)
.last("LIMIT 1")
);
if (Objects.nonNull(midPeriodEnt)) {
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(SpaceOptimizeMidDurationEnt::getWellheadId, input.getWellheadId())
.eq(SpaceOptimizeMidDurationEnt::getMidPeriodId, midPeriodEnt.getId())
.orderByAsc(SpaceOptimizeMidDurationEnt::getOpenWellTime)
);
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)));
} 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()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getIsOptimize));
wellheadOutput.setInitializeList(ServiceUtil.getAllDateDuration(collect.get(BusinessConstant.ONE)));
wellheadOutput.setOptimizeList(ServiceUtil.getAllDateDuration(collect.get(BusinessConstant.ZERO)));
}
return XSingleResult.success(wellheadOutput);
}
......
......@@ -110,6 +110,8 @@ public class SpaceOptimizeLongPeriodService extends SpaceOptimizeBaseService {
.lineId(period.getLineId())
.strategyMonth(String.valueOf(calendar.get(Calendar.MONTH) + 1))
.build()));
} else {
output.setStrategyDetailList(new ArrayList<>(0));
}
output.setGridTypeKey(detailEnt.getGridTypeKey());
//查井口列表
......
......@@ -108,6 +108,8 @@ public class SpaceOptimizeMidPeriodService extends SpaceOptimizeBaseService {
.lineId(period.getLineId())
.strategyMonth(String.valueOf(calendar.get(Calendar.MONTH) + 1))
.build()));
} else {
output.setStrategyDetailList(new ArrayList<>(0));
}
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