#
vincentlu
2025-12-18 2de9e897274f93ef5e90eaa068ab8645dea2de39
#
2个文件已修改
20 ■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvAreaDispatcher.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvAreaDispatcher.java
@@ -79,4 +79,9 @@
        return areaGovernService.queryCodes(areaIds);
    }
    public Boolean isAgvExistsInAnyArea(Long agvId) {
        List<Long> agvIdsWithoutAreaAgv = areaAgvService.findAgvIdsWithoutAreaAgv();
        return !Cools.isEmpty(agvIdsWithoutAreaAgv) && agvIdsWithoutAreaAgv.contains(agvId);
    }
}
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java
@@ -41,7 +41,7 @@
    private ScheduledExecutorService scheduler = null;
    private List<String> CODE_DATA_CACHE = new ArrayList<>();
    private List<String> ALL_CODE_DATA_CACHE = new ArrayList<>();
    private List<String> LOC_CODE_DATA_CACHE = new ArrayList<>();
@@ -84,7 +84,7 @@
        }
        // init all code data
        List<Code> codeList = codeService.list(new LambdaQueryWrapper<Code>().eq(Code::getStatus, StatusType.ENABLE.val));
        this.CODE_DATA_CACHE = codeList.stream().map(Code::getData).distinct().collect(Collectors.toList());
        this.ALL_CODE_DATA_CACHE = codeList.stream().map(Code::getData).distinct().collect(Collectors.toList());
        // int all loc code data
        List<Code> locCodeList = codeService.getAllLocCode();
@@ -214,13 +214,16 @@
     * agv地图图标变化
     */
    public String getDestinationCode(String agvNo, AgvDetail agvDetail) {
        Code startCode = codeService.getCacheById(agvDetail.getRecentCode());
        Set<String> notInCodeSet = new HashSet<>();
        Long agvId = agvDetail.getAgvId();
//        Collections.shuffle(CODE_DATA_CACHE);
        List<String> codeList = agvAreaDispatcher.getCodesByAgvId(agvDetail.getAgvId());
        List<String> codeList = null;
        if (agvAreaDispatcher.isAgvExistsInAnyArea(agvId)) {
            codeList = agvAreaDispatcher.getCodesByAgvId(agvId);
        } else {
            codeList = ALL_CODE_DATA_CACHE;
        }
        Collections.shuffle(codeList);
        for (String endCodeData : codeList) {