From 594309532fecd0f75c72752885ab93a8a56e5b9b Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 14 十月 2025 14:56:38 +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