自动化立体仓库 - WCS系统
Junjie
2024-11-22 b1aa89d5cc6058a04a848f5d6973f581757eed3f
src/main/java/com/zy/common/utils/NyShuttleOperaUtils.java
@@ -22,7 +22,7 @@
     * @param startPoint 起点(小车当前位置)
     * @param targetPoint 目标点(货物目标位置)
     */
    public static NyShuttleOperaResult getShuttleTransportCommands(Integer shuttleNo, Integer wrkNo, String startPoint, String targetPoint) {
    public static synchronized NyShuttleOperaResult getShuttleTransportCommands(Integer shuttleNo, Integer wrkNo, String startPoint, String targetPoint) {
        //行走路径
        ArrayList<NavigateNode> nodes = new ArrayList<>();
        //命令集合
@@ -51,7 +51,7 @@
     * @param middlePoint 中间点(货物位置)
     * @param targetPoint 目标点(货物目标位置)
     */
    public static NyShuttleOperaResult getShuttleTransportCommands(Integer shuttleNo, Integer wrkNo, String startPoint, String middlePoint, String targetPoint) {
    public static synchronized NyShuttleOperaResult getShuttleTransportCommands(Integer shuttleNo, Integer wrkNo, String startPoint, String middlePoint, String targetPoint) {
        //行走路径
        ArrayList<NavigateNode> nodes = new ArrayList<>();
        //命令集合
@@ -86,7 +86,7 @@
    /**
     * 获取起点到目标点行走命令
     */
    public static NyShuttleOperaResult getStartToTargetCommands(Integer shuttleNo, Integer wrkNo, String startPoint, String targetPoint, Integer mapType) {
    public static synchronized NyShuttleOperaResult getStartToTargetCommands(Integer shuttleNo, Integer wrkNo, String startPoint, String targetPoint, Integer mapType) {
        NavigateMapUtils navigateMapUtils = SpringUtils.getBean(NavigateMapUtils.class);
        //计算起点到目标点行走节点
        List<NavigateNode> calc = NavigateUtils.calc(startPoint, targetPoint, mapType, Utils.getShuttlePoints(shuttleNo, Utils.getLev(startPoint)), null);
@@ -114,7 +114,7 @@
            allNode.addAll(nodes);
        }
        boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(startPoint), allNode, true);//锁定路径
        boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(startPoint), shuttleNo, allNode, true);//锁定路径
        if (!result) {
            return null;//路径锁定失败
        }
@@ -124,7 +124,7 @@
    /**
     * 获取起点到目标点行走命令(可传白名单)
     */
    public static NyShuttleOperaResult getStartToTargetCommandsByWhites(Integer shuttleNo, Integer wrkNo, String startPoint, String targetPoint, Integer mapType, List<int[]> whites) {
    public static synchronized NyShuttleOperaResult getStartToTargetCommandsByWhites(Integer shuttleNo, Integer wrkNo, String startPoint, String targetPoint, Integer mapType, List<int[]> whites) {
        NavigateMapUtils navigateMapUtils = SpringUtils.getBean(NavigateMapUtils.class);
        //计算起点到目标点行走节点
        List<NavigateNode> calc = NavigateUtils.calc(startPoint, targetPoint, mapType, Utils.getShuttlePoints(shuttleNo, Utils.getLev(startPoint)), whites);
@@ -167,7 +167,7 @@
                nodes.add(node);
            }
        }
        boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(startPoint), nodes, true);//锁定路径
        boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(startPoint), shuttleNo, nodes, true);//锁定路径
        if (!result) {
            return null;//路径锁定失败
        }