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