From de2bdefb2415c58b5532e1d22dd7aae0dcb442dd Mon Sep 17 00:00:00 2001 From: tuqiang <437016993@qq.com> Date: Thu, 28 Mar 2024 17:29:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E9=99=90=E5=88=B6=E4=B8=8B=E5=8F=91?= =?UTF-8?q?=E5=A0=86=E5=9E=9B=E6=9C=BA=E6=9C=89=E5=87=BA=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E8=B7=AF=E7=BA=BF=E7=9B=B8=E5=90=8C=E7=9A=84=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ConveyorWithScannerWeightDeviceDriver.java | 6 ++++++ .../java/org/nl/acs/task/service/TaskService.java | 9 +++++++++ .../nl/acs/task/service/impl/TaskServiceImpl.java | 13 ++++++++++++- .../system/service/quartz/task/CreateDDJInst.java | 7 ++++++- 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java index 4551aedf0..d49edd4bb 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java @@ -485,6 +485,12 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv Integer start = 0; String start_device_code = pathlist.get(start); String next_device_code = pathlist.get(start+1); + //判断有无出入库任务是相同路线 + TaskDto dto = taskserver.findByCodeAndExcute(taskdto.getNext_device_code(), taskdto.getStart_device_code()); + if (ObjectUtil.isNotEmpty(dto)){ + requireSucess = false; + return false; + } packageInstrcutData(instdto, taskdto, taskid, taskcode, vehiclecode, priority,start_device_code,next_device_code); }else { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java index ce84c9005..8860df2ef 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/TaskService.java @@ -388,6 +388,15 @@ public interface TaskService extends CommonService { */ TaskDto findByStartCodeAndReady(String device_code); + /** + * 根据起点设备编号查询当前是否有执行中任务 + * + * @param start_code + * @param next_code + * @return + */ + TaskDto findByCodeAndExcute(String start_code,String next_code); + /** * 根据终点设备编号查询当前是否有就绪任务 diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index 586a00b55..9a60e55ce 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -516,7 +516,7 @@ public class TaskServiceImpl extends CommonServiceImpl impleme public List findByTaskStatus(String status) { List taskDtoList = new ArrayList<>(); Iterator iterator = tasks.iterator(); - if (iterator.hasNext()) { + while (iterator.hasNext()) { TaskDto task = iterator.next(); if (StrUtil.equals(task.getTask_status(), status)) { taskDtoList.add(task); @@ -1077,6 +1077,17 @@ public class TaskServiceImpl extends CommonServiceImpl impleme return optionalTask.orElse(null); } + @Override + public TaskDto findByCodeAndExcute(String start_code, String next_code) { + Task task = this.lambdaQuery() + .eq(Task::getStart_device_code, start_code) + .eq(Task::getNext_device_code, next_code) + .eq(Task::getTask_status, TaskStatusEnum.BUSY.getIndex()) + .one(); + TaskDto taskDto = BeanUtil.copyProperties(task, TaskDto.class); + return taskDto; + } + @Override public TaskDto findByEndCodeAndReady(String device_code) { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java index 109c37d4d..63809dbb7 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java @@ -3,6 +3,7 @@ package org.nl.system.service.quartz.task; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; @@ -55,10 +56,14 @@ public class CreateDDJInst { Device startDevice = appService.findDeviceByCode(start_device_code); String next_device_code = taskDto.getNext_device_code(); Device nextDevice = appService.findDeviceByCode(next_device_code); + //判断有无出入库任务是相同路线 + TaskDto dto = taskserver.findByCodeAndExcute(next_device_code, start_device_code); + if (ObjectUtil.isNotEmpty(dto)){ + return; + } if (startDevice.getDevice_type().equals(DeviceType.storage.name()) && (nextDevice.getDevice_type().equals(DeviceType.conveyor.name()) || nextDevice.getDevice_type().equals(DeviceType.storage.name()))) { taskDtoList.add(taskDto); - } } if (CollUtil.isNotEmpty(taskDtoList)) {