From a9b98ef2b0af7a4a830a2a4d3320d42e2779b152 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 16 十月 2024 10:02:43 +0800
Subject: [PATCH] #出库待机位自动搜索
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java | 38 ++++++++++++++++++++++++++++++++++++--
1 files changed, 36 insertions(+), 2 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 9a7d6ab..87c894a 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
@@ -16,6 +16,7 @@
import com.zy.asrs.wcs.core.service.BasLiftService;
import com.zy.asrs.wcs.rcs.News;
import com.zy.asrs.wcs.rcs.cache.OutputQueue;
+import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant;
import com.zy.asrs.wcs.rcs.entity.DeviceDataLog;
import com.zy.asrs.wcs.rcs.model.enums.LiftProtocolStatusType;
import com.zy.asrs.wcs.rcs.model.protocol.LiftProtocol;
@@ -92,8 +93,13 @@
//----------璇诲彇鎻愬崌鏈虹姸鎬�-----------
//妯″紡
liftProtocol.setModel(true);
+
+ boolean runningState = data.getInteger("runningState") == 1;
+ if (!data.getInteger("completeTaskNo").equals(data.getInteger("taskNo"))) {
+ runningState = true;//宸ヤ綔鍙蜂笉涓�鑷达紝璁や负澶勪簬杩愯涓�
+ }
//杩愯鐘舵��
- liftProtocol.setRun(data.getInteger("runningState") == 1);
+ liftProtocol.setRun(runningState);
//灏辩华鐘舵��
liftProtocol.setReady(data.getInteger("readyState") == 1);
//鏈夋墭鐩�
@@ -104,6 +110,8 @@
liftProtocol.setErrorCode("0");
//灞�
liftProtocol.setLev(data.getInteger("curFloor"));
+ //宸插畬鎴愮殑浠诲姟鍙�
+ liftProtocol.setCompleteTaskNo(data.getString("completeTaskNo"));
//************琛ュ厖鎵╁睍瀛楁*************
@@ -381,7 +389,11 @@
switch (Objects.requireNonNull(MotionCtgType.get(String.valueOf(flag)))){
case SHUTTLE_MOVE_FROM_LIFT://绌挎杞﹀嚭鎻愬崌鏈�
case SHUTTLE_MOVE_TO_LIFT://绌挎杞﹁繘鎻愬崌鏈�
+ case LIFT_SHUTTLE_ARRIVAL://鎻愬崌鏈鸿В閿�
return isIdleShuttleMoveToLift();
+ case LIFT_LOCK://鎻愬崌鏈洪攣瀹�
+ case LIFT_UNLOCK://鎻愬崌鏈鸿В閿�
+ return isIdleLiftLock();
}
return false;
@@ -404,6 +416,21 @@
return false;
}
}
+ return true;
+ }
+ return false;
+ }
+
+ //鎻愬崌鏈洪攣瀹�-鎻愬崌鏈虹姸鎬佸垽鏂�
+ private boolean isIdleLiftLock() {
+ // 鍒ゆ柇鎻愬崌鏈烘槸鍚﹁嚜鍔ㄣ�佸氨缁�佺┖闂�
+ if (this.liftProtocol.getModel()
+ && !this.liftProtocol.getRun()
+ && this.liftProtocol.getPakMk()
+ && this.liftProtocol.getErrorCode().equals("0")
+ && (this.liftProtocol.getProtocolStatusType().equals(LiftProtocolStatusType.IDLE)
+ || this.liftProtocol.getProtocolStatusType().equals(LiftProtocolStatusType.WAITING))
+ ) {
return true;
}
return false;
@@ -462,6 +489,11 @@
//璇锋眰鐧诲綍
private String requestLoginToken() {
try {
+ Object redisToken = redisUtil.get(DeviceRedisConstant.RDS_LOGIN_TOKEN);
+ if(redisToken != null) {
+ return redisToken.toString();
+ }
+
HashMap<String, Object> param = new HashMap<>();
param.put("username", "admin");
param.put("password", "admin123");
@@ -475,7 +507,9 @@
JSONObject jsonObject = JSON.parseObject(response);
Integer code = jsonObject.getInteger("code");
if (code.equals(200)) {
- return jsonObject.getString("token");
+ String token = jsonObject.getString("token");
+ redisUtil.set(DeviceRedisConstant.RDS_LOGIN_TOKEN, token, 60 * 15);
+ return token;
}
} catch (Exception e) {
e.printStackTrace();
--
Gitblit v1.9.1