From 1809dba25f489ea01c07a9ecc977d9f408545310 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 05 一月 2026 09:41:49 +0800
Subject: [PATCH] 电压改电量

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvAreaDispatcher.java |   29 ++++++++++++++++++++++++-----
 1 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvAreaDispatcher.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvAreaDispatcher.java
index e4b225b..002673a 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvAreaDispatcher.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvAreaDispatcher.java
@@ -12,7 +12,6 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
@@ -65,16 +64,36 @@
             return Collections.emptyList();
         }
         List<Long> areaIds = areaGovernService.queryAreas(code);
-        return areaAgvService.queryAgvIdsByAreaIds(areaIds);
+        List<Long> agvIds = areaAgvService.queryAgvIdsByAreaIds(areaIds);
+        List<Long> agvIdsWithoutAreaAgv = areaAgvService.findAgvIdsWithoutAreaAgv();
+        if (agvIdsWithoutAreaAgv.isEmpty()) {
+            return agvIds;
+        }else {
+            if (agvIds.isEmpty()){
+                return agvIdsWithoutAreaAgv;
+            }
+        }
+        agvIds.addAll(agvIdsWithoutAreaAgv);
+        return agvIds;
     }
 
     public List<String> getAgvNosByStaNo(String staNo) {
         return null;
     }
 
-    public List<String> getAreaCodeListByAgvNo(String agvNo) {
-        List<String> areaCodeList = new ArrayList<>();
-        return areaCodeList;
+    // 濡傛灉閮芥病鏈夊懡涓紝灏辫繑鍥炲叏閮╟ode
+    public List<String> getCodesByAgvId(Long agvId) {
+        List<Long> areaIds = areaAgvService.queryAreaIdsByAgvId(agvId);
+        return areaGovernService.queryCodes(areaIds);
+    }
+
+    // 鍒ゆ柇杞﹁締鏄惁琚玜rea缁戝畾锛屽鏋滅粦瀹氳繑鍥� true锛� 濡傛灉娌$粦瀹氳繑鍥� false
+    public Boolean isAgvExistsInAnyArea(Long agvId) {
+        List<Long> agvIdsWithoutAreaAgv = areaAgvService.findAgvIdsWithoutAreaAgv(); // 娌℃湁琚粦瀹氱殑杞﹁締闆嗗悎
+        if (Cools.isEmpty(agvIdsWithoutAreaAgv)) {
+            return true;
+        }
+        return !agvIdsWithoutAreaAgv.contains(agvId);
     }
 
 }

--
Gitblit v1.9.1