From 74be59f7ae8fe0a4435dc0b532e9a5ba32ab56de Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 11 四月 2024 22:13:04 +0800
Subject: [PATCH] Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 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 515b53e..f3e2a32 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
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.wcs.common.ExecuteSupport;
 import com.zy.asrs.wcs.core.entity.BasShuttle;
 import com.zy.asrs.wcs.core.entity.Loc;
 import com.zy.asrs.wcs.core.entity.Task;
@@ -11,6 +12,7 @@
 import com.zy.asrs.wcs.core.model.command.ShuttleCommand;
 import com.zy.asrs.wcs.core.model.command.ShuttleRedisCommand;
 import com.zy.asrs.wcs.core.model.enums.ShuttleCommandModeType;
+import com.zy.asrs.wcs.core.model.enums.ShuttleTaskModeType;
 import com.zy.asrs.wcs.core.service.BasShuttleService;
 import com.zy.asrs.wcs.core.service.LocService;
 import com.zy.asrs.wcs.core.utils.NavigateMapUtils;
@@ -64,12 +66,17 @@
         redisCommand.setAssignCommand(assignCommand);//鍛戒护
         //浠诲姟鏁版嵁淇濆瓨鍒皉edis
         if (redisUtil.set(DeviceRedisConstant.SHUTTLE_WORK_FLAG + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand))) {
-            //涓嬪彂琛岄┒璺緞
-            boolean result = shuttleThread.movePath(assignCommand.getNodes(), assignCommand.getTaskNo().intValue());
-            if (!result) {
-                return false;
+            if (assignCommand.getTaskMode() == ShuttleTaskModeType.PAK_IN.id
+                    || assignCommand.getTaskMode() == ShuttleTaskModeType.PAK_OUT.id
+                    || assignCommand.getTaskMode() == ShuttleTaskModeType.MOVE_LOC_NO.id
+                    || assignCommand.getTaskMode() == ShuttleTaskModeType.SHUTTLE_MOVE_LOC_NO.id) {
+                //涓嬪彂琛岄┒璺緞
+                boolean result = shuttleThread.movePath(assignCommand.getNodes(), assignCommand.getTaskNo());
+                if (!result) {
+                    return false;
+                }
             }
-            shuttleProtocol.setTaskNo(assignCommand.getTaskNo().intValue());
+            shuttleProtocol.setTaskNo(assignCommand.getTaskNo());
             return true;
         }
         return false;
@@ -96,7 +103,9 @@
         }
 
         //鍒ゆ柇璁惧鏄惁绌洪棽
-        if (!shuttleThread.isIdle()) {
+        if (!shuttleThread.isIdle(() -> {
+            return shuttleProtocol.getTaskNo().equals(taskNo);
+        })) {
             return false;
         }
 

--
Gitblit v1.9.1