From 5a08c9f11a31853be6aa74c1526fc09e429952be Mon Sep 17 00:00:00 2001 From: LISHUAI <1793460677@qq.com> Date: Fri, 6 Sep 2024 16:12:44 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E4=B8=8A=E4=B8=8B=E6=96=99=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=EF=BC=8C=E9=A9=B1=E5=8A=A8=E7=B1=BB=E5=9E=8B=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/acs/agv/server/AgvWaitUtil.java | 18 +++++++++----- .../device/device_driver/DriverTypeEnum.java | 3 +-- .../agv_conveyor/AgvConveyorDeviceDriver.java | 24 ++++++++++--------- 3 files changed, 26 insertions(+), 19 deletions(-) diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvWaitUtil.java b/acs/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvWaitUtil.java index 3025d02..d3b499a 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvWaitUtil.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvWaitUtil.java @@ -121,6 +121,9 @@ public class AgvWaitUtil { } else if (device.getDeviceDriver() instanceof StandardOrdinarySiteDevice) { // 普通站点驱动 String message = "允许AGV取货后离开。"; + this.deviceExecuteLogService.deviceExecuteLog(deviceCode, "", "", message); + flag = true; + } else if (device.getDeviceDriver() instanceof AgvConveyorDeviceDriver) { // agv下料完成后写信号 String executeCode = task.getExecute_code(); if (StrUtil.isNotEmpty(executeCode)) { @@ -129,12 +132,13 @@ public class AgvWaitUtil { AgvConveyorDeviceDriver driver = (AgvConveyorDeviceDriver) executeDevice.getDeviceDriver(); if ("down".equals(task.getExecute_message())) { driver.writing("to_down_finished", 1); - this.deviceExecuteLogService.deviceExecuteLog(deviceCode, "", "", "下料完成"); + log.info(deviceCode, "", "", "下料完成"); } } + flag = true; + }else { + log.info(deviceCode, "", "", "执行设备不是agv上下料驱动"); } - this.deviceExecuteLogService.deviceExecuteLog(deviceCode, "", "", message); - flag = true; } else { flag = true; } @@ -321,6 +325,7 @@ public class AgvWaitUtil { WQLObject.getWQLObject("acs_device_runpoint").update(rpUpdate, "device_code = '" + deviceCode + "'"); } } + } else if (device.getDeviceDriver() instanceof AgvConveyorDeviceDriver) { // agv上料完成后写信号 String executeCode = task.getExecute_code(); if (StrUtil.isNotEmpty(executeCode)) { @@ -329,12 +334,13 @@ public class AgvWaitUtil { AgvConveyorDeviceDriver driver = (AgvConveyorDeviceDriver) executeDevice.getDeviceDriver(); if ("up".equals(task.getExecute_message())) { driver.writing("to_up_finished", 1); - this.deviceExecuteLogService.deviceExecuteLog(deviceCode, "", "", "上料完成"); + log.info(deviceCode, "", "", "上料完成"); } } - + flag = true; + }else { + log.info(deviceCode, "", "", "执行设备不是agv上下料驱动"); } - flag = true; } else { flag = true; } diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java b/acs/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java index 50598f3..703dd59 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java @@ -12,8 +12,7 @@ public enum DriverTypeEnum { ORDINARY_SITE(1, "standard_ordinary_site", "普通站点", "station"), NL4_STATION(2, "nl4_station", "诺力四期-对接位", "station"), - AGV_CONVEYOR(3, "agv_conveyor", "上下料任务管理驱动", "conveyor"), - STANDAR_ORDINARY_SITE(4, "standard_ordinary_site", "上下料agv对接位", "conveyor"); + STANDAR_ORDINARY_SITE(3, "agv_conveyor", "上下料agv对接位", "conveyor"); //驱动索引 private int index; //驱动编码 diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv_conveyor/AgvConveyorDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv_conveyor/AgvConveyorDeviceDriver.java index 9a0c87b..b191ea6 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv_conveyor/AgvConveyorDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv_conveyor/AgvConveyorDeviceDriver.java @@ -32,7 +32,7 @@ import org.nl.modules.wql.util.SpringContextHolder; import java.util.*; /** - * 货梯对接线 + * AGV上料下料 */ @Slf4j @Getter @@ -147,6 +147,11 @@ public class AgvConveyorDeviceDriver extends AbstractOpcDeviceDriver implements //请求下料 if (down_request == 1){ + List taskDtos = taskserver.queryTaskByDeviceCodeAndStatus(on_off_site_str); + if (CollUtil.isNotEmpty(taskDtos)){ + logServer.deviceExecuteLog(this.device_code, "", "", "已存在"+on_off_site_str+"为起点就绪或执行的任务"); + return false; + } String nextCode = null; //下料点要有货,终点要无货 JSONObject json = wo.query("device_code ='" + on_off_site_str + "'").uniqueResult(0); @@ -169,11 +174,7 @@ public class AgvConveyorDeviceDriver extends AbstractOpcDeviceDriver implements logServer.deviceExecuteLog(this.device_code, "", "", "终点货物占满"); return false; } - List taskDtos = taskserver.queryTaskByDeviceCodeAndStatus(on_off_site_str); - if (CollUtil.isNotEmpty(taskDtos)){ - logServer.deviceExecuteLog(this.device_code, "", "", "已存在"+on_off_site_str+"为起点就绪或执行的任务"); - return false; - } + TaskDto taskDto = new TaskDto(); taskDto.setStart_device_code(on_off_site_str); @@ -188,6 +189,11 @@ public class AgvConveyorDeviceDriver extends AbstractOpcDeviceDriver implements //请求上料 if (up_request == 1){ String startCode = null; + List taskDtos = taskserver.queryTaskByEndDeviceCodeAndStatus(on_off_site_str); + if (CollUtil.isNotEmpty(taskDtos)){ + logServer.deviceExecuteLog(this.device_code, "", "", "已存在"+on_off_site_str+"为终点就绪或执行的任务"); + return false; + } //起点要有货,上料点要无货 JSONObject json = wo.query("device_code ='" + on_off_site_str + "'").uniqueResult(0); if (MapUtil.isNotEmpty(json) && "1".equals(json.get("hasgoods"))){ @@ -209,11 +215,7 @@ public class AgvConveyorDeviceDriver extends AbstractOpcDeviceDriver implements logServer.deviceExecuteLog(this.device_code, "", "", "起点无货物可取或者物料类型不匹配"); return false; } - List taskDtos = taskserver.queryTaskByEndDeviceCodeAndStatus(on_off_site_str); - if (CollUtil.isNotEmpty(taskDtos)){ - logServer.deviceExecuteLog(this.device_code, "", "", "已存在"+startCode+"为终点就绪或执行的任务"); - return false; - } + TaskDto taskDto = new TaskDto(); taskDto.setStart_device_code(startCode); taskDto.setNext_device_code(on_off_site_str);