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/KernelService.java                 |   10 +++--
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java |   84 ++++++++++++++++++++++++------------------
 2 files changed, 54 insertions(+), 40 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java
index e4f74df..2d75205 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java
@@ -335,11 +335,13 @@
                 motion.setReleaseLift(target.getReleaseLift());
             }
 
-            List<NavigateNode> nodeList = navigateUtils.calc(motion.getOrigin(), motion.getTarget(), NavigationMapType.NONE_LOCK.id, Utils.getShuttlePoints(Integer.parseInt(target.getShuttleDevice().getDeviceNo()), Utils.getLev(motion.getTarget())));
-            if (nodeList == null) {
-                throw new CoolException(motion.getOrigin() + " dash " + motion.getTarget() + " can't find navigate path!");
+            if (motion.getOrigin() != null && motion.getTarget() != null) {
+                List<NavigateNode> nodeList = navigateUtils.calc(motion.getOrigin(), motion.getTarget(), NavigationMapType.NONE_LOCK.id, Utils.getShuttlePoints(Integer.parseInt(target.getShuttleDevice().getDeviceNo()), Utils.getLev(motion.getTarget())));
+                if (nodeList == null) {
+                    throw new CoolException(motion.getOrigin() + " dash " + motion.getTarget() + " can't find navigate path!");
+                }
+                motion.setMovePath(JSON.toJSONString(nodeList));
             }
-            motion.setMovePath(JSON.toJSONString(nodeList));
 
         }));
 
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