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