From 13c199274ed4d9b1f81880619867ee4d16b90dce Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期六, 13 四月 2024 10:32:42 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java        |   12 ++++++++++--
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java                 |   22 ++++++++++++----------
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java |   10 +++++-----
 3 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
index 44aad5b..00539d7 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java
@@ -151,10 +151,11 @@
                 // 鎵樼洏椤跺崌
                 //鍒ゆ柇鏄惁椤跺崌鍒颁綅
                 if (shuttleProtocol.getHasLift()) {
-                    //鍒ゆ柇鏄惁鏈夌墿
-                    if (shuttleProtocol.getHasPallet()) {
-                        command.setComplete(true);
-                    }
+                    command.setComplete(true);
+//                    //鍒ゆ柇鏄惁鏈夌墿
+//                    if (shuttleProtocol.getHasPallet()) {
+//                        command.setComplete(true);
+//                    }
                 }
             } else if (command.getMode() == ShuttleCommandModeType.PALLET_DOWN.id) {
                 // 鎵樼洏涓嬮檷鍛戒护
@@ -186,12 +187,12 @@
 
                 // 绯荤粺浠诲姟
                 if (assignCommand.getAuto()) {
-//                    if (!assignCommand.getCharge()) {
-//                        //瀵逛富绾跨▼鎶涘嚭绛夊緟纭鐘舵�亀aiting
-//                        shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WAITING);
-//                    }else {
-//                        shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING_WAITING);
-//                    }
+                    if (!assignCommand.getCharge()) {
+                        //瀵逛富绾跨▼鎶涘嚭绛夊緟纭鐘舵�亀aiting
+                        shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WAITING);
+                    }else {
+                        shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING_WAITING);
+                    }
                     News.info("鍥涘悜绌挎杞︿换鍔℃墽琛屼笅鍙戝畬鎴愮瓑寰呮墽琛岀粨鏉燂紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(command));
 
                     // 鎵嬪姩浠诲姟
@@ -220,6 +221,7 @@
             return false;
         }
 
+        shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WORKING);
         commandStep++;
         //鏇存柊redis鏁版嵁
         redisCommand.setCommandStep(commandStep);
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java
index 33e9853..df7c5af 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java
@@ -258,11 +258,11 @@
             return true;
         }
 
-//        if (!shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.WAITING)
-//            && !shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.CHARGING_WAITING)
-//        ) {
-//            return false;
-//        }
+        if (!shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.WAITING)
+            && !shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.CHARGING_WAITING)
+        ) {
+            return false;
+        }
 
         //鍒ゆ柇璁惧鏄惁绌洪棽
         if (!shuttleThread.isIdle()) {
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 9dedf44..fef474f 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
@@ -3,6 +3,8 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.zy.asrs.common.utils.HttpHandler;
 import com.zy.asrs.framework.common.DateUtils;
 import com.zy.asrs.framework.common.SpringUtils;
@@ -412,7 +414,7 @@
         boolean res = (this.shuttleProtocol.getDeviceStatus() == 3 || this.shuttleProtocol.getDeviceStatus() == 11)
                 && this.shuttleProtocol.getPakMk()
                 && this.shuttleProtocol.getErrorCode().equals("0")
-                && this.shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.IDLE.id
+                && (this.shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.IDLE.id || this.shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.WAITING.id)
                 ;
         return res;
     }
@@ -484,12 +486,18 @@
 
     @Override
     public List<NavigateNode> getMoveAdvancePath() {
+        ObjectMapper objectMapper = SpringUtils.getBean(ObjectMapper.class);
         ArrayList<NavigateNode> path = new ArrayList<>();
         if (shuttleProtocol.getTaskNo() != 0) {
             //瀛樺湪浠诲姟锛岃幏鍙栨寚浠�
             Object object = redisUtil.get(DeviceRedisConstant.SHUTTLE_WORK_FLAG + shuttleProtocol.getTaskNo());
             if (object != null) {
-                ShuttleRedisCommand redisCommand = JSON.parseObject(object.toString(), ShuttleRedisCommand.class);
+                ShuttleRedisCommand redisCommand = null;
+                try {
+                    redisCommand = objectMapper.readValue(String.valueOf(object), ShuttleRedisCommand.class);
+                } catch (JsonProcessingException e) {
+                    return path;
+                }
                 List<NavigateNode> nodes = redisCommand.getAssignCommand().getNodes();//绌挎杞﹂璁¤矾寰�
                 if (!nodes.isEmpty()) {
                     path.addAll(nodes);

--
Gitblit v1.9.1