#
gtsxc
2024-12-10 f23549bc50ae4d489c37d68c0f3b1456b7156ea8
#
2个文件已修改
94 ■■■■■ 已修改文件
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/ShuttleCommandService.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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));
        }));
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;
                    }
                }
                //更新动作可用待机位