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 | 159 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 99 insertions(+), 60 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 8ff9e2c..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")); //褰撳墠灞� @@ -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