From 700059de6ffbe956e6546e74aac9a1f0cd6f2663 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期一, 27 三月 2023 11:15:14 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 265 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 246 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 4b053cb..bd97705 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -1,5 +1,6 @@ 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; @@ -7,6 +8,8 @@ import java.text.DecimalFormat; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; /** @@ -162,16 +165,6 @@ } - public static Integer getGroupRow(String locNo, Boolean pakin){ - int row = getRow(locNo); - if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { - return pakin?17:2; - } - if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { - return pakin?30:18; - } - throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); - } public static List<String> getGroupLoc(String locNo){ @@ -190,18 +183,252 @@ } 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瀽寮傚父"); } - 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 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 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瀽寮傚父"); + } + } + + // 澶栦晶鏂瑰悜鐨勮揣浣� 浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜 + 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; + } + } + } + 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"))); + } + + // 鍐呬晶鏂瑰悜鐨勮揣浣� 浼樺厛鍏ュ簱鏂瑰悜/浼樺厛鍑哄簱鏂瑰悜 ===>> 鍙嶄箣 + 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; + } + } -- Gitblit v1.9.1