From 41ad7e179503b9b0be795b0f8e2b5f090a4514c7 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 24 三月 2025 19:50:36 +0800
Subject: [PATCH] 1
---
 src/main/java/com/zy/common/service/AgvCommonService.java   |   35 ++++++++++++++++++++++++++++++++++-
 src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java |    4 ++--
 2 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
index 3117e41..f8e1f50 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -764,9 +764,9 @@
         AgvLocMast LocMast;
         if (agvLocMast.getLev1() == 1) {
             //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
-            LocMast = agvCommonService.getLocByLocRule(3, 1, 2);
+            LocMast = agvCommonService.getLocByLocRule2(3, 1, 2);
         } else {
-            LocMast = agvCommonService.getLocByLocRule(3, 1, 1);
+            LocMast = agvCommonService.getLocByLocRule2(3, 1, 1);
         }
         List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 12));
         if (agvWrkMasts.size() >= maxTansk) {
diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index e09b94e..1762837 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -269,6 +269,39 @@
         }
     }
 
+    /**
+     * 搴撲綅瑙勫垯鏌ユ壘
+     */
+    public AgvLocMast getLocByLocRule2(int type, int floor, int lev1) {
+
+        try {
+            EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
+            wrapper.eq("loc_sts", "O").eq("loc_type1", type);
+            wrapper.eq("floor", floor).eq("lev1", lev1);
+            List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper);
+            if (lev1 == 2) {
+                int num = 20;
+                Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "LOC_3_NUM"));
+                if (config != null && !Cools.isEmpty(config.getValue())) {
+                    num = Integer.parseInt(config.getValue());
+                }
+                int er = agvLocMasts.size();
+                if (er < num) {
+                    throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�20");
+                }
+            }
+            for (AgvLocMast agvLocMast : agvLocMasts) {
+                AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
+                if (agvLocMast1.getLocSts().equals("O")) {
+                    return agvLocMast1;
+                }
+            }
+            throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�");
+        } catch (Exception e) {
+            throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�");
+        }
+    }
+
     /*
   搴撲綅瑙勫垯鏌ユ壘
    */
@@ -418,7 +451,7 @@
             if (config != null && !Cools.isEmpty(config.getValue())) {
                 num = Integer.parseInt(config.getValue());
             }
-            if (agvLocMasts.size()>num){
+            if (agvLocMasts.size() > num) {
                 for (AgvLocMast agvLocMast : agvLocMasts) {
                     AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
                     if (agvLocMast1.getLocSts().equals("O")) {
--
Gitblit v1.9.1