From 25c4d88c377055a726d8f79c9e11e2484b3c3442 Mon Sep 17 00:00:00 2001 From: L <L@123> Date: 星期二, 23 九月 2025 12:58:30 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/utils/Utils.java | 128 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 118 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 4ead5ce..3553e6d 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -35,6 +35,91 @@ return (float) Arith.multiplys(2, f, 1); } + public static int armStaNo(int armNo,int staNo) { + switch (armNo){ + case 1: + switch (staNo){ + case 0: + return 7; + case 1: + return 8; + case 2: + return 101; + case 3: + return 102; + default: + return 0; + } + case 2: + switch (staNo){ + case 0: + return 5; + case 1: + return 6; + case 2: + return 101; + case 3: + return 102; + default: + return 0; + } + case 3: + switch (staNo){ + case 0: + return 3; + case 1: + return 4; + case 2: + return 101; + case 3: + return 102; + default: + return 0; + } + case 4: + switch (staNo){ + case 0: + return 1; + case 1: + return 2; + case 2: + return 101; + case 3: + return 102; + default: + return 0; + } + case 5: + switch (staNo){ + case 0: + return 11; + case 1: + return 12; + case 2: + return 101; + case 3: + return 102; + default: + return 0; + } + case 6: + switch (staNo){ + case 0: + return 13; + case 1: + return 14; + case 2: + return 101; + case 3: + return 102; + default: + return 0; + } + default: + return 0; + } + } + public static String zerofill(String msg, Integer count) { if (msg.length() == count) { return msg; @@ -123,9 +208,17 @@ */ public static String getShallowLoc(SlaveProperties slaveProperties, String deepLoc) { int row = getRow(deepLoc); - int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount()); - int shallowRow = remainder == 1 ? (row + 1) : (row - 1); - return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2); + boolean deepLocLeft = isDeepLocLeft(slaveProperties, row); + boolean deepLocRight = isDeepLocRight(slaveProperties, row); + int targetRow; + if (deepLocLeft) { + targetRow = row + 1; + } else if (deepLocRight) { + targetRow = row - 1; + } else { + throw new RuntimeException(deepLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖"); + } + return zerofill(String.valueOf(targetRow), 2) + deepLoc.substring(2); } /** @@ -141,30 +234,45 @@ */ public static String getDeepLoc(SlaveProperties slaveProperties, String shallowLoc) { int row = getRow(shallowLoc); - int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount()); + boolean deepLocLeft = isDeepLocLeft(slaveProperties, row-1); + boolean deepLocRight = isDeepLocRight(slaveProperties, row+1); int targetRow; - if (remainder == 2) { + if (deepLocLeft) { targetRow = row - 1; - } else if (remainder == 3) { + } else if (deepLocRight) { targetRow = row + 1; } else { throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖"); } return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2); } +// public static String getDeepLoc(SlaveProperties slaveProperties, String shallowLoc) { +// int row = getRow(shallowLoc); +// int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount()); +// int targetRow; +// if (remainder == 2) { +// targetRow = row - 1; +// } else if (remainder == 3) { +// targetRow = row + 1; +// } else { +// throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖"); +// } +// return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2); +// } /** * 鑾峰彇 娴呭簱浣嶆帓瀵瑰簲鐨勬繁搴撲綅鎺� */ public static Integer getDeepRow(SlaveProperties slaveProperties, Integer shallowRow) { - int remainder = (int) Arith.remainder(shallowRow, slaveProperties.getGroupCount()); + boolean deepLocLeft = isDeepLocLeft(slaveProperties, shallowRow-1); + boolean deepLocRight = isDeepLocRight(slaveProperties, shallowRow+1); int targetRow; - if (remainder == 2) { + if (deepLocLeft) { targetRow = shallowRow - 1; - } else if (remainder == 3) { + } else if (deepLocRight) { targetRow = shallowRow + 1; } else { - throw new RuntimeException(shallowRow + "涓嶆槸娴呭簱浣嶆帓锛岀郴缁熺箒蹇�"); + throw new RuntimeException(shallowRow + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖"); } return targetRow; } -- Gitblit v1.9.1