From 644fa4aeb93111f0f23c798718f5392850106ce8 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期五, 28 二月 2025 11:05:34 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AreaConstant.java        |   16 +++
 /dev/null                                                                                |   19 ---
 zy-acs-manager/src/main/resources/application.yml                                        |   12 --
 zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AreaDisableConstant.java |   37 +++++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java          |   58 +----------
 zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AgvAreaDispatcher.java   |  134 ++++++++++++++++++++++++++
 6 files changed, 194 insertions(+), 82 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AgvAreaDispatcher.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AgvAreaDispatcher.java
new file mode 100644
index 0000000..85123c4
--- /dev/null
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AgvAreaDispatcher.java
@@ -0,0 +1,134 @@
+package com.zy.acs.manager.common.constant;
+
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import static com.zy.acs.manager.common.constant.AreaConstant.FAR_LEFT_AREA;
+import static com.zy.acs.manager.common.constant.AreaDisableConstant.FAR_LEFT_DISABLE_AREA;
+
+@Component
+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<>();
+
+    @PostConstruct
+    public void init() {
+       this.initEnableArea();
+       this.initDisableArea();
+    }
+
+    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);
+    }
+
+    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);
+    }
+
+
+
+
+}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AreaConstant.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AreaConstant.java
index d826313..1ad91ae 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AreaConstant.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AreaConstant.java
@@ -253,5 +253,21 @@
         add("00001706");
     }};
 
+    public static final ArrayList<String> LEFT_AREA  = new ArrayList<String>(){{
+
+    }};
+
+    public static final ArrayList<String> MIDDLE_AREA  = new ArrayList<String>(){{
+
+    }};
+
+    public static final ArrayList<String> RIGHT_AREA  = new ArrayList<String>(){{
+
+    }};
+
+    public static final ArrayList<String> FAR_RIGHT_AREA  = new ArrayList<String>(){{
+
+    }};
+
 
 }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AreaDisableConstant.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AreaDisableConstant.java
new file mode 100644
index 0000000..f5926b3
--- /dev/null
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AreaDisableConstant.java
@@ -0,0 +1,37 @@
+package com.zy.acs.manager.common.constant;
+
+import java.util.ArrayList;
+
+/**
+ * update man_agv set status = 0 where id > 10;
+ * update man_agv_detail set code = null where id > 10;
+ */
+public class AreaDisableConstant {
+
+    public static final ArrayList<String> FAR_LEFT_DISABLE_AREA  = new ArrayList<String>(){{
+        add("00001652");
+        add("00001653");
+        add("00001654");
+        add("00001691");
+        add("00001692");
+        add("00001597");
+        add("00001598");
+    }};
+
+    public static final ArrayList<String> LEFT_DISABLE_AREA  = new ArrayList<String>(){{
+
+    }};
+
+    public static final ArrayList<String> MIDDLE_DISABLE_AREA  = new ArrayList<String>(){{
+
+    }};
+
+    public static final ArrayList<String> RIGHT_DISABLE_AREA  = new ArrayList<String>(){{
+
+    }};
+
+    public static final ArrayList<String> FAR_RIGHT_DISABLE_AREA  = new ArrayList<String>(){{
+
+    }};
+
+}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AvoidAreaConstant.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AvoidAreaConstant.java
deleted file mode 100644
index d29cd10..0000000
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/constant/AvoidAreaConstant.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.zy.acs.manager.common.constant;
-
-import java.util.ArrayList;
-
-/**
- * update man_agv set status = 0 where id > 10;
- * update man_agv_detail set code = null where id > 10;
- */
-public class AvoidAreaConstant {
-
-    public static final ArrayList<String> FAR_LEFT_AVOID_AREA  = new ArrayList<String>(){{
-        add("A");
-        add("B");
-        add("C");
-        add("D");
-        add("E");
-    }};
-
-}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java
index 13d4a97..3bb25ad 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java
@@ -4,6 +4,7 @@
 import com.zy.acs.common.utils.RedisSupport;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.framework.common.R;
