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