From b50a2e2df1c0fab844dc194ae58f01cf906e32b8 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期一, 27 三月 2023 12:12:12 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 170 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 137 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 66ba35f..bd97705 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -183,6 +183,20 @@ } return result; } + if (CommonService.FIRST_GROUP_ROW_LIST_SHORT.contains(row)) { + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.FIRST_GROUP_ROW_LIST_SHORT) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + return result; + } + if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)) { + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.THIRD_GROUP_ROW_LIST) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + return result; + } throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); } @@ -199,32 +213,15 @@ } - public static Integer getInnermostRow(String locNo){ - int row = getRow(locNo); - switch (row) { - case 1: - case 2: - case 3: - case 4: - return 1; - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - return 11; - default: - 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.FIRST_GROUP_ROW_LIST_SHORT.contains(row)) { + return CommonService.FIRST_GROUP_ROW_LIST_SHORT; } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { return CommonService.SECOND_GROUP_ROW_LIST; + } else if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)) { + return CommonService.THIRD_GROUP_ROW_LIST; } else { throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); } @@ -235,14 +232,28 @@ 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) { + 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)) { + } else if (CommonService.FIRST_GROUP_ROW_LIST_SHORT.contains(row)){ + List<Integer> clone = Arrays.asList(new Integer[CommonService.FIRST_GROUP_ROW_LIST_SHORT.size()]); + Collections.copy(clone, CommonService.FIRST_GROUP_ROW_LIST_SHORT); + 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)){ List<Integer> clone = Arrays.asList(new Integer[CommonService.SECOND_GROUP_ROW_LIST.size()]); Collections.copy(clone, CommonService.SECOND_GROUP_ROW_LIST); Collections.reverse(clone); @@ -253,10 +264,63 @@ break; } } - } else { -// throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } else if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)){ + for (Integer integer : CommonService.THIRD_GROUP_ROW_LIST) { + if (integer < row) { + result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); + } else { + break; + } + } } return result; + } + + // 澶栦晶鏂瑰悜鐨勮揣浣� 浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜 + public static List<String> getGroupOuterLocIoPri(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.FIRST_GROUP_ROW_LIST_SHORT.contains(row)){ + for (Integer integer : CommonService.FIRST_GROUP_ROW_LIST_SHORT) { + 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 if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)){ + List<Integer> clone = Arrays.asList(new Integer[CommonService.THIRD_GROUP_ROW_LIST.size()]); + Collections.copy(clone, CommonService.THIRD_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; + } + } + } + return result; + } + + public static void main(String[] args) { + System.out.println(JSON.toJSONString(getGroupOuterLoc("0200101"))); } // 鍐呬晶鏂瑰悜鐨勮揣浣� 浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜 ===>> 鍙嶄箣 @@ -274,8 +338,30 @@ break; } } + } else if (CommonService.FIRST_GROUP_ROW_LIST_SHORT.contains(row)) { + List<Integer> clone = Arrays.asList(new Integer[CommonService.FIRST_GROUP_ROW_LIST_SHORT.size()]); + Collections.copy(clone, CommonService.FIRST_GROUP_ROW_LIST_SHORT); + 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) { + 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 if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)) { + for (Integer integer : CommonService.THIRD_GROUP_ROW_LIST) { if (integer < row) { result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); } else { @@ -295,9 +381,31 @@ 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 (CommonService.THIRD_GROUP_ROW_LIST.contains(row)) { + for (Integer integer : CommonService.THIRD_GROUP_ROW_LIST) { if (integer < row) { + result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); + } else { + break; + } + } + } else 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.FIRST_GROUP_ROW_LIST_SHORT.contains(row)) { + List<Integer> clone = Arrays.asList(new Integer[CommonService.FIRST_GROUP_ROW_LIST_SHORT.size()]); + Collections.copy(clone, CommonService.FIRST_GROUP_ROW_LIST_SHORT); + Collections.reverse(clone); + for (Integer integer : clone) { + if (integer > row) { result.add(zerofill(String.valueOf(integer), 2) + locNo.substring(2)); } else { break; @@ -321,10 +429,6 @@ Collections.reverse(result); } return result; - } - - public static void main(String[] args) { - System.out.println(JSON.toJSONString(getGroupOuterLoc("0500201"))); } } -- Gitblit v1.9.1