From 8e844bde9b6edf6769fdb623ea7e70c458b37339 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 30 十一月 2023 18:29:59 +0800
Subject: [PATCH] #盘点逻辑修改

---
 src/main/java/com/zy/asrs/utils/Utils.java |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 105 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index afd653a..0dbc2bc 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.core.common.Arith;
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
@@ -97,21 +98,6 @@
     public static Integer getGroupRow(String locNo, Boolean pakin){
         int row = getRow(locNo);
         return getGroupRow(row, pakin);
-    }
-
-    public static List<String> getGroupLocNo(String locNo){
-        int row = getRow(locNo);
-        List<String> result = new ArrayList<>();
-        if (FIRST_GROUP_ROW_LIST.contains(row)) {
-            for (Integer groupRow : FIRST_GROUP_ROW_LIST) {
-                result.add(zerofill(String.valueOf(groupRow), 2) + locNo.substring(2));
-            }
-        } else if (SECOND_GROUP_ROW_LIST.contains(row)) {
-            for (Integer groupRow : SECOND_GROUP_ROW_LIST) {
-                result.add(zerofill(String.valueOf(groupRow), 2) + locNo.substring(2));
-            }
-        }
-        return result;
     }
 
     public static Integer getGroupRow(Integer row, Boolean pakin) {
@@ -369,6 +355,54 @@
         throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
     }
 
+    /**
+     * 鑾峰彇澶栦晶鏂瑰悜鐨勫簱浣嶇粍
+     * @param locNo 搴撲綅鍙�
+     */
+    public static List<String> getGroupOuterLoc(String locNo){
+        int row = getRow(locNo);
+        int bay = getBay(locNo);
+
+        //(1,3,4,10,11)娌℃湁澶栦晶鏂瑰悜搴撲綅缁�,(13,14,16)59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍
+        if (FIRST_GROUP_ROW_LIST.contains(row)) {//1鎺�
+            return new ArrayList<>();
+        }
+        if (SECOND_GROUP_ROW_LIST.contains(row)) {//3-4鎺�
+            return new ArrayList<>();
+        }
+        if (THIRD_GROUP_ROW_LIST.contains(row)) {//6-7鎺�
+            List<String> result = new ArrayList<>();
+            for (Integer row0 : THIRD_GROUP_ROW_LIST) {
+                if (row0 < row) {
+                    result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2));
+                }
+            }
+            return result;
+        }
+        if (FOURTH_GROUP_ROW_LIST.contains(row)) {//8鎺�
+            return new ArrayList<>();
+        }
+        if (FIFTH_GROUP_ROW_LIST.contains(row)) {//10-11鎺�
+            return new ArrayList<>();
+        }
+        if (SIXTH_GROUP_ROW_LIST.contains(row) && (bay >= 59 && bay <= 61)) {//13-16鎺�59-61鍒楀渚ф柟鍚戝簱浣嶇粍
+            List<String> result = new ArrayList<>();
+            for (Integer row0 : SIXTH_GROUP_ROW_LIST) {
+                if (row0 < row) {
+                    result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2));
+                }
+            }
+            return result;
+        }
+        if (SEVENTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//13-14鎺�59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍
+            return new ArrayList<>();
+        }
+        if (EIGHTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//16鎺�59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍
+            return new ArrayList<>();
+        }
+        throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+    }
+
     //鑾峰彇闄ょ櫧鍚嶅崟澶栫殑鎸囧畾妤煎眰鍏ㄩ儴绌挎杞y鍧愭爣鐐�
     public static List<int[]> getShuttlePoints(Integer whiteShuttle, Integer lev) {
         BasShuttleService basShuttleService = SpringUtils.getBean(BasShuttleService.class);
@@ -593,4 +627,60 @@
         return null;
     }
 
+    public static void wapperSetCondition(Wrapper wrapper, String column, String condition){
+        if(Cools.isEmpty(condition) || "null".equals(condition)){
+            wrapper.andNew().eq(column,"").or().isNull(column);
+        }else {
+            wrapper.eq(column,condition);
+        }
+    }
+
+    /**
+     * 鑾峰彇鍐呬晶鏂瑰悜鐨勫簱浣嶇粍
+     * @param locNo 搴撲綅鍙�
+     */
+    public static List<String> getGroupInnerLoc(String locNo){
+        int row = getRow(locNo);
+        int bay = getBay(locNo);
+
+        //(1,3,4,10,11)娌℃湁鍐呬晶鏂瑰悜搴撲綅缁�,(13,14,16)59鍒椾箣鍐呮病鏈夊唴渚ф柟鍚戝簱浣嶇粍
+        if (FIRST_GROUP_ROW_LIST.contains(row)) {//1鎺�
+            return new ArrayList<>();
+        }
+        if (SECOND_GROUP_ROW_LIST.contains(row)) {//3-4鎺�
+            return new ArrayList<>();
+        }
+        if (THIRD_GROUP_ROW_LIST.contains(row)) {//6-7鎺�
+            List<String> result = new ArrayList<>();
+            for (Integer row0 : THIRD_GROUP_ROW_LIST) {
+                if (row0 > row) {
+                    result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2));
+                }
+            }
+            return result;
+        }
+        if (FOURTH_GROUP_ROW_LIST.contains(row)) {//8鎺�
+            return new ArrayList<>();
+        }
+        if (FIFTH_GROUP_ROW_LIST.contains(row)) {//10-11鎺�
+            return new ArrayList<>();
+        }
+        if (SIXTH_GROUP_ROW_LIST.contains(row) && (bay >= 59 && bay <= 61)) {//13-16鎺�59-61鍒楀唴渚ф柟鍚戝簱浣嶇粍
+            List<String> result = new ArrayList<>();
+            for (Integer row0 : SIXTH_GROUP_ROW_LIST) {
+                if (row0 > row) {
+                    result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2));
+                }
+            }
+            return result;
+        }
+        if (SEVENTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//13-14鎺�59鍒椾箣鍐呮病鏈夊唴渚ф柟鍚戝簱浣嶇粍
+            return new ArrayList<>();
+        }
+        if (EIGHTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//16鎺�59鍒椾箣鍐呮病鏈夊唴渚ф柟鍚戝簱浣嶇粍
+            return new ArrayList<>();
+        }
+        throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+    }
+
 }

--
Gitblit v1.9.1