From 01a23d21e03449137536c6b62a3588aacfb8823c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=97=AD=E6=98=8E=5C73939?= <739390650@QQ.COM> Date: Mon, 26 Jan 2026 09:39:50 +0800 Subject: [PATCH] =?UTF-8?q?opt:agv=E7=9C=8B=E6=9D=BF=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/TwoFloorAgvStatusService.java | 98 ++++++------------- .../agv/ndctwo/AgvNdcTwoDeviceDriver.java | 45 +++++++++ 2 files changed, 75 insertions(+), 68 deletions(-) diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/service/impl/TwoFloorAgvStatusService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/service/impl/TwoFloorAgvStatusService.java index 727ec94b1..25f8fe4f8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/service/impl/TwoFloorAgvStatusService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/service/impl/TwoFloorAgvStatusService.java @@ -9,6 +9,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; /** * 二楼AGV状态管理服务 @@ -16,15 +17,15 @@ import java.util.Map; */ @Service public class TwoFloorAgvStatusService { - + @Autowired private TwoAgvPhase twoAgvPhase; - + /** * 存储AGV状态信息,key为AGV车辆代码 */ - private Map agvStatusMap = new HashMap<>(); - + private ConcurrentHashMap agvStatusMap = new ConcurrentHashMap<>(); + /** * 初始化AGV状态 */ @@ -41,32 +42,29 @@ public class TwoFloorAgvStatusService { agvStatusMap.put(vehicleCode, agvStatus); } } - + /** * 更新AGV状态 * @param agvStatus AGV状态信息 */ - public void updateAgvStatus(TwoFloorAgvStatus agvStatus) { + public synchronized void updateAgvStatus(TwoFloorAgvStatus agvStatus) { if (agvStatus == null || agvStatus.getVehicle_code() == null) { return; } - + // 处理阶段名称 if (agvStatus.getPhase() != null) { String phaseName = twoAgvPhase.getPhaseName(agvStatus.getPhase()); agvStatus.setPhase_name(phaseName); } - + // 处理状态文本 this.handleStatusText(agvStatus); - + // 更新状态 agvStatusMap.put(agvStatus.getVehicle_code(), agvStatus); - - // 推送状态更新 - this.pushAgvStatusUpdate(); } - + /** * 处理AGV状态文本 */ @@ -90,7 +88,7 @@ public class TwoFloorAgvStatusService { break; } } - + /** * 获取单个AGV状态 * @param vehicleCode AGV车辆代码 @@ -99,7 +97,7 @@ public class TwoFloorAgvStatusService { public TwoFloorAgvStatus getAgvStatus(String vehicleCode) { return agvStatusMap.get(vehicleCode); } - + /** * 获取所有AGV状态 * @return 所有AGV状态列表 @@ -107,60 +105,12 @@ public class TwoFloorAgvStatusService { public List getAllAgvStatus() { return new ArrayList<>(agvStatusMap.values()); } - - /** - * 更新AGV状态后不需要推送,由前端通过HTTP接口主动查询 - */ - public void pushAgvStatusUpdate() { - // 改为HTTP接口后,不再需要主动推送 - // 前端会通过定时请求获取最新状态 - } - - /** - * 更新AGV任务信息 - */ - public void updateAgvTaskInfo(String vehicleCode, String taskCode, String instCode) { - TwoFloorAgvStatus agvStatus = agvStatusMap.get(vehicleCode); - if (agvStatus != null) { - agvStatus.setTask_code(taskCode); - agvStatus.setInst_code(instCode); - this.pushAgvStatusUpdate(); - } - } - - /** - * 更新AGV阶段信息 - */ - public void updateAgvPhase(String vehicleCode, Integer phase) { - TwoFloorAgvStatus agvStatus = agvStatusMap.get(vehicleCode); - if (agvStatus != null) { - agvStatus.setPhase(phase); - agvStatus.setPhase_name(twoAgvPhase.getPhaseName(phase)); - this.pushAgvStatusUpdate(); - } - } - - /** - * 更新AGV错误信息 - */ - public void updateAgvError(String vehicleCode, String errorCode, String errorMessage, String errorAction, String errorMode) { - TwoFloorAgvStatus agvStatus = agvStatusMap.get(vehicleCode); - if (agvStatus != null) { - agvStatus.setIs_error(true); - agvStatus.setError_code(errorCode); - agvStatus.setError_message(errorMessage); - agvStatus.setError_action(errorAction); - agvStatus.setError_mode(errorMode); - agvStatus.setStatus("error"); - agvStatus.setStatus_text("异常"); - this.pushAgvStatusUpdate(); - } - } - + /** * 清除AGV错误信息 */ - public void clearAgvError(String vehicleCode) { + public void clearAgvError(int carno) { + String vehicleCode = String.format("AGV%02d", carno); TwoFloorAgvStatus agvStatus = agvStatusMap.get(vehicleCode); if (agvStatus != null) { agvStatus.setIs_error(false); @@ -168,11 +118,23 @@ public class TwoFloorAgvStatusService { agvStatus.setError_message(null); agvStatus.setError_action(null); agvStatus.setError_mode(null); + // 设置错误信息 + agvStatus.setDriver(null); + agvStatus.setIs_error(false); + agvStatus.setError_message(null); + agvStatus.setDevice_code(null); + agvStatus.setError_action(null); + agvStatus.setError_mode(null); + agvStatus.setError_move(null); + agvStatus.setError_error(null); + agvStatus.setExp_action(null); + agvStatus.setExp_mode(null); + agvStatus.setExp_move(null); + agvStatus.setExp_error(null); if ("error".equals(agvStatus.getStatus())) { agvStatus.setStatus("idle"); agvStatus.setStatus_text("空闲"); } - this.pushAgvStatusUpdate(); } } -} \ No newline at end of file +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndctwo/AgvNdcTwoDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndctwo/AgvNdcTwoDeviceDriver.java index 0c761be7e..9056a70ef 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndctwo/AgvNdcTwoDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndctwo/AgvNdcTwoDeviceDriver.java @@ -257,6 +257,9 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic } public synchronized void processSocket(int[] arr) { + + //清空 + device_code = this.getDeviceCode(); byte[] data = null; phase = arr[16] * 256 + arr[17]; @@ -452,6 +455,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号move:" + standardInspectSiteDeviceDriver.getMove() + ",动作信号action:" + standardInspectSiteDeviceDriver.getAction() + "报警信号:" + standardInspectSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; // 记录任务卡住原因 @@ -488,6 +492,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { log.info("设备{},动作信号{} ,不满足取货条件,指令号{}", manipulatorAgvStationDeviceDriver.getDeviceCode(), manipulatorAgvStationDeviceDriver.getAction(), ikey); LuceneLogDto logDto = LuceneLogDto.builder() @@ -524,6 +529,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + hongXiangStationDeviceDriver.getMove() + "无货不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -561,6 +567,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + ",动作信号:" + paperTubePickSiteDeviceDriver.getAction() + "报警信号:" + paperTubePickSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -655,6 +662,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } catch (Exception e) { e.printStackTrace(); } @@ -806,6 +814,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic luceneExecuteLogService.deviceExecuteLog(logDto1); acsToWmsService.actionFinishRequest2(jsonObject); } + agvStatusService.clearAgvError(carno); } else { // 记录任务卡住原因 Map eptMap = new HashMap<>(); @@ -837,6 +846,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + hongXiangStationDeviceDriver.getMove() + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -869,6 +879,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + ",动作信号:" + paperTubePickSiteDeviceDriver.getAction() + "报警信号:" + paperTubePickSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -907,6 +918,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + standardInspectSiteDeviceDriver.getMove() + ",动作信号:" + standardInspectSiteDeviceDriver.getAction() + "报警信号:" + standardInspectSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -939,6 +951,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } catch (Exception e) { e.printStackTrace(); } @@ -1077,6 +1090,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + ",动作信号:" + manipulatorAgvStationDeviceDriver.getAction() + "报警信号:" + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -1111,6 +1125,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + ",动作信号:" + paperTubePickSiteDeviceDriver.getAction() + "报警信号:" + paperTubePickSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -1146,6 +1161,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + hongXiangStationDeviceDriver.getMove() + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -1179,6 +1195,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + standardInspectSiteDeviceDriver.getMove() + ",动作信号:" + standardInspectSiteDeviceDriver.getAction() + "报警信号:" + standardInspectSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -1323,6 +1340,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + ",动作信号:" + manipulatorAgvStationDeviceDriver.getAction() + "报警信号:" + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -1362,6 +1380,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + ",动作信号:" + manipulatorAgvStationDeviceDriver.getAction() + "报警信号:" + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -1401,6 +1420,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + ",动作信号:" + manipulatorAgvStationDeviceDriver.getAction() + "报警信号:" + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -1440,6 +1460,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + manipulatorAgvStationDeviceDriver.getDevice_code() + ",动作信号:" + manipulatorAgvStationDeviceDriver.getAction() + "报警信号:" + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -1567,6 +1588,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + hongXiangStationDeviceDriver.getMove() + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -1598,6 +1620,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); String task_code = inst.getTask_code(); if (ObjectUtil.isNotEmpty(manipulatorAgvStationDeviceDriver.getDevice().getExtraValue().get("feedbackToLms")) && StrUtil.equals("true", manipulatorAgvStationDeviceDriver.getDevice().getExtraValue().get("feedbackToLms").toString())) { @@ -1647,6 +1670,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + ",动作信号:" + paperTubePickSiteDeviceDriver.getAction() + "报警信号:" + paperTubePickSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -1686,6 +1710,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + standardInspectSiteDeviceDriver.getMove() + ",动作信号:" + standardInspectSiteDeviceDriver.getAction() + "报警信号:" + standardInspectSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -1822,6 +1847,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + ",动作信号:" + paperTubePickSiteDeviceDriver.getAction() + "报警信号:" + paperTubePickSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; log.info("设备{}当前光电信号{},动作信号{} ,错误信号{},设备状态{},不满足放货条件,指令号{}", device_code, paperTubePickSiteDeviceDriver.getMove(), paperTubePickSiteDeviceDriver.getAction() @@ -1862,6 +1888,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + ",动作信号:" + manipulatorAgvStationDeviceDriver.getAction() + "报警信号:" + ",指令号:" + ikey + "不满足取货条件"; log.info("设备{},动作信号{} ,不满足取货条件,指令号{}", device_code, manipulatorAgvStationDeviceDriver.getAction(), ikey); @@ -1899,6 +1926,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + hongXiangStationDeviceDriver.getMove() + ",动作信号:" + hongXiangStationDeviceDriver.getAction() + "报警信号:" + hongXiangStationDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; log.info("设备{}当前光电信号{},动作信号{} ,错误信号{},不满足取货条件,指令号{}", device_code, hongXiangStationDeviceDriver.getMove(), hongXiangStationDeviceDriver.getAction() @@ -1932,6 +1960,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + standardInspectSiteDeviceDriver.getMove() + ",动作信号:" + standardInspectSiteDeviceDriver.getAction() + "报警信号:" + standardInspectSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足放货条件"; log.info("设备{}当前光电信号{},动作信号{} ,报警信号{},不满足放货条件,指令号{}", device_code, standardInspectSiteDeviceDriver.getMove(), standardInspectSiteDeviceDriver.getAction() @@ -2023,6 +2052,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } catch (Exception e) { e.printStackTrace(); } @@ -2139,6 +2169,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { LuceneLogDto logDto = LuceneLogDto.builder() .device_code(manipulatorAgvStationDeviceDriver.getDevice_code()) @@ -2174,6 +2205,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + hongXiangStationDeviceDriver.getMove() + ",动作信号:" + hongXiangStationDeviceDriver.getAction() + "报警信号:" + hongXiangStationDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; log.info("设备{}当前光电信号{},动作信号{} ,错误信号{},不满足放货完成反馈,指令号{}", device_code, hongXiangStationDeviceDriver.getMove(), hongXiangStationDeviceDriver.getAction() @@ -2241,6 +2273,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); paperTubePickSiteDeviceDriver.setFlag(3); } else { message = "设备号:" + device_code + ",动作信号:" + paperTubePickSiteDeviceDriver.getAction() + "报警信号:" + paperTubePickSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; @@ -2281,6 +2314,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + standardInspectSiteDeviceDriver.getMove() + ",指令号:" + ikey + "不满足放货完成条件"; LuceneLogDto logDto = LuceneLogDto.builder() @@ -2316,6 +2350,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } catch (Exception e) { e.printStackTrace(); } @@ -2434,6 +2469,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + ",动作信号:" + manipulatorAgvStationDeviceDriver.getAction() + "报警信号:" + ",指令号:" + ikey + "不满足取货条件"; log.info("设备{},动作信号{} ,不满足取货条件,指令号{}", device_code, manipulatorAgvStationDeviceDriver.getAction(), ikey); @@ -2471,6 +2507,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + hongXiangStationDeviceDriver.getMove() + ",动作信号:" + hongXiangStationDeviceDriver.getAction() + "报警信号:" + hongXiangStationDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; log.info("设备{}当前光电信号{},动作信号{} ,错误信号{},不满足取货条件,指令号{}", device_code, hongXiangStationDeviceDriver.getMove(), hongXiangStationDeviceDriver.getAction() @@ -2505,6 +2542,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + paperTubePickSiteDeviceDriver.getMove() + ",动作信号:" + paperTubePickSiteDeviceDriver.getAction() + "报警信号:" + paperTubePickSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; log.info("设备{}当前光电信号{},动作信号{} ,错误信号{},不满足取货条件,指令号{}", device_code, paperTubePickSiteDeviceDriver.getMove(), paperTubePickSiteDeviceDriver.getAction() @@ -2544,6 +2582,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + standardInspectSiteDeviceDriver.getMove() + ",动作信号:" + standardInspectSiteDeviceDriver.getAction() + "报警信号:" + standardInspectSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足放货条件"; log.info("设备{}当前光电信号{},动作信号{} ,报警信号{},不满足放货条件,指令号{}", device_code, standardInspectSiteDeviceDriver.getMove(), standardInspectSiteDeviceDriver.getAction() @@ -2715,6 +2754,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { LuceneLogDto logDto = LuceneLogDto.builder() .device_code(manipulatorAgvStationDeviceDriver.getDevice_code()) @@ -2751,6 +2791,9 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); + //清空状态 + } else { message = "设备号:" + device_code + "光电信号:" + paperTubePickSiteDeviceDriver.getMove() + ",动作信号:" + paperTubePickSiteDeviceDriver.getAction() + "报警信号:" + paperTubePickSiteDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; log.info("设备{}当前光电信号{},动作信号{} ,错误信号{},不满足取货条件,指令号{}", device_code, paperTubePickSiteDeviceDriver.getMove(), paperTubePickSiteDeviceDriver.getAction() @@ -2790,6 +2833,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + hongXiangStationDeviceDriver.getMove() + ",动作信号:" + hongXiangStationDeviceDriver.getAction() + "报警信号:" + hongXiangStationDeviceDriver.getError() + ",指令号:" + ikey + "不满足取货条件"; log.info("设备{}当前光电信号{},动作信号{} ,错误信号{},不满足取货条件,指令号{}", device_code, hongXiangStationDeviceDriver.getMove(), hongXiangStationDeviceDriver.getAction() @@ -2824,6 +2868,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); + agvStatusService.clearAgvError(carno); } else { message = "设备号:" + device_code + "光电信号:" + standardInspectSiteDeviceDriver.getMove() + ",指令号:" + ikey + "不满足放货完成条件"; LuceneLogDto logDto = LuceneLogDto.builder()