fix:增加已分配执行中的空载具任务判断
This commit is contained in:
@@ -91,135 +91,6 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
return bstIvtPackageinfoivtMapper.selectPage(new Page<>(page.getPage() + 1, page.getSize()), queryWrapper);
|
return bstIvtPackageinfoivtMapper.selectPage(new Page<>(page.getPage() + 1, page.getSize()), queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询没有搬运任务的空的目标点位
|
|
||||||
* @param ivtType 点位类型
|
|
||||||
* @param ivtStatus 库存状态
|
|
||||||
* @param pointCode 取货还是放货
|
|
||||||
* @param sortType 点位排序规则1:升序2:降序
|
|
||||||
* @param taskType 任务类型
|
|
||||||
* @return List<BstIvtPackageinfoivt>
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public List<BstIvtPackageinfoivt> checkEndPointTask(String ivtType, String ivtStatus, String pointCode, String sortType, String taskType) {
|
|
||||||
List<BstIvtPackageinfoivt> packageinfoivtList = getBstIvtPackageinfoivts(ivtType, ivtStatus, sortType);
|
|
||||||
Set<String> pointIds = packageinfoivtList.stream()
|
|
||||||
.map(BstIvtPackageinfoivt::getPoint_code)
|
|
||||||
.collect(Collectors.toSet());
|
|
||||||
if (CollectionUtils.isEmpty(pointIds)) {
|
|
||||||
return Collections.emptyList();
|
|
||||||
}
|
|
||||||
if (pointCode == null) {
|
|
||||||
return packageinfoivtList;
|
|
||||||
}
|
|
||||||
List<SchBaseTask> taskList;
|
|
||||||
Set<String> pointSets;
|
|
||||||
if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务")) || pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"))) {
|
|
||||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, null, null);
|
|
||||||
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货分配"))) {
|
|
||||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, null);
|
|
||||||
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货分配"))) {
|
|
||||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, null, pointIds);
|
|
||||||
}
|
|
||||||
else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货"))) {
|
|
||||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, null, pointIds, null);
|
|
||||||
}
|
|
||||||
else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务取货分配"))) {
|
|
||||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, pointIds);
|
|
||||||
} else {
|
|
||||||
return packageinfoivtList;
|
|
||||||
}
|
|
||||||
// 过滤未完成任务的任务
|
|
||||||
if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务")) || pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"))) {
|
|
||||||
pointSets = taskList.stream()
|
|
||||||
// 对每个任务应用映射操作,将point_code字段添加到Stream中
|
|
||||||
.flatMap(task -> Stream.of(
|
|
||||||
task.getPoint_code1(),
|
|
||||||
task.getPoint_code2()
|
|
||||||
))
|
|
||||||
.filter(Objects::nonNull)
|
|
||||||
.collect(Collectors.toSet());
|
|
||||||
} else {
|
|
||||||
pointSets = taskList.stream()
|
|
||||||
.flatMap(task -> Stream.of(
|
|
||||||
task.getPoint_code1(),
|
|
||||||
task.getPoint_code2(),
|
|
||||||
task.getPoint_code3(),
|
|
||||||
task.getPoint_code4()
|
|
||||||
))
|
|
||||||
.filter(Objects::nonNull)
|
|
||||||
.collect(Collectors.toSet());
|
|
||||||
}
|
|
||||||
return packageinfoivtList.stream()
|
|
||||||
.filter(p -> !pointSets.contains(p.getPoint_code()))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<BstIvtPackageinfoivt> getBstIvtPackageinfoivts(String ivtType, String ivtStatus, String sortType) {
|
|
||||||
LambdaQueryWrapper<BstIvtPackageinfoivt> queryWrapper = new LambdaQueryWrapper<BstIvtPackageinfoivt>()
|
|
||||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
|
||||||
.eq(BstIvtPackageinfoivt::getPoint_status, ivtType);
|
|
||||||
if (StringUtils.isNotEmpty(ivtStatus)) {
|
|
||||||
queryWrapper.eq(BstIvtPackageinfoivt::getIvt_status, ivtStatus);
|
|
||||||
}
|
|
||||||
if (PackageInfoIvtEnum.SORT_TYPE.code("升序").equals(sortType)) {
|
|
||||||
queryWrapper.orderByAsc(BstIvtPackageinfoivt::getSort_seq);
|
|
||||||
} else if (PackageInfoIvtEnum.SORT_TYPE.code("降序").equals(sortType)) {
|
|
||||||
queryWrapper.orderByDesc(BstIvtPackageinfoivt::getSort_seq);
|
|
||||||
} else {
|
|
||||||
queryWrapper.orderByAsc(BstIvtPackageinfoivt::getSort_seq);
|
|
||||||
}
|
|
||||||
return bstIvtPackageinfoivtMapper.selectList(queryWrapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public List<BstIvtPackageinfoivt> checkEndPointTask1(String ivtType, String ivtStatus, String pointCode, String sortType, String taskType) {
|
|
||||||
List<BstIvtPackageinfoivt> packageinfoivtList = getBstIvtPackageinfoivts(ivtType, ivtStatus, sortType);
|
|
||||||
Set<String> pointIds = packageinfoivtList.stream().map(BstIvtPackageinfoivt::getPoint_code).collect(Collectors.toSet());
|
|
||||||
if (CollectionUtils.isEmpty(pointIds)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
if (pointCode.equals("1")) {
|
|
||||||
List<SchBaseTask> taskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
|
||||||
//起点未完成任务
|
|
||||||
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
|
||||||
.eq(taskType != null && !taskType.equals(""), SchBaseTask::getTask_type, taskType)
|
|
||||||
.and(
|
|
||||||
r -> r.in(SchBaseTask::getPoint_code1, pointIds)
|
|
||||||
));
|
|
||||||
return packageinfoivtList.stream().filter(r -> !taskList.stream().map(SchBaseTask::getPoint_code1).collect(Collectors.toSet()).contains(r.getPoint_code())).collect(Collectors.toList());
|
|
||||||
} else {
|
|
||||||
List<SchBaseTask> taskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
|
||||||
//终点未完成任务
|
|
||||||
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
|
||||||
.eq(taskType != null && !taskType.equals(""), SchBaseTask::getTask_type, taskType)
|
|
||||||
.and(
|
|
||||||
r -> r.in(SchBaseTask::getPoint_code2, pointIds)
|
|
||||||
));
|
|
||||||
return packageinfoivtList.stream().filter(r -> !taskList.stream().map(SchBaseTask::getPoint_code2).collect(Collectors.toSet()).contains(r.getPoint_code())).collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取等待点
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public String getWaitPoint(String block, String waitPointType) {
|
|
||||||
List<BstIvtPackageinfoivt> waitPointList = bstIvtPackageinfoivtMapper.selectList(new LambdaQueryWrapper<BstIvtPackageinfoivt>()
|
|
||||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
|
||||||
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("等待点"))
|
|
||||||
.eq(BstIvtPackageinfoivt::getBlock, block));
|
|
||||||
if (CollectionUtils.isEmpty(waitPointList)) {
|
|
||||||
throw new BadRequestException("找不到等待点!");
|
|
||||||
}
|
|
||||||
List<BstIvtPackageinfoivt> waitPoints = waitPointList.stream().filter(r -> r.getPoint_location().equals(waitPointType)).collect(Collectors.toList());
|
|
||||||
if (CollectionUtils.isEmpty(waitPoints)) {
|
|
||||||
throw new BadRequestException("找不到等待点!");
|
|
||||||
}
|
|
||||||
return waitPoints.get(0).getPoint_code();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param taskCode 任务编码唯一ID
|
* @param taskCode 任务编码唯一ID
|
||||||
@@ -315,7 +186,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
newPoint = checkIvtSBlock();
|
newPoint = checkIvtSBlock(baseTask);
|
||||||
} else {
|
} else {
|
||||||
newPoint = getBstIvtPackageinfoivt(actionType, taskPointType, baseTask);
|
newPoint = getBstIvtPackageinfoivt(actionType, taskPointType, baseTask);
|
||||||
}
|
}
|
||||||
@@ -334,11 +205,166 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
taskService.updateById(baseTask);
|
taskService.updateById(baseTask);
|
||||||
return newPoint.getPoint_code();
|
return newPoint.getPoint_code();
|
||||||
} else {
|
} else {
|
||||||
throw new BadRequestException("点位外层有载具阻挡或暂无点位资源!");
|
throw new BadRequestException("存在未完成的取放货任务或点位外层有载具阻挡!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询没有搬运任务的空的目标点位
|
||||||
|
* @param ivtType 点位类型
|
||||||
|
* @param ivtStatus 库存状态
|
||||||
|
* @param pointCode 取货还是放货
|
||||||
|
* @param sortType 点位排序规则1:升序2:降序
|
||||||
|
* @param taskType 任务类型
|
||||||
|
* @return List<BstIvtPackageinfoivt>
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<BstIvtPackageinfoivt> checkEndPointTask(String ivtType, String ivtStatus, String pointCode, String sortType, String taskType) {
|
||||||
|
List<BstIvtPackageinfoivt> packageinfoivtList = getBstIvtPackageinfoivts(ivtType, ivtStatus, sortType);
|
||||||
|
Set<String> pointIds = packageinfoivtList.stream()
|
||||||
|
.map(BstIvtPackageinfoivt::getPoint_code)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
if (CollectionUtils.isEmpty(pointIds)) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
if (pointCode == null) {
|
||||||
|
return packageinfoivtList;
|
||||||
|
}
|
||||||
|
List<SchBaseTask> taskList;
|
||||||
|
Set<String> pointSets;
|
||||||
|
if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务")) || pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"))) {
|
||||||
|
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, null, null);
|
||||||
|
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货分配"))) {
|
||||||
|
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, null);
|
||||||
|
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货分配"))) {
|
||||||
|
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, null, pointIds);
|
||||||
|
}
|
||||||
|
else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货"))) {
|
||||||
|
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, null, pointIds, null);
|
||||||
|
}
|
||||||
|
else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务取货分配"))) {
|
||||||
|
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, pointIds);
|
||||||
|
} else {
|
||||||
|
return packageinfoivtList;
|
||||||
|
}
|
||||||
|
// 过滤未完成任务的任务
|
||||||
|
if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务")) || pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"))) {
|
||||||
|
pointSets = taskList.stream()
|
||||||
|
.flatMap(task -> Stream.of(
|
||||||
|
task.getPoint_code1(),
|
||||||
|
task.getPoint_code2()
|
||||||
|
))
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
} else {
|
||||||
|
pointSets = taskList.stream()
|
||||||
|
.flatMap(task -> Stream.of(
|
||||||
|
task.getPoint_code1(),
|
||||||
|
task.getPoint_code2(),
|
||||||
|
task.getPoint_code3(),
|
||||||
|
task.getPoint_code4()
|
||||||
|
))
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
}
|
||||||
|
List<BstIvtPackageinfoivt> ivtList = packageinfoivtList.stream()
|
||||||
|
.filter(p -> !pointSets.contains(p.getPoint_code()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
//送空载具到空载具缓存位任务,需要判断是否存在已分配的且未完成的送空载具任务,如果存在,判断存在是否阻挡
|
||||||
|
if (taskType.equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)")) || taskType.equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)"))) {
|
||||||
|
Set<String> taskPointSet = taskList.stream().map(SchBaseTask::getPoint_code2).collect(Collectors.toSet());
|
||||||
|
List<BstIvtPackageinfoivt> pointList = new ArrayList<>();
|
||||||
|
if (CollectionUtils.isEmpty(taskPointSet)) {
|
||||||
|
List<BstIvtPackageinfoivt> vehicleList = ivtList.stream()
|
||||||
|
.filter(n -> n.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具")))
|
||||||
|
.sorted(Comparator.comparing(BstIvtPackageinfoivt::getSort_seq))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
pointList.add(getBstIvtPackageinfoivt(vehicleList,ivtList));
|
||||||
|
return pointList;
|
||||||
|
} else {
|
||||||
|
List<BstIvtPackageinfoivt> existPointList = bstIvtPackageinfoivtMapper.selectList(new LambdaQueryWrapper<BstIvtPackageinfoivt>().in(BstIvtPackageinfoivt::getPoint_code, taskPointSet));
|
||||||
|
existPointList = existPointList.stream().peek(r -> r.setIvt_status(PackageInfoIvtEnum.IVT_STATUS.code("空载具"))).collect(Collectors.toList());
|
||||||
|
pointList.add(getBstIvtPackageinfoivt(existPointList, ivtList));
|
||||||
|
return pointList;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return ivtList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据点位类型查询库存
|
||||||
|
*/
|
||||||
|
private List<BstIvtPackageinfoivt> getBstIvtPackageinfoivts(String ivtType, String ivtStatus, String sortType) {
|
||||||
|
LambdaQueryWrapper<BstIvtPackageinfoivt> queryWrapper = new LambdaQueryWrapper<BstIvtPackageinfoivt>()
|
||||||
|
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||||
|
.eq(BstIvtPackageinfoivt::getPoint_status, ivtType);
|
||||||
|
if (StringUtils.isNotEmpty(ivtStatus)) {
|
||||||
|
queryWrapper.eq(BstIvtPackageinfoivt::getIvt_status, ivtStatus);
|
||||||
|
}
|
||||||
|
if (PackageInfoIvtEnum.SORT_TYPE.code("升序").equals(sortType)) {
|
||||||
|
queryWrapper.orderByAsc(BstIvtPackageinfoivt::getSort_seq);
|
||||||
|
} else if (PackageInfoIvtEnum.SORT_TYPE.code("降序").equals(sortType)) {
|
||||||
|
queryWrapper.orderByDesc(BstIvtPackageinfoivt::getSort_seq);
|
||||||
|
} else {
|
||||||
|
queryWrapper.orderByAsc(BstIvtPackageinfoivt::getSort_seq);
|
||||||
|
}
|
||||||
|
return bstIvtPackageinfoivtMapper.selectList(queryWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<BstIvtPackageinfoivt> checkEndPointTask1(String ivtType, String ivtStatus, String pointCode, String sortType, String taskType) {
|
||||||
|
List<BstIvtPackageinfoivt> packageinfoivtList = getBstIvtPackageinfoivts(ivtType, ivtStatus, sortType);
|
||||||
|
Set<String> pointIds = packageinfoivtList.stream().map(BstIvtPackageinfoivt::getPoint_code).collect(Collectors.toSet());
|
||||||
|
if (CollectionUtils.isEmpty(pointIds)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (pointCode.equals("1")) {
|
||||||
|
List<SchBaseTask> taskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||||
|
//起点未完成任务
|
||||||
|
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||||
|
.eq(taskType != null && !taskType.equals(""), SchBaseTask::getTask_type, taskType)
|
||||||
|
.and(
|
||||||
|
r -> r.in(SchBaseTask::getPoint_code1, pointIds)
|
||||||
|
));
|
||||||
|
return packageinfoivtList.stream().filter(r -> !taskList.stream().map(SchBaseTask::getPoint_code1).collect(Collectors.toSet()).contains(r.getPoint_code())).collect(Collectors.toList());
|
||||||
|
} else {
|
||||||
|
List<SchBaseTask> taskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||||
|
//终点未完成任务
|
||||||
|
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||||
|
.eq(taskType != null && !taskType.equals(""), SchBaseTask::getTask_type, taskType)
|
||||||
|
.and(
|
||||||
|
r -> r.in(SchBaseTask::getPoint_code2, pointIds)
|
||||||
|
));
|
||||||
|
return packageinfoivtList.stream().filter(r -> !taskList.stream().map(SchBaseTask::getPoint_code2).collect(Collectors.toSet()).contains(r.getPoint_code())).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取等待点
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String getWaitPoint(String block, String waitPointType) {
|
||||||
|
List<BstIvtPackageinfoivt> waitPointList = bstIvtPackageinfoivtMapper.selectList(new LambdaQueryWrapper<BstIvtPackageinfoivt>()
|
||||||
|
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||||
|
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("等待点"))
|
||||||
|
.eq(BstIvtPackageinfoivt::getBlock, block));
|
||||||
|
if (CollectionUtils.isEmpty(waitPointList)) {
|
||||||
|
throw new BadRequestException("找不到等待点!");
|
||||||
|
}
|
||||||
|
List<BstIvtPackageinfoivt> waitPoints = waitPointList.stream().filter(r -> r.getPoint_location().equals(waitPointType)).collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isEmpty(waitPoints)) {
|
||||||
|
throw new BadRequestException("找不到等待点!");
|
||||||
|
}
|
||||||
|
return waitPoints.get(0).getPoint_code();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新点位状态
|
* 更新点位状态
|
||||||
*
|
*
|
||||||
@@ -439,7 +465,6 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
//放满轴任务不判断终点是否有任务
|
//放满轴任务不判断终点是否有任务
|
||||||
taskPointType = PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货");
|
taskPointType = PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货");
|
||||||
}
|
}
|
||||||
|
|
||||||
BstIvtPackageinfoivt bstIvtPackageinfoivt = bstIvtPackageinfoivtMapper.selectOne(queryWrapper);
|
BstIvtPackageinfoivt bstIvtPackageinfoivt = bstIvtPackageinfoivtMapper.selectOne(queryWrapper);
|
||||||
//根据任务类型返回点位分配规则
|
//根据任务类型返回点位分配规则
|
||||||
BstIvtPackageinfoivt ivtInfo = getIvtInfoFromRegion(baseTask.getTask_type(), actionType);
|
BstIvtPackageinfoivt ivtInfo = getIvtInfoFromRegion(baseTask.getTask_type(), actionType);
|
||||||
@@ -454,19 +479,23 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
/**
|
/**
|
||||||
* 获取不阻挡的空载具缓存点位
|
* 获取不阻挡的空载具缓存点位
|
||||||
*/
|
*/
|
||||||
public BstIvtPackageinfoivt checkIvtSBlock() {
|
public BstIvtPackageinfoivt checkIvtSBlock(SchBaseTask baseTask) {
|
||||||
BstIvtPackageinfoivt newPoint = new BstIvtPackageinfoivt();
|
BstIvtPackageinfoivt newPoint = new BstIvtPackageinfoivt();
|
||||||
List<BstIvtPackageinfoivt> kzjIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), null, PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), "");
|
List<BstIvtPackageinfoivt> kzjIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), null, PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), baseTask.getTask_type());
|
||||||
if (CollectionUtils.isEmpty(kzjIvtList)) {
|
if (CollectionUtils.isNotEmpty(kzjIvtList)) {
|
||||||
|
return kzjIvtList.get(0);
|
||||||
|
} else {
|
||||||
return newPoint;
|
return newPoint;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断点位是否有外层阻挡
|
||||||
|
*/
|
||||||
|
private static BstIvtPackageinfoivt getBstIvtPackageinfoivt(List<BstIvtPackageinfoivt> vehicleList,List<BstIvtPackageinfoivt> kzjIvtList) {
|
||||||
boolean hasEmptyVehicle;
|
boolean hasEmptyVehicle;
|
||||||
//判断有空载具
|
BstIvtPackageinfoivt newPoint = new BstIvtPackageinfoivt();
|
||||||
List<BstIvtPackageinfoivt> vehicleList = kzjIvtList.stream()
|
|
||||||
.filter(n -> n.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具")))
|
|
||||||
.sorted(Comparator.comparing(BstIvtPackageinfoivt::getSort_seq))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
//判断空载具点位外层是否有空载具
|
|
||||||
if (CollectionUtils.isNotEmpty(vehicleList)) {
|
if (CollectionUtils.isNotEmpty(vehicleList)) {
|
||||||
BigDecimal sortSeq = vehicleList.get(0).getSort_seq();
|
BigDecimal sortSeq = vehicleList.get(0).getSort_seq();
|
||||||
hasEmptyVehicle = kzjIvtList.stream()
|
hasEmptyVehicle = kzjIvtList.stream()
|
||||||
|
|||||||
Reference in New Issue
Block a user