add:增加载具下线桁架任务顺序校验
This commit is contained in:
@@ -74,32 +74,7 @@ public class AutoExecuteWaitTask {
|
|||||||
for (SchBaseTask task : taskList) {
|
for (SchBaseTask task : taskList) {
|
||||||
if (task != null) {
|
if (task != null) {
|
||||||
String taskType = task.getTask_type();
|
String taskType = task.getTask_type();
|
||||||
if (PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)").equals(taskType)) {
|
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)) {
|
|
||||||
//校验任务是否存在
|
//校验任务是否存在
|
||||||
List<String> taskTypes = new ArrayList<>(Collections.singletonList(taskType));
|
List<String> taskTypes = new ArrayList<>(Collections.singletonList(taskType));
|
||||||
List<SchBaseTask> existTaskList = taskService.getExistTasks(taskTypes);
|
List<SchBaseTask> existTaskList = taskService.getExistTasks(taskTypes);
|
||||||
@@ -120,6 +95,36 @@ public class AutoExecuteWaitTask {
|
|||||||
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||||
taskService.updateById(task);
|
taskService.updateById(task);
|
||||||
mzhcwTask.immediateNotifyAcs(null);
|
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