From f23549bc50ae4d489c37d68c0f3b1456b7156ea8 Mon Sep 17 00:00:00 2001
From: gtsxc <3272660260@qq.com>
Date: 星期二, 10 十二月 2024 16:06:31 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java |   84 ++++++++++++++++++++++++------------------
 1 files changed, 48 insertions(+), 36 deletions(-)

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 f595685..d484864 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
@@ -147,12 +147,14 @@
                 shuttleTaskModeType = ShuttleTaskModeType.SHUTTLE_MOVE;
 
                 movePath = motion.getMovePath();
-                originPath = JSON.parseArray(movePath, NavigateNode.class);
-                finalPath = assignCommand.getNodes();
-                similarity = navigateUtils.similarityPath(originPath, finalPath);
-                if(similarity <= similarityRef) {
-                    News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
-                    return false;
+                if (!Cools.isEmpty(movePath)) {
+                    originPath = JSON.parseArray(movePath, NavigateNode.class);
+                    finalPath = assignCommand.getNodes();
+                    similarity = navigateUtils.similarityPath(originPath, finalPath);
+                    if(similarity <= similarityRef) {
+                        News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
+                        return false;
+                    }
                 }
 
                 break;
@@ -167,12 +169,14 @@
                 shuttleTaskModeType = ShuttleTaskModeType.TRANSPORT;
 
                 movePath = motion.getMovePath();
-                originPath = JSON.parseArray(movePath, NavigateNode.class);
-                finalPath = assignCommand.getNodes();
-                similarity = navigateUtils.similarityPath(originPath, finalPath);
-                if(similarity <= similarityRef) {
-                    News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
-                    return false;
+                if (!Cools.isEmpty(movePath)) {
+                    originPath = JSON.parseArray(movePath, NavigateNode.class);
+                    finalPath = assignCommand.getNodes();
+                    similarity = navigateUtils.similarityPath(originPath, finalPath);
+                    if(similarity <= similarityRef) {
+                        News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
+                        return false;
+                    }
                 }
 
                 if (motion.getReleaseLift() == 2) {//鎵ц涓噴鏀炬彁鍗囨満
@@ -217,12 +221,14 @@
                 shuttleTaskModeType = ShuttleTaskModeType.TRANSPORT_TO_CONVEYOR;
 
                 movePath = motion.getMovePath();
-                originPath = JSON.parseArray(movePath, NavigateNode.class);
-                finalPath = assignCommand.getNodes();
-                similarity = navigateUtils.similarityPath(originPath, finalPath);
-                if(similarity <= similarityRef) {
-                    News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
-                    return false;
+                if (!Cools.isEmpty(movePath)) {
+                    originPath = JSON.parseArray(movePath, NavigateNode.class);
+                    finalPath = assignCommand.getNodes();
+                    similarity = navigateUtils.similarityPath(originPath, finalPath);
+                    if(similarity <= similarityRef) {
+                        News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
+                        return false;
+                    }
                 }
 
                 break;
@@ -231,12 +237,14 @@
                 shuttleTaskModeType = ShuttleTaskModeType.MOVE_PALLET_LIFT;
 
                 movePath = motion.getMovePath();
-                originPath = JSON.parseArray(movePath, NavigateNode.class);
-                finalPath = assignCommand.getNodes();
-                similarity = navigateUtils.similarityPath(originPath, finalPath);
-                if(similarity <= similarityRef) {
-                    News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
-                    return false;
+                if (!Cools.isEmpty(movePath)) {
+                    originPath = JSON.parseArray(movePath, NavigateNode.class);
+                    finalPath = assignCommand.getNodes();
+                    similarity = navigateUtils.similarityPath(originPath, finalPath);
+                    if(similarity <= similarityRef) {
+                        News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
+                        return false;
+                    }
                 }
 
                 shuttleCommands.add(0, shuttleThread.getLiftCommand(motion.getTaskNo(), true));
@@ -246,12 +254,14 @@
                 shuttleTaskModeType = ShuttleTaskModeType.MOVE_PALLET_DOWN;
 
                 movePath = motion.getMovePath();
-                originPath = JSON.parseArray(movePath, NavigateNode.class);
-                finalPath = assignCommand.getNodes();
-                similarity = navigateUtils.similarityPath(originPath, finalPath);
-                if(similarity <= similarityRef) {
-                    News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
-                    return false;
+                if (!Cools.isEmpty(movePath)) {
+                    originPath = JSON.parseArray(movePath, NavigateNode.class);
+                    finalPath = assignCommand.getNodes();
+                    similarity = navigateUtils.similarityPath(originPath, finalPath);
+                    if(similarity <= similarityRef) {
+                        News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
+                        return false;
+                    }
                 }
 
                 shuttleCommands.add(shuttleCommands.size(), shuttleThread.getLiftCommand(motion.getTaskNo(), false));
@@ -364,12 +374,14 @@
                 shuttleCommands = this.shuttleAssignCommand(motion.getOrigin(), shuttleFromLiftStandbyLoc, NavigationMapType.NORMAL.id, assignCommand, shuttleThread);
 
                 movePath = motion.getMovePath();
-                originPath = JSON.parseArray(movePath, NavigateNode.class);
-                finalPath = assignCommand.getNodes();
-                similarity = navigateUtils.similarityPath(originPath, finalPath);
-                if(similarity <= similarityRef) {
-                    News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
-                    return false;
+                if (!Cools.isEmpty(movePath)) {
+                    originPath = JSON.parseArray(movePath, NavigateNode.class);
+                    finalPath = assignCommand.getNodes();
+                    similarity = navigateUtils.similarityPath(originPath, finalPath);
+                    if(similarity <= similarityRef) {
+                        News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
+                        return false;
+                    }
                 }
 
                 //鏇存柊鍔ㄤ綔鍙敤寰呮満浣�

--
Gitblit v1.9.1