From 1c02fedc5c6856522b4fe9699a726cb3c106d255 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期六, 13 四月 2024 11:42:17 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 45 insertions(+), 1 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java index b44bc38..8fde087 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java @@ -20,6 +20,7 @@ import com.zy.asrs.wcs.rcs.thread.LiftThread; import com.zy.asrs.wcs.core.utils.RedisUtil; import com.zy.asrs.wcs.rcs.entity.Device; +import lombok.Data; import lombok.extern.slf4j.Slf4j; import java.text.MessageFormat; @@ -87,6 +88,10 @@ liftProtocol.setLiftNo(Integer.valueOf(device.getDeviceNo())); liftProtocol.setProtocolStatus(LiftProtocolStatusType.IDLE); liftProtocol.setDevice(device); + + InnerLiftExtend innerLiftExtend = new InnerLiftExtend(); + innerLiftExtend.setLock(false);//榛樿鏈攣瀹� + liftProtocol.setExtend(innerLiftExtend); } //----------璇诲彇鎻愬崌鏈虹姸鎬�----------- @@ -104,6 +109,13 @@ liftProtocol.setErrorCode(""); //灞� liftProtocol.setLev(data.getInteger("curFloor")); + + + //************琛ュ厖鎵╁睍瀛楁************* + InnerLiftExtend liftExtend = JSON.parseObject(JSON.toJSONString(liftProtocol.getExtend()), InnerLiftExtend.class); + liftExtend.setLock(data.getInteger("lockStatus") == 1 ? true : false); + liftProtocol.setExtend(liftExtend); + // //鍓嶈秴闄� // liftProtocol.setFrontOverrun(status1[4]); // //鍚庤秴闄� @@ -151,7 +163,7 @@ @Override public LiftProtocol getStatus() { - return this.liftProtocol; + return this.liftProtocol.clone(); } @Override @@ -280,6 +292,20 @@ return false; } + @Override + public boolean isIdle() { + InnerLiftExtend extend = (InnerLiftExtend) liftProtocol.getExtend();//鑾峰彇鎵╁睍瀛楁 + // 鍒ゆ柇鎻愬崌鏈烘槸鍚﹁嚜鍔ㄣ�佸氨缁�佺┖闂层�佹湭閿佸畾 + if (liftProtocol.getModel() + && !liftProtocol.getRun() + && liftProtocol.getReady() + && !extend.getLock() + ) { + return true; + } + return false; + } + //***************璁惧灞傞�氳-涓嶅悓鍘傚晢璁惧閫氳鏂规涓嶄竴鑷�*************** //璇锋眰鐧诲綍 @@ -343,6 +369,7 @@ } //绌鸿浇绉诲姩 + @Override public LiftCommand getEmptyMoveCommand(Integer taskNo, Integer targetLev) { HashMap<String, Object> body = new HashMap<>(); body.put("messageName", "lifterTask"); @@ -363,6 +390,7 @@ } //杞借溅绉诲姩 + @Override public LiftCommand getMoveWithShuttleCommand(Integer taskNo, Integer originLev, Integer targetLev) { HashMap<String, Object> body = new HashMap<>(); body.put("messageName", "lifterTask"); @@ -383,6 +411,7 @@ } //鎵樼洏鍑哄叆 + @Override public LiftCommand getPalletInOutCommand(Integer taskNo, Integer originLev, Integer targetLev, Integer originSta, Integer targetSta) { HashMap<String, Object> body = new HashMap<>(); body.put("messageName", "lifterTask"); @@ -407,6 +436,7 @@ } //閿佸畾/瑙i攣鎻愬崌鏈� + @Override public LiftCommand getLockCommand(Integer taskNo, Boolean lock) { HashMap<String, Object> body = new HashMap<>(); body.put("messageName", "lifterOperation"); @@ -424,6 +454,7 @@ } //灏忚溅宸插埌浣�/宸查┒绂讳俊鍙� + @Override public LiftCommand getShuttleSignalCommand(Integer taskNo, Boolean signal) { HashMap<String, Object> body = new HashMap<>(); body.put("messageName", "lifterOperation"); @@ -439,4 +470,17 @@ return command; } + /** + * 鎵╁睍瀛楁 + */ + @Data + private class InnerLiftExtend { + + /** + * 鎻愬崌鏈洪攣瀹� + */ + private Boolean lock = false; + + } + } -- Gitblit v1.9.1