From 76f70e9b4cac4a0dc9b02274de3fa7152c7921f4 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期四, 25 九月 2025 16:24:00 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/impl/NyLiftThread.java | 82 ++++++++++++++++++++++------------------ 1 files changed, 45 insertions(+), 37 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 b495438..d175f91 100644 --- a/src/main/java/com/zy/core/thread/impl/NyLiftThread.java +++ b/src/main/java/com/zy/core/thread/impl/NyLiftThread.java @@ -3,13 +3,10 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.DateUtils; import com.core.common.SpringUtils; -import com.zy.asrs.entity.BasLift; import com.zy.asrs.entity.DeviceConfig; import com.zy.asrs.entity.DeviceDataLog; -import com.zy.asrs.service.BasLiftService; import com.zy.asrs.service.DeviceDataLogService; import com.zy.asrs.utils.Utils; import com.zy.common.ExecuteSupport; @@ -184,8 +181,6 @@ liftProtocol.setHasTray(data.getInteger("hasTray") == 1); //鏈夊皬杞� liftProtocol.setHasCar(data.getInteger("hasCar") == 1); - //鍑哄叆搴撴ā寮� - liftProtocol.setIOMode(data.getInteger("iOMode")); //鏁呴殰鐮� liftProtocol.setErrorCode(data.getInteger("errorCode")); //褰撳墠灞� @@ -194,12 +189,19 @@ //************琛ュ厖鎵╁睍瀛楁************* InnerLiftExtend liftExtend = (InnerLiftExtend) liftProtocol.getExtend(); liftProtocol.setExtend(liftExtend); - liftExtend.setFrontOverrun(data.getBoolean("frontOverrun")); - liftExtend.setBackOverrun(data.getBoolean("backOverrun")); - liftExtend.setLeftOverrun(data.getBoolean("leftOverrun")); - liftExtend.setRightOverrun(data.getBoolean("rightOverrun")); - liftExtend.setOverHeight(data.getBoolean("overHeight")); - liftExtend.setOverWeight(data.getBoolean("overWeight")); + JSONObject extend = data.getJSONObject("extend"); + liftExtend.setFrontOverrun(extend.getInteger("frontOverrun") == 1); + liftExtend.setBackOverrun(extend.getInteger("backOverrun") == 1); + liftExtend.setLeftOverrun(extend.getInteger("leftOverrun") == 1); + liftExtend.setRightOverrun(extend.getInteger("rightOverrun") == 1); + liftExtend.setOverHeight(extend.getInteger("overHeight") == 1); + liftExtend.setOverWeight(extend.getInteger("overWeight") == 1); + liftExtend.setPlcTaskNoComplete(extend.getInteger("plcTaskNoComplete")); + + if (!liftExtend.getPlcTaskNoComplete().equals(liftProtocol.getPlcTaskNo())) { + //璁惧鐘舵�� + liftProtocol.setDeviceStatus(LiftDeviceStatusType.BUSY.id); + } //璇诲彇绔欑偣 JSONArray stationList = data.getJSONArray("stationList"); @@ -229,7 +231,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); @@ -349,29 +351,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 @@ -388,6 +371,7 @@ || this.liftProtocol.getPlcTaskNo() == null || this.liftProtocol.getProtocolStatus() == null || this.liftProtocol.getModel() == null + || this.liftProtocol.getDeviceStatus() == null || this.liftProtocol.getErrorCode() == null || this.liftProtocol.getExtend() == null ) { @@ -400,6 +384,7 @@ // && 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() @@ -427,6 +412,7 @@ if (this.liftProtocol.getProtocolStatus() == null || this.liftProtocol.getModel() == null + || this.liftProtocol.getDeviceStatus() == null || this.liftProtocol.getErrorCode() == null || this.liftProtocol.getExtend() == null ) { @@ -437,6 +423,7 @@ 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() @@ -488,6 +475,10 @@ command.setPick(pick); command.setPut(put); + LiftStaProtocol pickSta = findSta(pick); + LiftStaProtocol putSta = findSta(put); + command.setPickLev(pickSta.getLev()); + command.setPutLev(putSta.getLev()); return command; } @@ -500,6 +491,10 @@ command.setPick(pick); command.setPut(put); + LiftStaProtocol pickSta = findSta(pick); + LiftStaProtocol putSta = findSta(put); + command.setPickLev(pickSta.getLev()); + command.setPutLev(putSta.getLev()); return command; } @@ -512,6 +507,10 @@ command.setPick(pick); command.setPut(put); + LiftStaProtocol pickSta = findSta(pick); + LiftStaProtocol putSta = findSta(put); + command.setPickLev(pickSta.getLev()); + command.setPutLev(putSta.getLev()); return command; } @@ -636,6 +635,15 @@ } } + private LiftStaProtocol findSta(Integer staNo) { + for (LiftStaProtocol liftStaProtocol : this.liftStaProtocols) { + if (liftStaProtocol.getSiteId().equals(staNo)) { + return liftStaProtocol; + } + } + return null; + } + /** * 鎵╁睍瀛楁 */ @@ -672,8 +680,8 @@ */ private Boolean overWeight; - //鎻愬崌鏈虹珯鐐� - private List<LiftStaProtocol> liftStaProtocols; + //PLC宸插畬鎴愪换鍔″彿 + private Integer plcTaskNoComplete; } } -- Gitblit v1.9.1