From 24bc9aa5888c7b98cf0a7d1bf05ec6c5624d3719 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 03 三月 2025 16:02:29 +0800
Subject: [PATCH] 四期

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

diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index c7903e4..04720a4 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -128,7 +128,11 @@
 //                locMast = locUtils.getLocNoRuleByFloor(type, floor, isEmpty, 2);
 //            } else {
 //                //涓嶅姩杩欎釜閫昏緫
-            locMast = getLocNoRule(type, floor, isEmpty, isCurrLev);
+            if (type == 6) {
+                locMast = locUtils.getLocNoRuleByFloor(type, floor);
+            } else {
+                locMast = getLocNoRule(type, floor, isEmpty, isCurrLev);
+            }
 //            }
             if (locMast != null) {
                 return locMast;
@@ -144,7 +148,7 @@
     /**
      * 搴撲綅瑙勫垯鏌ユ壘
      */
-    public AgvLocMast getLocByLocRule(int type, int floor, String factory) {
+    public synchronized AgvLocMast getLocByLocRule(int type, int floor, String factory, boolean flag) {
 
         try {
             EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
@@ -157,7 +161,7 @@
                 //B鏄簩鍘傦紝G鏄笁鍘�
                 switch (factory) {
                     case "B":
-                        wrapper.eq("floor", floor).orderBy("lev1", false);
+                        wrapper.eq("floor", floor).orderBy("lev1", false).orderBy("row1", flag);
                         break;
                     case "G":
                         wrapper.eq("floor", floor).orderBy("lev1", true);
@@ -179,6 +183,8 @@
         } catch (Exception e) {
             throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�");
         }
+
+
     }
 
     /**
@@ -223,6 +229,28 @@
             return null;
         } catch (Exception e) {
             throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�");
+        }
+    }
+
+    /*
+搴撲綅瑙勫垯鏌ユ壘
+ */
+    public AgvLocMast getLocByFloor(int type, int floor) {
+        try {
+            EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
+            wrapper.eq("loc_sts", "O").eq("loc_type1", type);
+            wrapper.eq("floor", floor).orderBy("lev1", false);
+
+            List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper);
+            for (AgvLocMast agvLocMast : agvLocMasts) {
+                AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
+                if (agvLocMast1.getLocSts().equals("O")) {
+                    return agvLocMast1;
+                }
+            }
+            return null;
+        } catch (Exception e) {
+            return null;
         }
     }
 
@@ -299,6 +327,24 @@
         throw new CoolException("鎼滅储搴撲綅鏃讹紝妤煎眰鍑洪敊銆�");
     }
 
+    public AgvLocMast getLocNoOnXiSuer(int type, int floor) {
+        EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
+        wrapper.eq("loc_sts", "O").eq("loc_type1", type);
+        wrapper.eq("floor", floor).orderBy("lev1", false);
+        List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper);
+        if (Cools.isEmpty(agvLocMasts)) {
+            return null;
+        } else {
+            for (AgvLocMast agvLocMast : agvLocMasts) {
+                AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
+                if (agvLocMast1.getLocSts().equals("O")) {
+                    return agvLocMast1;
+                }
+            }
+        }
+        return null;
+    }
+
 
     //闅忔満鍙栦竴涓揣浣�
     private AgvLocMast getLocNoRule(int type, int floor, boolean isEmpty, boolean isCurrLev) {

--
Gitblit v1.9.1