From 65d4a072e6a382b9583cae85d5c6e59685c2c1c5 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期二, 13 十二月 2022 16:39:01 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 487 +++++++++++++++-------------------------------------- 1 files changed, 138 insertions(+), 349 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 89cef79..ecbc7e8 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -1,11 +1,15 @@ 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; +import com.zy.common.service.CommonService; import java.text.DecimalFormat; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; /** @@ -161,374 +165,159 @@ } - public static Integer getOutermostRow(String locNo, Boolean pakin){ - int row = getRow(locNo); - switch (row) { - case 1: - case 2: - case 3: - return 3; - case 4: - case 5: - case 6: - case 7: - return 4; - case 8: - case 9: - case 10: - case 11: - return 11; - case 12: - case 13: - case 14: - return 12; - case 15: - case 16: - case 17: - case 18: - return 18; - case 19: - case 20: - case 21: - return 19; - default: - throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); - } - } - - public static Integer getInnermostRow(String locNo){ - int row = getRow(locNo); - switch (row) { - case 1: - case 2: - case 3: - return 1; - case 4: - case 5: - case 6: - case 7: - return 7; - case 8: - case 9: - case 10: - case 11: - return 8; - case 12: - case 13: - case 14: - return 14; - case 15: - case 16: - case 17: - case 18: - return 15; - case 19: - case 20: - case 21: - return 21; - default: - throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); - } - } public static List<String> getGroupLoc(String locNo){ int row = getRow(locNo); - switch (row) { - case 1: - case 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)); - add(zerofill(String.valueOf(3), 2) + locNo.substring(2)); - }}; - case 4: - case 5: - case 6: - 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)); - add(zerofill(String.valueOf(7), 2) + locNo.substring(2)); - }}; - case 8: - case 9: - case 10: - 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)); - add(zerofill(String.valueOf(11), 2) + locNo.substring(2)); - }}; - case 12: - case 13: - case 14: - return new ArrayList<String>() {{ - add(zerofill(String.valueOf(12), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(13), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(14), 2) + locNo.substring(2)); - }}; - case 15: - case 16: - case 17: - 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)); - add(zerofill(String.valueOf(18), 2) + locNo.substring(2)); - }}; - case 19: - case 20: - case 21: - return new ArrayList<String>() {{ - add(zerofill(String.valueOf(19), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(20), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(21), 2) + locNo.substring(2)); - }}; - default: - throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.FIRST_GROUP_ROW_LIST) { + result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); + } + return result; + } + if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { + List<String> result = new ArrayList<>(); + for (Integer row0 : CommonService.SECOND_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 (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){ - 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瀽寮傚父"); + 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); - 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瀽寮傚父"); + 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); - 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瀽寮傚父"); + 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