From 3644989d8aa96bcb5ac837f6c79dff4de5f83736 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 21 四月 2025 16:35:11 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java |   31 ++++++++++++++++++++++++++-----
 1 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java
index 0b99ab5..0e5f8c9 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java
@@ -117,6 +117,11 @@
                 if (deviceStatus == 255) {
                     //绂荤嚎
                     shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE);
+                }else if (deviceStatus == 3) {
+                    //灏辩华鐘舵�佷笖绂荤嚎
+                    if (shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.OFFLINE)) {
+                        shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
+                    }
                 }
 
                 if(deviceStatus != 4 || deviceStatus != 6 || deviceStatus != 7 || deviceStatus != 8 || deviceStatus != 255 || deviceStatus != -1) {
@@ -127,7 +132,7 @@
                 //褰撳墠浜岀淮鐮�
                 shuttleProtocol.setCurrentCode(data.getString("groundCode") == null ? "0" : data.getString("groundCode"));
                 //鐢垫睜鐢甸噺
-                shuttleProtocol.setBatteryPower(data.getString("battery") == null ? "0%" : data.getString("battery"));
+                shuttleProtocol.setBatteryPower(data.getString("battery") == null ? "0" : data.getString("battery"));
                 //鏁呴殰
                 shuttleProtocol.setErrorCode(deviceStatus == 6 ? "1" : "0");
 
@@ -549,7 +554,7 @@
                 if (shuttleService == null) {
                     return false;
                 }
-                BasShuttle basShuttle = shuttleService.getById(this.device.getDeviceNo());
+                BasShuttle basShuttle = shuttleService.getOne(new LambdaQueryWrapper<BasShuttle>().eq(BasShuttle::getDeviceId, this.device.getId()));
                 if (basShuttle == null) {
                     return false;
                 }
@@ -641,6 +646,11 @@
             case SHUTTLE_MOVE_DOWN_PALLET://绌挎杞︾Щ鍔ㄥ苟鎵樼洏涓嬮檷
             case SHUTTLE_MOVE_FROM_LIFT://鍑烘彁鍗囨満
             case SHUTTLE_MOVE_TO_LIFT://杩涙彁鍗囨満
+            case SHUTTLE_PALLET_LIFT://鎵樼洏椤跺崌
+            case SHUTTLE_PALLET_DOWN://鎵樼洏涓嬮檷
+            case SHUTTLE_CHARGE_ON://鍏呯數寮�
+            case SHUTTLE_CHARGE_OFF://鍏呯數鍏�
+            case SHUTTLE_MOVE_STANDBY://绌挎杞︾Щ鍔ㄥ埌寰呮満浣�
                 return deviceTaskNo;
             default:
                 return taskNo;
@@ -729,11 +739,13 @@
 
     @Override
     public ShuttleCommand getLiftCommand(Integer taskNo, Boolean lift) {
+        int deviceTaskNo = this.generateDeviceTaskNo(taskNo, lift ? MotionCtgType.SHUTTLE_PALLET_LIFT : MotionCtgType.SHUTTLE_PALLET_DOWN);
+
         HashMap<String, Object> body = new HashMap<>();
         body.put("messageName", "actionOrder");
         body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
         body.put("deviceNo", Integer.parseInt(this.device.getDeviceNo()));
-        body.put("taskId", taskNo);
+        body.put("taskId", deviceTaskNo);
         body.put("action", lift ? 1 : 2);
 
         ShuttleCommand command = new ShuttleCommand();
@@ -745,11 +757,13 @@
 
     @Override
     public ShuttleCommand getChargeCommand(Integer taskNo, Boolean charge) {
+        int deviceTaskNo = this.generateDeviceTaskNo(taskNo, charge ? MotionCtgType.SHUTTLE_CHARGE_ON : MotionCtgType.SHUTTLE_CHARGE_OFF);
+
         HashMap<String, Object> body = new HashMap<>();
         body.put("messageName", "runOrder");
         body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
         body.put("deviceNo", Integer.parseInt(this.device.getDeviceNo()));
-        body.put("taskId", taskNo);
+        body.put("taskId", deviceTaskNo);
         body.put("action", charge ? 3 : 4);
 
         ShuttleCommand command = new ShuttleCommand();
@@ -781,6 +795,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");
@@ -794,7 +813,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