From bf33cef785bfd09fc123637ef5dff02737c801e4 Mon Sep 17 00:00:00 2001 From: tqs <56479841@qq.com> Date: 星期五, 26 五月 2023 08:57:28 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 287 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 274 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index d45378d..e75e2a8 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -6,7 +6,9 @@ import java.text.DecimalFormat; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * Created by vincent on 2020/8/27 @@ -34,6 +36,13 @@ } return msgBuilder.toString(); } + } + + /** + * 閫氳繃鎺掑垪灞傛嫾鎺ュ嚭搴撲綅鍙� + */ + public static String append(int row, int bay, int lev) { + return zerofill(String.valueOf(row), 2) + zerofill(String.valueOf(bay), 3) + zerofill(String.valueOf(lev), 2); } /** @@ -144,6 +153,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) { @@ -161,7 +190,7 @@ } - public static Integer getGroupRow(String locNo){ + public static Integer getOutermostRow(String locNo, Boolean pakin){ int row = getRow(locNo); switch (row) { case 1: @@ -195,7 +224,6 @@ throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); } } - public static List<String> getGroupLoc(String locNo){ int row = getRow(locNo); @@ -257,18 +285,251 @@ default: 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 List<Integer> getGroupLoc(Integer row){ + switch (row) { + case 1: + case 2: + case 3: + return new ArrayList<Integer>() {{ + add(1); + add(2); + add(3); + }}; + case 4: + case 5: + case 6: + case 7: + return new ArrayList<Integer>() {{ + add(4); + add(5); + add(6); + add(7); + }}; + case 8: + case 9: + case 10: + case 11: + return new ArrayList<Integer>() {{ + add(8); + add(9); + add(10); + add(11); + }}; + case 12: + case 13: + case 14: + return new ArrayList<Integer>() {{ + add(12); + add(13); + add(14); + }}; + case 15: + case 16: + case 17: + case 18: + return new ArrayList<Integer>() {{ + add(15); + add(16); + add(17); + add(18); + }}; + case 19: + case 20: + case 21: + return new ArrayList<Integer>() {{ + add(19); + add(20); + add(21); + }}; + default: + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } } + + // 娉ㄦ剰椤哄簭 + public static List<String> getGroupOuterLoc(String locNo){ + int row = getRow(locNo); + switch (row) { + case 1: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(3), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(2), 2) + locNo.substring(2)); + }}; + case 2: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(3), 2) + locNo.substring(2)); + }}; + case 3: + case 4: + case 11: + case 12: + case 18: + case 19: + return new ArrayList<>(); + case 5: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(4), 2) + locNo.substring(2)); + }}; + case 6: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(4), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(5), 2) + locNo.substring(2)); + }}; + case 7: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(4), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(5), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(6), 2) + locNo.substring(2)); + }}; + case 8: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(11), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(10), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(9), 2) + locNo.substring(2)); + }}; + case 9: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(11), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(10), 2) + locNo.substring(2)); + }}; + case 10: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(11), 2) + locNo.substring(2)); + }}; + case 13: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(12), 2) + locNo.substring(2)); + }}; + case 14: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(12), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(13), 2) + locNo.substring(2)); + }}; + case 15: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(18), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(17), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(16), 2) + locNo.substring(2)); + }}; + case 16: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(18), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(17), 2) + locNo.substring(2)); + }}; + case 17: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(18), 2) + locNo.substring(2)); + }}; + case 20: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(19), 2) + locNo.substring(2)); + }}; + case 21: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(19), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(20), 2) + locNo.substring(2)); + }}; + default: + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } + } + + // 娉ㄦ剰椤哄簭 + public static List<String> getGroupInsideLoc(String locNo){ + int row = getRow(locNo); + switch (row) { + case 1: + case 21: + case 14: + case 15: + case 7: + case 8: + return new ArrayList<>(); + case 2: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(1), 2) + locNo.substring(2)); + }}; + case 3: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(1), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(2), 2) + locNo.substring(2)); + }}; + case 4: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(7), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(6), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(5), 2) + locNo.substring(2)); + }}; + case 5: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(7), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(6), 2) + locNo.substring(2)); + }}; + case 6: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(7), 2) + locNo.substring(2)); + }}; + case 9: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(8), 2) + locNo.substring(2)); + }}; + case 10: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(8), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(9), 2) + locNo.substring(2)); + }}; + case 11: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(8), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(9), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(10), 2) + locNo.substring(2)); + }}; + case 12: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(14), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(13), 2) + locNo.substring(2)); + }}; + case 13: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(14), 2) + locNo.substring(2)); + }}; + case 16: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(15), 2) + locNo.substring(2)); + }}; + case 17: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(15), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(16), 2) + locNo.substring(2)); + }}; + case 18: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(15), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(16), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(17), 2) + locNo.substring(2)); + }}; + case 19: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(21), 2) + locNo.substring(2)); + add(zerofill(String.valueOf(20), 2) + locNo.substring(2)); + }}; + case 20: + return new ArrayList<String>() {{ + add(zerofill(String.valueOf(21), 2) + locNo.substring(2)); + }}; + default: + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } + } + + public Map<Integer, List<Integer>> getRowSeqHasSortOfPakin(int start, int end) { + Map<Integer, List<Integer>> result = new HashMap<>(); + for (int i = start ; i <= end; i++) { + + } + return result; + } + } -- Gitblit v1.9.1