From cd67e854d4715bc92a16dc7bffdbde7be1da9957 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 27 三月 2025 13:02:37 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/constant/AgvAreaDispatcher.java | 180 +++++++++++++++++++++++++-----------------------------------
1 files changed, 75 insertions(+), 105 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/constant/AgvAreaDispatcher.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/constant/AgvAreaDispatcher.java
index 530ee79..37bd109 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/constant/AgvAreaDispatcher.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/constant/AgvAreaDispatcher.java
@@ -1,20 +1,27 @@
package com.zy.acs.manager.core.constant;
-import org.springframework.stereotype.Component;
+import com.zy.acs.manager.manager.entity.Loc;
+import com.zy.acs.manager.manager.entity.Task;
+import com.zy.acs.manager.manager.service.LocService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import static com.zy.acs.manager.core.constant.AreaConstant.FAR_LEFT_AREA;
-import static com.zy.acs.manager.core.constant.AreaDisableConstant.FAR_LEFT_DISABLE_AREA;
+import static com.zy.acs.manager.core.constant.AreaConstant.*;
+import static com.zy.acs.manager.core.constant.AreaDisableConstant.*;
-@Component
+@Service
public class AgvAreaDispatcher {
public static final Map<String, List<String>> AGV_AREA = new ConcurrentHashMap<>();
public static final Map<String, List<String>> AGV_DISABLE_AREA = new ConcurrentHashMap<>();
+
+ @Autowired
+ private LocService locService;
@PostConstruct
public void init() {
@@ -23,112 +30,75 @@
}
public void initEnableArea() {
- AGV_AREA.put("1", FAR_LEFT_AREA);
- AGV_AREA.put("2", FAR_LEFT_AREA);
- AGV_AREA.put("3", FAR_LEFT_AREA);
- AGV_AREA.put("4", FAR_LEFT_AREA);
- AGV_AREA.put("5", FAR_LEFT_AREA);
- AGV_AREA.put("6", FAR_LEFT_AREA);
- AGV_AREA.put("7", FAR_LEFT_AREA);
- AGV_AREA.put("8", FAR_LEFT_AREA);
- AGV_AREA.put("9", FAR_LEFT_AREA);
- AGV_AREA.put("10", FAR_LEFT_AREA);
- AGV_AREA.put("11", FAR_LEFT_AREA);
- AGV_AREA.put("12", FAR_LEFT_AREA);
- AGV_AREA.put("13", FAR_LEFT_AREA);
- AGV_AREA.put("14", FAR_LEFT_AREA);
- AGV_AREA.put("15", FAR_LEFT_AREA);
- AGV_AREA.put("16", FAR_LEFT_AREA);
- AGV_AREA.put("17", FAR_LEFT_AREA);
- AGV_AREA.put("18", FAR_LEFT_AREA);
- AGV_AREA.put("19", FAR_LEFT_AREA);
- AGV_AREA.put("20", FAR_LEFT_AREA);
- AGV_AREA.put("21", FAR_LEFT_AREA);
- AGV_AREA.put("22", FAR_LEFT_AREA);
- AGV_AREA.put("23", FAR_LEFT_AREA);
- AGV_AREA.put("24", FAR_LEFT_AREA);
- AGV_AREA.put("25", FAR_LEFT_AREA);
- AGV_AREA.put("26", FAR_LEFT_AREA);
- AGV_AREA.put("27", FAR_LEFT_AREA);
- AGV_AREA.put("28", FAR_LEFT_AREA);
- AGV_AREA.put("29", FAR_LEFT_AREA);
- AGV_AREA.put("30", FAR_LEFT_AREA);
- AGV_AREA.put("31", FAR_LEFT_AREA);
- AGV_AREA.put("32", FAR_LEFT_AREA);
- AGV_AREA.put("33", FAR_LEFT_AREA);
- AGV_AREA.put("34", FAR_LEFT_AREA);
- AGV_AREA.put("35", FAR_LEFT_AREA);
- AGV_AREA.put("36", FAR_LEFT_AREA);
- AGV_AREA.put("37", FAR_LEFT_AREA);
- AGV_AREA.put("38", FAR_LEFT_AREA);
- AGV_AREA.put("39", FAR_LEFT_AREA);
- AGV_AREA.put("40", FAR_LEFT_AREA);
- AGV_AREA.put("41", FAR_LEFT_AREA);
- AGV_AREA.put("42", FAR_LEFT_AREA);
- AGV_AREA.put("43", FAR_LEFT_AREA);
- AGV_AREA.put("44", FAR_LEFT_AREA);
- AGV_AREA.put("45", FAR_LEFT_AREA);
- AGV_AREA.put("46", FAR_LEFT_AREA);
- AGV_AREA.put("47", FAR_LEFT_AREA);
- AGV_AREA.put("48", FAR_LEFT_AREA);
- AGV_AREA.put("49", FAR_LEFT_AREA);
- AGV_AREA.put("50", FAR_LEFT_AREA);
+ for (String agv : AgvGroupConstant.FIRST_AGV_GROUP) {
+ AGV_AREA.put(agv, FAR_LEFT_AREA);
+ }
+ for (String agv : AgvGroupConstant.SECOND_AGV_GROUP) {
+ AGV_AREA.put(agv, LEFT_AREA);
+ }
+ for (String agv : AgvGroupConstant.THIRD_AGV_GROUP) {
+ AGV_AREA.put(agv, MIDDLE_AREA);
+ }
+ for (String agv : AgvGroupConstant.FOURTH_AGV_GROUP) {
+ AGV_AREA.put(agv, RIGHT_AREA);
+ }
+ for (String agv : AgvGroupConstant.FIFTH_AGV_GROUP) {
+ AGV_AREA.put(agv, FAR_RIGHT_AREA);
+ }
}
public void initDisableArea() {
- AGV_DISABLE_AREA.put("1", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("2", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("3", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("4", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("5", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("6", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("7", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("8", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("9", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("10", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("11", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("12", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("13", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("14", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("15", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("16", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("17", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("18", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("19", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("20", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("21", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("22", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("23", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("24", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("25", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("26", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("27", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("28", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("29", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("30", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("31", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("32", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("33", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("34", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("35", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("36", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("37", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("38", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("39", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("40", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("41", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("42", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("43", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("44", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("45", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("46", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("47", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("48", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("49", FAR_LEFT_DISABLE_AREA);
- AGV_DISABLE_AREA.put("50", FAR_LEFT_DISABLE_AREA);
+ for (String agv : AgvGroupConstant.FIRST_AGV_GROUP) {
+ AGV_DISABLE_AREA.put(agv, FAR_LEFT_DISABLE_AREA);
+ }
+ for (String agv : AgvGroupConstant.SECOND_AGV_GROUP) {
+ AGV_DISABLE_AREA.put(agv, LEFT_DISABLE_AREA);
+ }
+ for (String agv : AgvGroupConstant.THIRD_AGV_GROUP) {
+ AGV_DISABLE_AREA.put(agv, MIDDLE_DISABLE_AREA);
+ }
+ for (String agv : AgvGroupConstant.FOURTH_AGV_GROUP) {
+ AGV_DISABLE_AREA.put(agv, RIGHT_DISABLE_AREA);
+ }
+ for (String agv : AgvGroupConstant.FIFTH_AGV_GROUP) {
+ AGV_DISABLE_AREA.put(agv, FAR_RIGHT_DISABLE_AREA);
+ }
}
+ public List<String> getAgvNosByTask(Task task) {
+ if (null == task) {
+ return null;
+ }
+ Loc oriLoc = null;
+ Loc destLoc = null;
+ if (null != task.getOriLoc()) {
+ oriLoc = locService.getById(task.getOriLoc());
+ return this.getAgvNosByRow(oriLoc.getRow());
+ }
+ if (null != task.getDestLoc()) {
+ destLoc = locService.getById(task.getDestLoc());
+ return this.getAgvNosByRow(destLoc.getRow());
+ }
+ return null;
+ }
-
+ public List<String> getAgvNosByRow(Integer row) {
+ if (LocGroupConstant.FAR_LEFT_LOC_ROW_LIST.contains(row)) {
+ return AgvGroupConstant.FIRST_AGV_GROUP;
+ }
+ if (LocGroupConstant.LEFT_LOC_ROW_LIST.contains(row)) {
+ return AgvGroupConstant.SECOND_AGV_GROUP;
+ }
+ if (LocGroupConstant.MIDDLE_LOC_ROW_LIST.contains(row)) {
+ return AgvGroupConstant.THIRD_AGV_GROUP;
+ }
+ if (LocGroupConstant.RIGHT_LOC_ROW_LIST.contains(row)) {
+ return AgvGroupConstant.FOURTH_AGV_GROUP;
+ }
+ if (LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST.contains(row)) {
+ return AgvGroupConstant.FIFTH_AGV_GROUP;
+ }
+ return null;
+ }
}
--
Gitblit v1.9.1