#
gtsxc
2024-12-10 f23549bc50ae4d489c37d68c0f3b1456b7156ea8
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();
                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();
                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();
                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();
                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();
                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,6 +374,7 @@
                shuttleCommands = this.shuttleAssignCommand(motion.getOrigin(), shuttleFromLiftStandbyLoc, NavigationMapType.NORMAL.id, assignCommand, shuttleThread);
                movePath = motion.getMovePath();
                if (!Cools.isEmpty(movePath)) {
                originPath = JSON.parseArray(movePath, NavigateNode.class);
                finalPath = assignCommand.getNodes();
                similarity = navigateUtils.similarityPath(originPath, finalPath);
@@ -371,6 +382,7 @@
                    News.error("{} dash {} path similarity mismatch!", motion.getOrigin(), motion.getTarget());
                    return false;
                }
                }
                //更新动作可用待机位
                motion.setTarget(shuttleFromLiftStandbyLoc);