#
vincentlu
2025-01-20 780b249bc5089d29f71e1e3f677bec38e7f8e8c9
#
2个文件已修改
1个文件已添加
25 ■■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/cache/CoreCache.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/cache/CoreCache.java
New file
@@ -0,0 +1,10 @@
package com.zy.acs.manager.core.cache;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class CoreCache {
    public static final Map<Long, Integer> AGV_BACKPACK_CACHE = new ConcurrentHashMap<>();
}
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvService.java
@@ -38,4 +38,6 @@
    Agv findByPosition(Long codeId);
    int getBackpackRemainingCapacity(Long agvId);
}
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java
@@ -9,6 +9,7 @@
import com.zy.acs.manager.common.domain.BaseParam;
import com.zy.acs.manager.common.domain.PageParam;
import com.zy.acs.manager.common.domain.PageResult;
import com.zy.acs.manager.core.cache.CoreCache;
import com.zy.acs.manager.core.domain.VehicleDto;
import com.zy.acs.manager.manager.controller.result.AgvResult;
import com.zy.acs.manager.manager.entity.Agv;
@@ -207,4 +208,16 @@
        return null;
    }
    @Override
    public int getBackpackRemainingCapacity(Long agvId) {
        int usedSlots = 0;
        Integer backpackCache = CoreCache.AGV_BACKPACK_CACHE.get(agvId);
        if (null != backpackCache) {
            usedSlots = taskService.findTransportTasksCountByAgv(agvId);
        }
        AgvModel agvModel = agvModelService.getByAgvId(agvId);
        return Math.max(agvModel.getBackpack() - usedSlots, 0); // if less than zero, then return zero
    }
}