From c1a522d878a3a8204df5f7447409a43aa75bded0 Mon Sep 17 00:00:00 2001
From: qlsxk <qlsxk@qq.com>
Date: 星期六, 11 十月 2025 10:06:48 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/impl/NyLiftThread.java |  161 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 100 insertions(+), 61 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/impl/NyLiftThread.java b/src/main/java/com/zy/core/thread/impl/NyLiftThread.java
index 1af1ca3..d1ade24 100644
--- a/src/main/java/com/zy/core/thread/impl/NyLiftThread.java
+++ b/src/main/java/com/zy/core/thread/impl/NyLiftThread.java
@@ -85,7 +85,7 @@
                 try {
                     listenMessageFromRedis();
                     readStatus();
-                    Thread.sleep(100);
+                    Thread.sleep(200);
                 } catch (Exception e) {
                     log.error("LiftThread Fail", e);
                 }
@@ -93,13 +93,18 @@
         });
         readThread.start();
 
-        while (true) {
-            try {
-                execute();
-            } catch (Exception e) {
-                e.printStackTrace();
+        //璁惧鎵ц
+        Thread executeThread = new Thread(() -> {
+            while (true) {
+                try {
+                    execute();
+                    Thread.sleep(200);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
             }
-        }
+        });
+        executeThread.start();
     }
 
     private void execute() {
@@ -181,8 +186,6 @@
             liftProtocol.setHasTray(data.getInteger("hasTray") == 1);
             //鏈夊皬杞�
             liftProtocol.setHasCar(data.getInteger("hasCar") == 1);
-            //鍑哄叆搴撴ā寮�
-            liftProtocol.setIOMode(data.getInteger("iOMode"));
             //鏁呴殰鐮�
             liftProtocol.setErrorCode(data.getInteger("errorCode"));
             //褰撳墠灞�
@@ -233,7 +236,7 @@
 
             this.realtimeOriginData = JSON.toJSONString(data);
 
-            if (System.currentTimeMillis() - liftProtocol.getDeviceDataLog() > 1000 * 5) {
+            if (System.currentTimeMillis() - liftProtocol.getDeviceDataLog() > 1000 * 2) {
                 //閲囬泦鏃堕棿瓒呰繃5s锛屼繚瀛樹竴娆℃暟鎹褰�
                 //淇濆瓨鏁版嵁璁板綍
                 DeviceDataLogService deviceDataLogService = SpringUtils.getBean(DeviceDataLogService.class);
@@ -353,29 +356,10 @@
     }
 
     @Override
-    public CommandResponse switchIOMode(LiftCommand command) {
-        CommandResponse response = new CommandResponse(false);
-        try {
-            //鍙戝嚭璇锋眰
-            String resultKey = requestCommand(command);
-            //鏌ヨ璇锋眰缁撴灉
-            JSONObject result = queryCommandStatus(resultKey);
-            if (result == null) {
-                return response;//璇锋眰澶辫触
-            }
-            if(!result.getString("result").equals("success")) {
-                return response;//璇锋眰澶辫触
-            }
-
-            this.liftProtocol.setSendTime(System.currentTimeMillis());//鎸囦护涓嬪彂鏃堕棿
-            response.setMessage(JSON.toJSONString(result));
-            response.setResult(true);
-            return response;
-        } catch (Exception e) {
-            e.printStackTrace();
-            response.setMessage(e.getMessage());
-            return response;
-        }
+    public CommandResponse switchIOMode(LiftIoModeType type) {
+        CommandResponse response = new CommandResponse(true);
+        liftProtocol.setIOMode(type);
+        return response;
     }
 
     @Override
@@ -401,20 +385,51 @@
 
         InnerLiftExtend extend = (InnerLiftExtend) this.liftProtocol.getExtend();
 
-        boolean res = this.liftProtocol.getProtocolStatus() == LiftProtocolStatusType.IDLE.id
-//                && this.liftProtocol.getPlcTaskNo() == 0
-                && this.liftProtocol.getTaskNo() == 0
-                && this.liftProtocol.getModel() == 2
-                && this.liftProtocol.getDeviceStatus() == LiftDeviceStatusType.IDLE.id
-                && this.liftProtocol.getErrorCode() == 0
-                && !extend.getFrontOverrun()
-                && !extend.getBackOverrun()
-                && !extend.getLeftOverrun()
-                && !extend.getRightOverrun()
-                && !extend.getOverHeight()
-                && !extend.getOverWeight()
-                ;
-        return res;
+        if (this.liftProtocol.getProtocolStatus() != LiftProtocolStatusType.IDLE.id) {
+            return false;//浠诲姟涓嶇┖闂�
+        }
+
+        if (this.liftProtocol.getTaskNo() != 0) {
+            return false;//鏈変换鍔″彿
+        }
+
+        if (this.liftProtocol.getModel() != 2) {
+            return false;//闈炶嚜鍔�
+        }
+
+        if (this.liftProtocol.getDeviceStatus() != LiftDeviceStatusType.IDLE.id) {
+            return false;//闈炵┖闂�
+        }
+
+        if (this.liftProtocol.getErrorCode() != 0) {
+            return false;//鏈夋晠闅�
+        }
+
+        if (extend.getFrontOverrun()) {
+            return false;
+        }
+
+        if (extend.getBackOverrun()) {
+            return false;
+        }
+
+        if (extend.getLeftOverrun()) {
+            return false;
+        }
+
+        if (extend.getRightOverrun()) {
+            return false;
+        }
+
+        if (extend.getOverHeight()) {
+            return false;
+        }
+
+        if (extend.getOverWeight()) {
+            return false;
+        }
+
+        return true;
     }
 
     @Override
@@ -431,8 +446,7 @@
             }
         }
 
-        if (this.liftProtocol.getProtocolStatus() == null
-                || this.liftProtocol.getModel() == null
+        if (this.liftProtocol.getModel() == null
                 || this.liftProtocol.getDeviceStatus() == null
                 || this.liftProtocol.getErrorCode() == null
                 || this.liftProtocol.getExtend() == null
@@ -442,18 +456,43 @@
 
         InnerLiftExtend extend = (InnerLiftExtend) this.liftProtocol.getExtend();
 
-        boolean res = this.liftProtocol.getProtocolStatus() == LiftProtocolStatusType.IDLE.id
-                && this.liftProtocol.getModel() == 2
-                && this.liftProtocol.getDeviceStatus() == LiftDeviceStatusType.IDLE.id
-                && this.liftProtocol.getErrorCode() == 0
-                && !extend.getFrontOverrun()
-                && !extend.getBackOverrun()
-                && !extend.getLeftOverrun()
-                && !extend.getRightOverrun()
-                && !extend.getOverHeight()
-                && !extend.getOverWeight()
-                ;
-        return res;
+        if (this.liftProtocol.getModel() != 2) {
+            return false;//闈炶嚜鍔�
+        }
+
+        if (this.liftProtocol.getDeviceStatus() != LiftDeviceStatusType.IDLE.id) {
+            return false;//闈炵┖闂�
+        }
+
+        if (this.liftProtocol.getErrorCode() != 0) {
+            return false;//鏈夋晠闅�
+        }
+
+        if (extend.getFrontOverrun()) {
+            return false;
+        }
+
+        if (extend.getBackOverrun()) {
+            return false;
+        }
+
+        if (extend.getLeftOverrun()) {
+            return false;
+        }
+
+        if (extend.getRightOverrun()) {
+            return false;
+        }
+
+        if (extend.getOverHeight()) {
+            return false;
+        }
+
+        if (extend.getOverWeight()) {
+            return false;
+        }
+
+        return true;
     }
 
     @Override

--
Gitblit v1.9.1