From 7d4d4849daf849f2676899a96ceabd8ade703a32 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期二, 15 四月 2025 14:38:01 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 45 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index ad1411a..816a012 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -123,9 +123,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 +149,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; } @@ -476,7 +499,7 @@ } if ((curRow - sRow) % 4 == 0) { necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = (curRow - sRow + 2) / 4 + sCrnNo - 1; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[2] = (curRow - sRow + 2) / 4 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 necessaryParameters[3] = curRow + 1; //nearRow 鏈�娴呭簱浣嶆帓 } else if ((curRow - sRow + 1) % 4 == 0) { necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 -- Gitblit v1.9.1