From 307ba2fc4f1b7c09111f6ff8fd7fa13a0b9b4a46 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期六, 09 九月 2023 13:45:21 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 478 +++++++++++++++++++++++++++++------------------------------ 1 files changed, 237 insertions(+), 241 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 078066f..4557c58 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -177,30 +177,28 @@ throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); } - /** - * 褰撴绱㈠埌鍙屾繁搴撲綅鐨勬祬搴撲綅鏃讹紝濡傛灉娣卞簱浣嶆棤璐э紝鍒欐斁鍏ュ搴旂殑娣卞簱浣� - */ - public static void toDeepIfEmptyByShallow(String shallowLoc) { - int row = getRow(shallowLoc); - int remainder = (int) Arith.remainder(row, 4); - int targetRow = 0; - if (remainder == 2) { - targetRow = row - 1; - } else if (remainder == 3) { - targetRow = row + 1; - } else { - throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖"); - } - String targetLoc = zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2); - - } - public static String getLocNo(Number row, Number bay, Number lev) { return zerofill(String.valueOf(row), 2) + zerofill(String.valueOf(bay), 3) + zerofill(String.valueOf(lev), 2); } + public static Integer getOutLayerRow(String locNo, Boolean pakin){ + int row = getRow(locNo); + if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { + return 4; + } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { + return 5; + } else { + return -1; + } + } + + /** + * 鑾峰彇搴撲綅缁� + * @param locNo 搴撲綅鍙� + */ public static List<String> getGroupLoc(String locNo){ int row = getRow(locNo); + int bay = getBay(locNo); if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { List<String> result = new ArrayList<>(); for (Integer row0 : CommonService.FIRST_GROUP_ROW_LIST) { @@ -215,13 +213,6 @@ } 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) { @@ -229,238 +220,243 @@ } return result; } + if (CommonService.FOURTH_GROUP_ROW_LIST.contains(row)) { + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.FOURTH_GROUP_ROW_LIST) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + return result; + } + if (CommonService.FIFTH_GROUP_ROW_LIST.contains(row)) { + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.FIFTH_GROUP_ROW_LIST) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + return result; + } + if (CommonService.SIXTH_GROUP_ROW_LIST.contains(row) && (bay >= 59 && bay <= 61)) { + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.SIXTH_GROUP_ROW_LIST) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + return result; + } + if (CommonService.SEVENTH_GROUP_ROW_LIST.contains(row) && bay < 59) { + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.SEVENTH_GROUP_ROW_LIST) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + return result; + } + if (CommonService.EIGHTH_GROUP_ROW_LIST.contains(row) && bay < 59) { + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.EIGHTH_GROUP_ROW_LIST) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + return result; + } throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); } - - public static Integer getOutLayerRow(String locNo, Boolean pakin){ - int row = getRow(locNo); - if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { - return 4; - } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { - return 5; - } else { - return -1; - } + public static void main(String[] args) { + System.out.println(JSON.toJSONString(getGroupInnerLoc("1605909"))); } - - 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瀽寮傚父"); - } - } - - // 澶栦晶鏂瑰悜鐨勮揣浣� 浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜 + /** + * 鑾峰彇澶栦晶鏂瑰悜鐨勫簱浣嶇粍 + * @param locNo 搴撲綅鍙� + * @return + */ public static List<String> getGroupOuterLoc(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.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 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; - } - } + int bay = getBay(locNo); + + //(1,3,4,10,11)娌℃湁澶栦晶鏂瑰悜搴撲綅缁�,(13,14,16)59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍 + if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {//1鎺� + return new ArrayList<>(); } - return result; + if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {//3-4鎺� + return new ArrayList<>(); + } + if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)) {//6-7鎺� + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.THIRD_GROUP_ROW_LIST) { + if (row0 < row) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + } + return result; + } + if (CommonService.FOURTH_GROUP_ROW_LIST.contains(row)) {//8鎺� + return new ArrayList<>(); + } + if (CommonService.FIFTH_GROUP_ROW_LIST.contains(row)) {//10-11鎺� + return new ArrayList<>(); + } + if (CommonService.SIXTH_GROUP_ROW_LIST.contains(row) && (bay >= 59 && bay <= 61)) {//13-16鎺�59-61鍒楀渚ф柟鍚戝簱浣嶇粍 + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.SIXTH_GROUP_ROW_LIST) { + if (row0 < row) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + } + return result; + } + if (CommonService.SEVENTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//13-14鎺�59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍 + return new ArrayList<>(); + } + if (CommonService.EIGHTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//16鎺�59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍 + return new ArrayList<>(); + } + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } + + /** + * 鑾峰彇鍐呬晶鏂瑰悜鐨勫簱浣嶇粍 + * @param locNo 搴撲綅鍙� + * @return + */ + 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 (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {//1鎺� + return new ArrayList<>(); + } + if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {//3-4鎺� + return new ArrayList<>(); + } + if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)) {//6-7鎺� + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.THIRD_GROUP_ROW_LIST) { + if (row0 > row) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + } + return result; + } + if (CommonService.FOURTH_GROUP_ROW_LIST.contains(row)) {//8鎺� + return new ArrayList<>(); + } + if (CommonService.FIFTH_GROUP_ROW_LIST.contains(row)) {//10-11鎺� + return new ArrayList<>(); + } + if (CommonService.SIXTH_GROUP_ROW_LIST.contains(row) && (bay >= 59 && bay <= 61)) {//13-16鎺�59-61鍒楀唴渚ф柟鍚戝簱浣嶇粍 + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.SIXTH_GROUP_ROW_LIST) { + if (row0 > row) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + } + return result; + } + if (CommonService.SEVENTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//13-14鎺�59鍒椾箣鍐呮病鏈夊唴渚ф柟鍚戝簱浣嶇粍 + return new ArrayList<>(); + } + if (CommonService.EIGHTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//16鎺�59鍒椾箣鍐呮病鏈夊唴渚ф柟鍚戝簱浣嶇粍 + return new ArrayList<>(); + } + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); } // 澶栦晶鏂瑰悜鐨勮揣浣� 浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜 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"))); +// 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; + return null; } // 鍐呬晶鏂瑰悜鐨勮揣浣� 浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜 ===>> 鍙嶄箣 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.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 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 { -// 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.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; - } - } - } 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; +// 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.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 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 { +//// throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); +// } +// if (!Cools.isEmpty(result)) { +// Collections.reverse(result); +// } +// return result; + return null; } } -- Gitblit v1.9.1