add:增加载具下线桁架任务顺序校验
This commit is contained in:
@@ -74,32 +74,7 @@ public class AutoExecuteWaitTask {
|
||||
for (SchBaseTask task : taskList) {
|
||||
if (task != null) {
|
||||
String taskType = task.getTask_type();
|
||||
if (PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)").equals(taskType)) {
|
||||
//校验任务是否存在
|
||||
List<String> taskTypes = new ArrayList<>(Arrays.asList(taskType, PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"),PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)")));
|
||||
List<SchBaseTask> existTask = taskService.getExistTasks(taskTypes);
|
||||
//过滤未分配的补空载具任务
|
||||
existTask = existTask.stream().filter(r -> StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList());
|
||||
if (existTask.size() > 0) {
|
||||
//已二次分配过的任务未完成
|
||||
if (existTask.stream().anyMatch(r -> r.getResponse_param().equals(IOSEnum.IS_NOTANDYES.code("是")))) {
|
||||
throw new BadRequestException("存在已二次分配过点位的补空载具任务未完成!");
|
||||
}
|
||||
}
|
||||
List<BstIvtPackageinfoivt> kzjPointList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")
|
||||
).eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具"))
|
||||
.orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
if (CollectionUtils.isEmpty(kzjPointList)) {
|
||||
return;
|
||||
}
|
||||
task.setPoint_code1(kzjPointList.get(0).getPoint_code());
|
||||
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||
taskService.updateById(task);
|
||||
ssxDjwTask.immediateNotifyAcs(null);
|
||||
} else if (PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位").equals(taskType)) {
|
||||
if (PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位").equals(taskType)) {
|
||||
//校验任务是否存在
|
||||
List<String> taskTypes = new ArrayList<>(Collections.singletonList(taskType));
|
||||
List<SchBaseTask> existTaskList = taskService.getExistTasks(taskTypes);
|
||||
@@ -120,6 +95,36 @@ public class AutoExecuteWaitTask {
|
||||
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||
taskService.updateById(task);
|
||||
mzhcwTask.immediateNotifyAcs(null);
|
||||
} else if (PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)").equals(taskType)) {
|
||||
//校验任务是否存在
|
||||
List<String> taskTypes = new ArrayList<>(Arrays.asList(taskType, PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"), PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)"), PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")));
|
||||
List<SchBaseTask> existTask = taskService.getExistTasks(taskTypes);
|
||||
//先发输送线->满轴位任务,如果有输送线->满轴位任务未完成任务,暂不下发放空(空载具缓存位->输送线)任务
|
||||
List<SchBaseTask> existTask1 = existTask.stream().filter(r -> r.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))).collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(existTask1)) {
|
||||
return;
|
||||
}
|
||||
//过滤未分配的补空载具任务
|
||||
List<SchBaseTask> existTask2 = existTask.stream().filter(r -> StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(existTask2)) {
|
||||
//已二次分配过的任务未完成
|
||||
if (existTask.stream().anyMatch(r -> r.getResponse_param().equals(IOSEnum.IS_NOTANDYES.code("是")))) {
|
||||
throw new BadRequestException("存在已二次分配过点位的补空载具任务未完成!");
|
||||
}
|
||||
}
|
||||
List<BstIvtPackageinfoivt> kzjPointList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")
|
||||
).eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具"))
|
||||
.orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
if (CollectionUtils.isEmpty(kzjPointList)) {
|
||||
return;
|
||||
}
|
||||
task.setPoint_code1(kzjPointList.get(0).getPoint_code());
|
||||
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||
taskService.updateById(task);
|
||||
ssxDjwTask.immediateNotifyAcs(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user