From 1044d25ccaa5350b68fa259788246812139267b1 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期三, 05 三月 2025 12:06:27 +0800
Subject: [PATCH] 四期

---
 src/main/java/com/zy/common/service/AgvCommonService.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index 04720a4..a24d141 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -6,6 +6,8 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.LocUtils;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -35,6 +37,9 @@
     private LocRuleService locRuleService;
     @Autowired
     AgvBasDevpService agvBasDevpService;
+
+    @Autowired
+    private ConfigService configService;
 
     @Autowired
     private LocUtils locUtils;
@@ -146,6 +151,52 @@
     }
 
     /**
+     * 搴撲綅瑙勫垯鏌ユ壘锛屼細棰勭暀20涓簱浣�
+     */
+    public synchronized AgvLocMast getLocByLocRule20(int type, int floor, String factory, boolean flag) {
+
+        try {
+            EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
+            wrapper.eq("loc_sts", "O").eq("loc_type1", type);
+            List<AgvLocMast> agvLocMasts = new ArrayList<>();
+            //涓嶆槸绌烘澘浼樺厛鎵�2灞�
+            if (Cools.isEmpty(factory)) {
+                wrapper.eq("floor", floor).orderBy("lev1", true);
+            } else {
+                //B鏄簩鍘傦紝G鏄笁鍘�
+                if (factory.equals("B")) {
+                    wrapper.eq("floor", floor).orderBy("lev1", false).orderBy("row1", flag);
+
+                } else {
+                    wrapper.eq("floor", floor).orderBy("lev1", true);
+
+                }
+            }
+            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());
+            }
+            agvLocMasts = agvLocMastService.selectList(wrapper);
+            for (AgvLocMast agvLocMast : agvLocMasts) {
+
+            }
+
+            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("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�");
+        }
+
+
+    }
+
+    /**
      * 搴撲綅瑙勫垯鏌ユ壘
      */
     public synchronized AgvLocMast getLocByLocRule(int type, int floor, String factory, boolean flag) {

--
Gitblit v1.9.1