fix:增加已分配满轴点位判断
This commit is contained in:
@@ -188,6 +188,10 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
}
|
}
|
||||||
newPoint = checkIvtSBlock(baseTask);
|
newPoint = checkIvtSBlock(baseTask);
|
||||||
} else {
|
} else {
|
||||||
|
if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"))) {
|
||||||
|
//放满轴任务不判断终点是否有任务
|
||||||
|
taskPointType = PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货");
|
||||||
|
}
|
||||||
newPoint = getBstIvtPackageinfoivt(actionType, taskPointType, baseTask);
|
newPoint = getBstIvtPackageinfoivt(actionType, taskPointType, baseTask);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotBlank(newPoint.getPoint_code())) {
|
if (StringUtils.isNotBlank(newPoint.getPoint_code())) {
|
||||||
@@ -239,17 +243,22 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, null);
|
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, null);
|
||||||
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货分配"))) {
|
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货分配"))) {
|
||||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, null, pointIds);
|
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, null, pointIds);
|
||||||
}
|
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货"))) {
|
||||||
else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货"))) {
|
|
||||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, null, pointIds, null);
|
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, null, pointIds, null);
|
||||||
}
|
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务取货分配"))) {
|
||||||
else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务取货分配"))) {
|
|
||||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, pointIds);
|
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, pointIds);
|
||||||
} else {
|
} else {
|
||||||
return packageinfoivtList;
|
return packageinfoivtList;
|
||||||
}
|
}
|
||||||
// 过滤未完成任务的任务
|
// 过滤未完成任务的任务
|
||||||
if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务")) || pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"))) {
|
if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货"))) {
|
||||||
|
pointSets = taskList.stream()
|
||||||
|
.flatMap(task -> Stream.of(
|
||||||
|
task.getPoint_code1()
|
||||||
|
))
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务")) || pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"))) {
|
||||||
pointSets = taskList.stream()
|
pointSets = taskList.stream()
|
||||||
.flatMap(task -> Stream.of(
|
.flatMap(task -> Stream.of(
|
||||||
task.getPoint_code1(),
|
task.getPoint_code1(),
|
||||||
@@ -453,22 +462,23 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
*/
|
*/
|
||||||
private BstIvtPackageinfoivt getBstIvtPackageinfoivt(String actionType, String taskPointType, SchBaseTask baseTask) {
|
private BstIvtPackageinfoivt getBstIvtPackageinfoivt(String actionType, String taskPointType, SchBaseTask baseTask) {
|
||||||
BstIvtPackageinfoivt newPoint;
|
BstIvtPackageinfoivt newPoint;
|
||||||
|
String targetPoint ="";
|
||||||
//1取货任务2放货任务
|
//1取货任务2放货任务
|
||||||
LambdaQueryWrapper<BstIvtPackageinfoivt> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<BstIvtPackageinfoivt> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
if (PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货分配").equals(actionType)) {
|
if (PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货分配").equals(actionType)) {
|
||||||
queryWrapper.eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code3());
|
queryWrapper.eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code3());
|
||||||
taskPointType = PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务");
|
targetPoint = PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务");
|
||||||
} else if (PackageInfoIvtEnum.TASK_ACTION_TYPE.code("放货分配").equals(actionType)) {
|
} else if (PackageInfoIvtEnum.TASK_ACTION_TYPE.code("放货分配").equals(actionType)) {
|
||||||
queryWrapper.eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code4());
|
queryWrapper.eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code4());
|
||||||
taskPointType = PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务");
|
targetPoint = PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务");
|
||||||
} else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) || baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))) {
|
}
|
||||||
//放满轴任务不判断终点是否有任务
|
if (StringUtils.isNotBlank(taskPointType)) {
|
||||||
taskPointType = PackageInfoIvtEnum.TASK_POINT_TYPE.code("四个点任务放货");
|
targetPoint = taskPointType;
|
||||||
}
|
}
|
||||||
BstIvtPackageinfoivt bstIvtPackageinfoivt = bstIvtPackageinfoivtMapper.selectOne(queryWrapper);
|
BstIvtPackageinfoivt bstIvtPackageinfoivt = bstIvtPackageinfoivtMapper.selectOne(queryWrapper);
|
||||||
//根据任务类型返回点位分配规则
|
//根据任务类型返回点位分配规则
|
||||||
BstIvtPackageinfoivt ivtInfo = getIvtInfoFromRegion(baseTask.getTask_type(), actionType);
|
BstIvtPackageinfoivt ivtInfo = getIvtInfoFromRegion(baseTask.getTask_type(), actionType);
|
||||||
List<BstIvtPackageinfoivt> newPointList = packageinfoivtService.checkEndPointTask(bstIvtPackageinfoivt.getPoint_status(), ivtInfo.getIvt_status(), taskPointType, ivtInfo.getSort_seq().toString(), "");
|
List<BstIvtPackageinfoivt> newPointList = packageinfoivtService.checkEndPointTask(bstIvtPackageinfoivt.getPoint_status(), ivtInfo.getIvt_status(), targetPoint, ivtInfo.getSort_seq().toString(), "");
|
||||||
if (CollectionUtils.isEmpty(newPointList)) {
|
if (CollectionUtils.isEmpty(newPointList)) {
|
||||||
throw new BadRequestException("暂无点位资源!");
|
throw new BadRequestException("暂无点位资源!");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user