自动化立体仓库 - WCS系统
Junjie
2023-07-14 d9248408fbaf28f25dfcf8e5ec3a5372e7a7c5a3
RGV路径解锁
2个文件已修改
17 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/utils/RgvUtils.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1794,6 +1794,9 @@
                    wrkMast1.setWrkSts(27L);//27.RGV放货完成
                }
                //解锁路径
                RgvUtils.unLockPath(wrkMast1.getRgvNo());
                wrkMast1.setModiTime(now);
                if (wrkMastMapper.updateById(wrkMast1) == 0) {
                    log.error("工位1修改工作档状态失败!!,工作号={}", wrkMast1.getWrkNo());
src/main/java/com/zy/common/utils/RgvUtils.java
@@ -68,6 +68,20 @@
        }
    }
    //解锁路径,通过RGV号进行解锁。注意:调用此方法会解锁RGV号对应车辆全部路径
    public static void unLockPath(Integer rgvNo) {
        RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
        Object data = redisUtil.get("rgv_map");
        List<RgvNode> rgvNodes = JSON.parseArray(data.toString(), RgvNode.class);//实时地图
        for (RgvNode rgvNode : rgvNodes) {//遍历实时地图
            if (rgvNode.getRgvNo().equals(rgvNo)) {
                //RGV号相同
                rgvNode.setLock(false);//解锁
                rgvNode.setRgvNo(0);
            }
        }
    }
    //通过起点和目标点获取行走路径
    public static List<RgvNode> getPathList(Integer startPath, Integer endPath) {
        int result = startPath - endPath;