From 115e0776a3465ae4775b5a3bf715a7325a2474b6 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 10 五月 2023 08:16:04 +0800 Subject: [PATCH] 工作档完成状态变更 --- src/main/java/com/zy/asrs/utils/Utils.java | 156 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 130 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 9fd11fb..5a0214c 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -148,6 +148,26 @@ } /** + * 閫氳繃搴撲綅鍙疯幏鍙� 鍒� + */ + public static int getBay(String locNo) { + if (!Cools.isEmpty(locNo)) { + return Integer.parseInt(locNo.substring(2, 5)); + } + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } + + /** + * 閫氳繃搴撲綅鍙疯幏鍙� 灞� + */ + public static int getLev(String locNo) { + if (!Cools.isEmpty(locNo)) { + return Integer.parseInt(locNo.substring(5, 7)); + } + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } + + /** * 褰撴绱㈠埌鍙屾繁搴撲綅鐨勬祬搴撲綅鏃讹紝濡傛灉娣卞簱浣嶆棤璐э紝鍒欐斁鍏ュ搴旂殑娣卞簱浣� */ public static void toDeepIfEmptyByShallow(String shallowLoc) { @@ -183,6 +203,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 +233,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瀽寮傚父"); } @@ -279,6 +296,49 @@ 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"))); } @@ -287,7 +347,29 @@ public static List<String> getGroupInsideLoc(String locNo){ int row = getRow(locNo); List<String> result = new ArrayList<>(); - if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { + 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; + } + } + } 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); @@ -298,8 +380,8 @@ break; } } - } else if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { - for (Integer integer : CommonService.FIRST_GROUP_ROW_LIST) { + } 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 { @@ -319,8 +401,8 @@ public static List<String> getGroupOutsideLoc(String locNo){ int row = getRow(locNo); List<String> result = new ArrayList<>(); - if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { - for (Integer integer : CommonService.SECOND_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 { @@ -338,6 +420,28 @@ 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)) { + 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瀽寮傚父"); } -- Gitblit v1.9.1