From 3fbde4dd7e79fdb11f1fd140de0d5ada1f16d04d Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 11 二月 2025 08:15:58 +0800
Subject: [PATCH] 兼容四期

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

diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index d917ed1..e25c7ef 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -76,6 +76,7 @@
 
     /**
      * 妫�绱㈠簱浣嶅彿
+     *
      * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿
      */
     public AgvLocMast getLocNo(int type, int floor, boolean isEmpty, boolean isCurrLev) {
@@ -118,7 +119,6 @@
 
         try {
             // 寮�濮嬫煡鎵惧簱浣� ==============================>>
-            // 鍥涙湡椤圭洰锛氶渶瑕佹敼鏌ユ壘搴撲綅閫昏緫
             // 绠卞3鍏ュ簱
 //            if (type == 3 && factory != null) {
 //                //浼樺厛鍏ュ簱鍚稿1妤硷紝鍦�2妤�
@@ -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;
@@ -141,8 +145,8 @@
         throw new CoolException(floor + "妤硷紱璇ユゼ灞傛病鏈夌┖搴撲綅");
     }
 
-    /*
-    搴撲綅瑙勫垯鏌ユ壘
+    /**
+     * 搴撲綅瑙勫垯鏌ユ壘
      */
     public AgvLocMast getLocByLocRule(int type, int floor, String factory) {
 
@@ -152,15 +156,15 @@
             List<AgvLocMast> agvLocMasts = new ArrayList<>();
             //涓嶆槸绌烘澘浼樺厛鎵�2灞�
             if (Cools.isEmpty(factory)) {
-                wrapper.eq("floor", floor).orderBy("lev1", false);
+                wrapper.eq("floor", floor).orderBy("lev1", true);
             } else {
                 //B鏄簩鍘傦紝G鏄笁鍘�
                 switch (factory) {
                     case "B":
-                        wrapper.eq("floor", floor).orderBy("lev1", true);
+                        wrapper.eq("floor", floor).orderBy("lev1", false);
                         break;
                     case "G":
-                        wrapper.eq("floor", floor).orderBy("lev1", false);
+                        wrapper.eq("floor", floor).orderBy("lev1", true);
                         break;
                     default:
                         wrapper.eq("floor", floor).orderBy("lev1", true);
@@ -176,6 +180,51 @@
                 }
             }
             throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�");
+        } catch (Exception e) {
+            throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�");
+        }
+    }
+
+    /**
+     * 搴撲綅瑙勫垯鏌ユ壘
+     */
+    public AgvLocMast getLocByLocRule(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);
+            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 AgvLocMast getLocByFloorAndLev1(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);
+            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) {
             throw new CoolException("鎼滅储搴撲綅鏃讹紝鏈壘鍒板彲鍏ュ簱搴撲綅銆�");
         }
@@ -312,6 +361,7 @@
 
     /**
      * 妫�绱㈠簱浣嶅彿
+     *
      * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿
      */
     public AgvBasDevp getDevpNo(int type, int floor) {
@@ -331,6 +381,7 @@
 
     /**
      * 妫�绱㈠簱浣嶅彿
+     *
      * @return locNo 妫�绱㈣嚜鍔ㄦ帴椹充綅
      */
     public AgvBasDevp getDevpNo(int type, int floor, String auto) {
@@ -349,6 +400,7 @@
 
     /**
      * 妫�绱㈠簱浣嶅彿
+     *
      * @return locNo 妫�绱㈠彲鍏ユ帴椹充綅
      */
     public AgvBasDevp getDevpNo(int type, int floor, String auto, String inEable) {

--
Gitblit v1.9.1