From 99a13ac3e2c52881577cbf4a69ccc17f349eeec7 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 17 四月 2024 09:22:12 +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