+import com.zy.acs.manager.common.constant.AgvAreaDispatcher;
 import com.zy.acs.manager.core.cache.CoreCache;
 import com.zy.acs.manager.core.domain.CodeStepDto;
 import com.zy.acs.manager.core.domain.type.JobType;
@@ -199,57 +200,12 @@
 
         Code startCode = codeService.getCacheById(agvDetail.getRecentCode());
 
-        Set<String> notInCodeSet = new HashSet<>();
-        notInCodeSet.add("00000301");
-        notInCodeSet.add("00000302");
-        notInCodeSet.add("00000303");
-        notInCodeSet.add("00000351");
-        notInCodeSet.add("00000353");
-        notInCodeSet.add("00000401");
-        notInCodeSet.add("00000402");
+        List<String> codeList = AgvAreaDispatcher.AGV_AREA.get(agvNo);
+        List<String> disableCodeList = AgvAreaDispatcher.AGV_DISABLE_AREA.get(agvNo);
+        Collections.shuffle(codeList);
 
-        notInCodeSet.add("00000311");
-        notInCodeSet.add("00000312");
-        notInCodeSet.add("00000313");
-        notInCodeSet.add("00000361");
-        notInCodeSet.add("00000363");
-        notInCodeSet.add("00000411");
-        notInCodeSet.add("00000412");
-
-        notInCodeSet.add("00000046");
-        notInCodeSet.add("00000047");
-
-        notInCodeSet.add("00000270");
-        notInCodeSet.add("00000265");
-        notInCodeSet.add("00000229");
-        notInCodeSet.add("00000188");
-        notInCodeSet.add("00000133");
-        notInCodeSet.add("00000134");
-        notInCodeSet.add("00000279");
-        notInCodeSet.add("00000278");
-        notInCodeSet.add("00000266");
-        notInCodeSet.add("00000267");
-        notInCodeSet.add("00000268");
-        notInCodeSet.add("00000269");
-        notInCodeSet.add("00000271");
-        notInCodeSet.add("00000272");
-        notInCodeSet.add("00000273");
-        notInCodeSet.add("00000274");
-        notInCodeSet.add("00000275");
-        notInCodeSet.add("00000276");
-        notInCodeSet.add("00000277");
-        notInCodeSet.add("00000285");
-        notInCodeSet.add("00000286");
-        notInCodeSet.add("00000280");
-        notInCodeSet.add("00000281");
-        notInCodeSet.add("00000282");
-        notInCodeSet.add("00000283");
-        notInCodeSet.add("00000284");
-
-        Collections.shuffle(CODE_DATA_CACHE);
-
-        for (String endCodeData : CODE_DATA_CACHE) {
-            if (notInCodeSet.contains(endCodeData)) { continue; }
+        for (String endCodeData : codeList) {
+            if (disableCodeList.contains(endCodeData)) { continue; }
             Code endCode = codeService.getCacheByData(endCodeData);
 
             // valid lane
@@ -264,7 +220,7 @@
             }
         }
 
-        return CODE_DATA_CACHE.stream().findFirst().orElse(null);
+        return codeList.stream().findFirst().orElse(null);
     }
 
     // ---------------------------------------------------------------------------
diff --git a/zy-acs-manager/src/main/resources/application.yml b/zy-acs-manager/src/main/resources/application.yml
index 010ce42..1b29b0a 100644
--- a/zy-acs-manager/src/main/resources/application.yml
+++ b/zy-acs-manager/src/main/resources/application.yml
@@ -40,18 +40,6 @@
       maxRequestSize: 100MB
   jmx:
     enabled: false
-  mail:
-    host: smtp.qq.com
-    username:
-    password:
-    default-encoding: UTF-8
-    properties:
-      mail:
-        smtp:
-          auth: true
-          socketFactory:
-            class: javax.net.ssl.SSLSocketFactory
-            port: 465
 
 redis:
   host: 127.0.0.1

--
Gitblit v1.9.1