From 85392bb7db247c4596d3fbf49c9e00cfd0e76a13 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 11 九月 2025 09:15:11 +0800
Subject: [PATCH] 1

---
 algo-zkd/src/main/java/com/algo/service/TaskAllocationService.java |   34 ++++++++++++++--------------------
 1 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/algo-zkd/src/main/java/com/algo/service/TaskAllocationService.java b/algo-zkd/src/main/java/com/algo/service/TaskAllocationService.java
index dbe8985..fd1946f 100644
--- a/algo-zkd/src/main/java/com/algo/service/TaskAllocationService.java
+++ b/algo-zkd/src/main/java/com/algo/service/TaskAllocationService.java
@@ -1,10 +1,12 @@
 package com.algo.service;
 
+import com.algo.config.EnvDataConfig;
 import com.algo.model.AGVStatus;
 import com.algo.model.BackpackData;
 import com.algo.model.TaskAssignment;
 import com.algo.model.TaskData;
 import com.algo.util.JsonUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
@@ -13,22 +15,14 @@
 /**
  * 浠诲姟鍒嗛厤鏈嶅姟绫�
  */
+@Service
 public class TaskAllocationService {
 
-    private Map<String, Map<String, Integer>> pathMapping;
-    private Map<String, Object> environmentConfig;
+    @Autowired
+    private EnvDataConfig envDataConfig;
 
-    /**
-     * 鏋勯�犲嚱鏁�
-     *
-     * @param pathMapping       璺緞鏄犲皠淇℃伅
-     * @param environmentConfig 鐜閰嶇疆淇℃伅
-     */
-    public TaskAllocationService(Map<String, Map<String, Integer>> pathMapping,
-                                 Map<String, Object> environmentConfig) {
-        this.pathMapping = pathMapping;
-        this.environmentConfig = environmentConfig;
-    }
+
+
 
     /**
      * 鎵ц浠诲姟鍒嗛厤
@@ -42,9 +36,9 @@
         System.out.println("寮�濮嬩换鍔″垎閰嶏紝AGV鏁伴噺: " + agvStatusList.size() + ", 浠诲姟鏁伴噺: " + taskList.size());
 
         // 杈撳嚭鐜淇℃伅
-        System.out.println("鐜淇℃伅锛氬搴�=" + environmentConfig.get("width") +
-                ", 楂樺害=" + environmentConfig.get("height") +
-                ", 宸ヤ綔绔欐暟閲�=" + environmentConfig.get("stationCount"));
+        System.out.println("鐜淇℃伅锛氬搴�=" + envDataConfig.getEnvironmentConfig().get("width") +
+                ", 楂樺害=" + envDataConfig.getEnvironmentConfig().get("height") +
+                ", 宸ヤ綔绔欐暟閲�=" + envDataConfig.getEnvironmentConfig().get("stationCount"));
 
         List<TaskAssignment> assignments = new ArrayList<>();
 
@@ -109,8 +103,8 @@
             System.out.println("澶勭悊璧风偣 " + startLocation + " 鐨勪换鍔★紝鏁伴噺: " + locationTasks.size());
 
             // 妫�鏌ユ槸鍚︿负宸ヤ綔绔�
-            if (JsonUtils.isStation(startLocation, environmentConfig)) {
-                Map<String, Object> stationInfo = JsonUtils.getStationInfo(startLocation, environmentConfig);
+            if (JsonUtils.isStation(startLocation, envDataConfig.getEnvironmentConfig())) {
+                Map<String, Object> stationInfo = JsonUtils.getStationInfo(startLocation, envDataConfig.getEnvironmentConfig());
                 if (stationInfo != null) {
                     Integer capacity = (Integer) stationInfo.get("capacity");
                     System.out.println("宸ヤ綔绔� " + startLocation + " 瀹归噺: " + capacity);
@@ -203,7 +197,7 @@
         AGVStatus bestAgv = null;
         double minDistance = Double.MAX_VALUE;
 
-        int[] targetCoord = JsonUtils.getCoordinate(targetLocation, pathMapping);
+        int[] targetCoord = JsonUtils.getCoordinate(targetLocation, envDataConfig.getPathMapping());
         if (targetCoord == null) {
             System.out.println("鏃犳硶鑾峰彇鐩爣浣嶇疆 " + targetLocation + " 鐨勫潗鏍�");
             return availableAgvs.isEmpty() ? null : availableAgvs.get(0);
@@ -216,7 +210,7 @@
                 continue;
             }
 
-            int[] agvCoord = JsonUtils.getCoordinate(agv.getPosition(), pathMapping);
+            int[] agvCoord = JsonUtils.getCoordinate(agv.getPosition(), envDataConfig.getPathMapping());
             if (agvCoord != null) {
                 double distance = JsonUtils.calculateManhattanDistance(agvCoord, targetCoord);
 

--
Gitblit v1.9.1