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