From a079fff1e7bae25a5e29f73709b8e9972216f7ef Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 21 一月 2025 15:20:29 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java |   12 ++++++++++++
 1 files changed, 12 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..fb3e5b4 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,15 @@
         return null;
     }
 
+    @Override
+    public int getBackpackRemainingCapacity(Long agvId) {
+        Integer usedSlots = CoreCache.AGV_BACKPACK_USED_CACHE.get(agvId);
+        if (null == usedSlots) {
+            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