自动化立体仓库 - WCS系统
Junjie
2023-07-18 35c3d65ff0926fc7516c8f26c08c63b807806e3a
RgvNode增加任务号
3个文件已修改
20 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/RgvNode.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/utils/RgvUtils.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/RgvNode.java
@@ -11,6 +11,8 @@
    private Integer rgvNo = 0;//RGV号
    private Integer wrkNo = 0;//任务号
    public RgvNode(Integer path) {
        this.path = path;
    }
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -647,7 +647,7 @@
                            continue;
                        }
                        //行走路径空闲,锁定路径
                        RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), true);
                        RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true);
                        //  命令下发区 --------------------------------------------------------------------------
                        RgvCommand rgvCommand = new RgvCommand();
@@ -693,7 +693,7 @@
                            continue;
                        }
                        //行走路径空闲,锁定路径
                        RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), true);
                        RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true);
                        //  命令下发区 --------------------------------------------------------------------------
                        RgvCommand rgvCommand = new RgvCommand();
@@ -736,7 +736,7 @@
                            continue;
                        }
                        //行走路径空闲,锁定路径
                        RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), true);
                        RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true);
                        //  命令下发区 --------------------------------------------------------------------------
                        RgvCommand rgvCommand = new RgvCommand();
@@ -782,7 +782,7 @@
                            continue;
                        }
                        //行走路径空闲,锁定路径
                        RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), true);
                        RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true);
                        //  命令下发区 --------------------------------------------------------------------------
                        RgvCommand rgvCommand = new RgvCommand();
src/main/java/com/zy/common/utils/RgvUtils.java
@@ -39,13 +39,13 @@
    }
    //锁定/解锁路径
    public static void lockPath(Integer startPath, Integer endPath, Integer rgvNo, boolean lock) {
    public static void lockPath(Integer startPath, Integer endPath, Integer rgvNo, Integer wrkNo, boolean lock) {
        List<RgvNode> pathList = getPathList(startPath, endPath);//通过起点和目标点获取行走路径
        lockPath(pathList, rgvNo, lock);
        lockPath(pathList, rgvNo, wrkNo, lock);
    }
    //锁定/解锁路径
    public static void lockPath(List<RgvNode> pathList, Integer rgvNo, boolean lock) {
    public static void lockPath(List<RgvNode> pathList, Integer rgvNo, Integer wrkNo, boolean lock) {
        RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
        Object data = redisUtil.get("rgv_map");
        List<RgvNode> rgvNodes = JSON.parseArray(data.toString(), RgvNode.class);//实时地图
@@ -59,10 +59,12 @@
                //路径相同
                if (lock) {
                    rgvNode.setLock(true);//锁定
                    rgvNode.setRgvNo(rgvNo);
                    rgvNode.setRgvNo(rgvNo);//RGV号
                    rgvNode.setWrkNo(wrkNo);//工作号
                } else {
                    rgvNode.setLock(false);//解锁
                    rgvNode.setRgvNo(0);
                    rgvNode.setRgvNo(0);
                }
            }
        }