From 780b249bc5089d29f71e1e3f677bec38e7f8e8c9 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 20 一月 2025 10:56:14 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java
index b9d13d7..ef2bd79 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java
+++ b/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
+    }
+
 }

--
Gitblit v1.9.1