From b033217d3193b2f5ebabb43cce4c7cb2776df6ee Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期六, 10 一月 2026 13:23:38 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
index 0bbbe3d..c7933a3 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
@@ -45,7 +45,7 @@
     @Autowired
     private LocService locService;
     @Autowired
-    private LaneService laneService;
+    private LaneBuilder laneBuilder;
     @Autowired
     private AgvAreaDispatcher agvAreaDispatcher;
     @Autowired
@@ -175,7 +175,10 @@
         }
 
         // choose min number of running task
-        actualAvailableAgvNos.sort(Comparator.comparingInt(agvNo -> calcAllocateWeight(agvNo, task)));
+        actualAvailableAgvNos.sort((o1, o2) -> Integer.compare(
+                calcAllocateWeight(o2, task),
+                calcAllocateWeight(o1, task)
+        ));
 
         if (null != originLane) {
             task.setOriLaneHash(originLane.getHashCode());
@@ -225,8 +228,8 @@
 
             // has enough backpack space to load
             Integer backpack = agvService.getBackpack(agvId);
-            int countRemainingBackpack = segmentService.countRemainingBackpack(null, agvId);
-            if (countRemainingBackpack >= backpack) {
+            List<Integer> usedBackpacks = segmentService.selectUsedBackpacks(null, agvId);
+            if (usedBackpacks.size() >= backpack) {
                 continue;
             }
 
@@ -409,7 +412,7 @@
     }
 
     public Boolean validCapacityOfLane(String agvNo, Code code) {
-        Lane lane = laneService.search(code.getData());
+        Lane lane = laneBuilder.search(code.getData());
         if (null != lane) {
             Integer maxAgvCountInLane = configService.getVal("maxAgvCountInLane", Integer.class);
 

--
Gitblit v1.9.1