From 2f0c77e7d871a1119d6cb143721bd920a6850e93 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 27 三月 2025 09:59:40 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java |   35 ++++++++++++++++++++++-------------
 1 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
index af26b61..4ef5050 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
@@ -4,6 +4,7 @@
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.framework.common.SnowflakeIdWorker;
 import com.zy.acs.manager.common.domain.TaskDto;
+import com.zy.acs.manager.core.constant.AgvGroupConstant;
 import com.zy.acs.manager.core.constant.LocGroupConstant;
 import com.zy.acs.manager.core.domain.AgvTaskDto;
 import com.zy.acs.manager.core.service.MainLockWrapService;
@@ -224,25 +225,33 @@
     private void autoLocToLoc() {
         if (!configService.getVal("TaskAssignMode", Boolean.class)) { return; }
 
-        this.runLocToLoc(Collections.min(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST), Collections.max(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST));
-        this.runLocToLoc(Collections.min(LocGroupConstant.LEFT_LOC_ROW_LIST), Collections.max(LocGroupConstant.LEFT_LOC_ROW_LIST));
-        this.runLocToLoc(Collections.min(LocGroupConstant.MIDDLE_LOC_ROW_LIST), Collections.max(LocGroupConstant.MIDDLE_LOC_ROW_LIST));
-        this.runLocToLoc(Collections.min(LocGroupConstant.RIGHT_LOC_ROW_LIST), Collections.max(LocGroupConstant.RIGHT_LOC_ROW_LIST));
-        this.runLocToLoc(Collections.min(LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST), Collections.max(LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST));
+        this.runLocToLoc(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST, AgvGroupConstant.FIRST_AGV_GROUP);
+        this.runLocToLoc(LocGroupConstant.LEFT_LOC_ROW_LIST, AgvGroupConstant.SECOND_AGV_GROUP);
+        this.runLocToLoc(LocGroupConstant.MIDDLE_LOC_ROW_LIST, AgvGroupConstant.THIRD_AGV_GROUP);
+        this.runLocToLoc(LocGroupConstant.RIGHT_LOC_ROW_LIST, AgvGroupConstant.FOURTH_AGV_GROUP);
+        this.runLocToLoc(LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST, AgvGroupConstant.FIFTH_AGV_GROUP);
     }
 
-    private void runLocToLoc(Integer startRow, Integer endRow) {
-        // 鏈�澶氫袱缁刡us杩愯
-//        if (1 < busService.count(new LambdaQueryWrapper<Bus>().in(Bus::getBusSts, BusStsType.RECEIVE.val(), BusStsType.PROGRESS.val()))) {
-//            return;
-//        }
+    private void runLocToLoc(List<Integer> locGroupList, List<String> agvGroupList) {
+        Integer startRow = Collections.min(locGroupList);
+        Integer endRow = Collections.max(locGroupList);
 
-//        int agvCount = agvService.count(new LambdaQueryWrapper<Agv>().eq(Agv::getStatus, StatusType.ENABLE.val));
+        String memo = "DEMO_" + startRow + "-" + endRow;
+
+        int agvCount = agvGroupList.size();
+
+        // 鏈�澶� ? 缁刡us杩愯
+        if (agvCount <= busService.count(new LambdaQueryWrapper<Bus>()
+                .in(Bus::getBusSts, BusStsType.RECEIVE.val(), BusStsType.PROGRESS.val())
+                .eq(Bus::getMemo, memo)
+        )) {
+            return;
+        }
+
         AgvModel agvModel = agvModelService.getOne(new LambdaQueryWrapper<AgvModel>().eq(AgvModel::getType, AgvModelType.CTU_BOX_TRANSPORT_AGV.toString()));
         if (null == agvModel) {
             return;
         }
-//        int maxCapacity = agvModel.getBackpack() * agvCount;
         int maxCapacity = agvModel.getBackpack();
 
         // STOCK
@@ -286,7 +295,7 @@
             param.getTaskList().add(taskDto);
         }
 
-        mainService.generateBusAndTask(param, "autoLocToLoc");
+        mainService.generateBusAndTask(param, memo);
     }
 
 }

--
Gitblit v1.9.1