From 7fcabeeaf596291872949b7cb534a34f323f4ada Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 09 十二月 2022 14:06:48 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/Utils.java |  154 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 135 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 4b053cb..ecbc7e8 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.utils;
 
+import com.alibaba.fastjson.JSON;
 import com.core.common.Arith;
 import com.core.common.Cools;
 import com.zy.common.properties.SlaveProperties;
@@ -7,6 +8,8 @@
 
 import java.text.DecimalFormat;
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -162,16 +165,6 @@
 
     }
 
-    public static Integer getGroupRow(String locNo, Boolean pakin){
-        int row = getRow(locNo);
-        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
-            return pakin?17:2;
-        }
-        if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
-            return pakin?30:18;
-        }
-        throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
-    }
 
 
     public static List<String> getGroupLoc(String locNo){
@@ -193,15 +186,138 @@
         throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
     }
 
-    public static void main(String[] args) {
-        SlaveProperties slaveProperties = new SlaveProperties();
-        slaveProperties.setDoubleDeep(true);
-        List<Integer> list = new ArrayList<>();
-        list.add(1);list.add(4);list.add(5);list.add(8);list.add(9);list.add(12);
-        slaveProperties.setDoubleLocs(list);
-        slaveProperties.setGroupCount(4);
-        Integer deepRow = getDeepRow(slaveProperties, 6);
-        System.out.println(deepRow);
 
+    public static Integer getOutLayerRow(String locNo, Boolean pakin){
+        int row = getRow(locNo);
+        // 鍏ュ簱
+        if (pakin) {
+            if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
+                return 17;
+            } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
+                return 18;
+            } else {
+                return -1;
+//                throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+            }
+        // 鍑哄簱
+        } else {
+            if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
+                return 2;
+            } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
+                return 30;
+            } else {
+                return -1;
+//                throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+            }
+        }
     }
+
+
+    public static List<Integer> getGroupLoc(Integer row){
+        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
+            return CommonService.FIRST_GROUP_ROW_LIST;
+        } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
+            return CommonService.SECOND_GROUP_ROW_LIST;
+        } else {
+            throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+        }
+    }
+
+    // 澶栦晶鏂瑰悜鐨勮揣浣�  浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜
+    public static List<String> getGroupOuterLoc(String locNo){
+        int row = getRow(locNo);
+        List<String> result = new ArrayList<>();
+        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
+            for (Integer integer : CommonService.FIRST_GROUP_ROW_LIST) {
+                if (integer < row) {
+                    result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2));
+                } else {
+                    break;
+                }
+            }
+        } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
+            List<Integer> clone = Arrays.asList(new Integer[CommonService.SECOND_GROUP_ROW_LIST.size()]);
+            Collections.copy(clone, CommonService.SECOND_GROUP_ROW_LIST);
+            Collections.reverse(clone);
+            for (Integer integer : clone) {
+                if (integer > row) {
+                    result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2));
+                } else {
+                    break;
+                }
+            }
+        } else {
+//            throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+        }
+        return result;
+    }
+
+    // 鍐呬晶鏂瑰悜鐨勮揣浣�  浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜 ===>> 鍙嶄箣
+    public static List<String> getGroupInsideLoc(String locNo){
+        int row = getRow(locNo);
+        List<String> result = new ArrayList<>();
+        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
+            List<Integer> clone = Arrays.asList(new Integer[CommonService.FIRST_GROUP_ROW_LIST.size()]);
+            Collections.copy(clone, CommonService.FIRST_GROUP_ROW_LIST);
+            Collections.reverse(clone);
+            for (Integer integer : clone) {
+                if (integer > row) {
+                    result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2));
+                } else {
+                    break;
+                }
+            }
+        } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
+            for (Integer integer : CommonService.SECOND_GROUP_ROW_LIST) {
+                if (integer < row) {
+                    result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2));
+                } else {
+                    break;
+                }
+            }
+        } else {
+//            throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+        }
+        if (!Cools.isEmpty(result)) {
+            Collections.reverse(result);
+        }
+        return result;
+    }
+
+    // 澶栦晶鏂瑰悜鐨勮揣浣�  浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜 ===>> 鍙嶄箣
+    public static List<String> getGroupOutsideLoc(String locNo){
+        int row = getRow(locNo);
+        List<String> result = new ArrayList<>();
+        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
+            for (Integer integer : CommonService.FIRST_GROUP_ROW_LIST) {
+                if (integer < row) {
+                    result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2));
+                } else {
+                    break;
+                }
+            }
+        } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
+            List<Integer> clone = Arrays.asList(new Integer[CommonService.SECOND_GROUP_ROW_LIST.size()]);
+            Collections.copy(clone, CommonService.SECOND_GROUP_ROW_LIST);
+            Collections.reverse(clone);
+            for (Integer integer : clone) {
+                if (integer > row) {
+                    result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2));
+                } else {
+                    break;
+                }
+            }
+        } else {
+//            throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+        }
+        if (!Cools.isEmpty(result)) {
+            Collections.reverse(result);
+        }
+        return result;
+    }
+
+    public static void main(String[] args) {
+        System.out.println(JSON.toJSONString(getGroupOuterLoc("0500201")));
+    }
+
 }

--
Gitblit v1.9.1