From 8d3b350275b494d7ed2cc2b655c7e1ed22e49f7d Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期一, 29 八月 2022 17:00:18 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/LedThread.java | 58 +++++++++++++++++++++++++++++ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 35 +++++++++++++---- 2 files changed, 85 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index c71ab1b..282478b 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1426,12 +1426,22 @@ } // 鍛戒护涓嬪彂 ------------------------------------------------------------------------------- if (!commands.isEmpty()) { - if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) { - log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); - continue; + if (led.getId() == 7) { + if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) { + log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); + continue; + } else { + ledThread.setLedMk(false); + } } else { - ledThread.setLedMk(false); + if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) { + log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); + continue; + } else { + ledThread.setLedMk(false); + } } + } try { @@ -1507,11 +1517,20 @@ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId()); // led鏄剧ず榛樿鍐呭 if (reset && !ledThread.isLedMk()) { - ledThread.setLedMk(true); - if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) { - log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); - } else { + if (led.getId() == 7) { + ledThread.setLedMk(true); + if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) { + log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); + } else { + } + } else { + ledThread.setLedMk(true); + if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) { + log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); + } else { + + } } } } diff --git a/src/main/java/com/zy/core/thread/LedThread.java b/src/main/java/com/zy/core/thread/LedThread.java index fecbd49..b263a9e 100644 --- a/src/main/java/com/zy/core/thread/LedThread.java +++ b/src/main/java/com/zy/core/thread/LedThread.java @@ -43,6 +43,12 @@ private boolean ledMk = false; private boolean resetStatus = false; // 澶嶄綅鐘舵�� + // 鏄剧ず鍣� + private StringBuffer stringBuffer = new StringBuffer(); + private List<LedCommand> commandList; + + private StringBuffer errorMsg = new StringBuffer(); + public LedThread(Slave slave) { this.slave = slave; try { @@ -71,6 +77,20 @@ // 澶嶄綅 case 2: reset(); + break; + // 鍐欐暟鎹� 娑叉櫠 + case 3: + write7((List<LedCommand>)task.getData()); + break; + // 澶嶄綅 娑叉櫠 + case 4: + reset7(); + break; + case 5: + error((String) task.getData()); + break; + case 6: + errorReset(); break; default: break; @@ -181,6 +201,44 @@ } close(); } + private void write7(List<LedCommand> list) { + commandList = list; + + StringBuilder sb = new StringBuilder(); + for (LedCommand command : list) { + sb.append(command.getTitle()).append("锛�").append(command.getWorkNo()).append(")").append("\n"); + sb.append("婧愬簱浣嶏細").append(command.getSourceLocNo()).append("\n"); + sb.append("鐩爣绔欙細").append(command.getStaNo()).append("\n"); + if (!command.isEmptyMk()) { + for (MatDto matDto : command.getMatDtos()) { + sb.append("鐗╂枡缂栫爜锛�").append(matDto.getMatNo()).append("\n"); + sb.append("鏁伴噺锛�").append(matDto.getCount()).append("\n"); + } + } + sb.append("\n"); + } + stringBuffer.delete(0, stringBuffer.length()); + stringBuffer.append(sb.toString()); + + errorReset(); + } + + + private void reset7() { + commandList = null; + + stringBuffer.delete(0, stringBuffer.length()); + } + + + private void error(String msg) { + errorMsg.delete(0, errorMsg.length()); + errorMsg.append(msg); + } + + public void errorReset() { + this.errorMsg.delete(0, errorMsg.length()); + } @Override public boolean connect() { -- Gitblit v1.9.1