From 6f01b51fc0770fda7787076caf0314be7a7f6656 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 27 六月 2025 10:58:21 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 85 ++++++++++++++++++++---------------------- 1 files changed, 41 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 0b98d6b..f85a48b 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -123,17 +123,9 @@ */ 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); + boolean deepLocLeft = isDeepLocLeft(slaveProperties, row);//鍒ゆ柇鏄惁涓哄乏娣卞簱浣� + int shallowRow = deepLocLeft? (row + 1) : (row - 1); return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2); - } - - /** - * 鑾峰彇 娣卞簱浣嶆帓瀵瑰簲鐨勬祬搴撲綅鎺� - */ - public static Integer getShallowRow(SlaveProperties slaveProperties, Integer deepRow) { - int remainder = (int) Arith.remainder(deepRow, slaveProperties.getGroupCount()); - return remainder == 1 ? (deepRow + 1) : (deepRow - 1); } /** @@ -141,32 +133,26 @@ */ 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); + boolean deepLocLeft = isDeepLocLeft(slaveProperties, row-1);//鍒ゆ柇鏄惁涓哄乏娴呭簱浣� + int shallowRow = deepLocLeft? (row - 1) : (row + 1); + return zerofill(String.valueOf(shallowRow), 2) + shallowLoc.substring(2); + } + + /** + * 鑾峰彇 娣卞簱浣嶆帓瀵瑰簲鐨勬祬搴撲綅鎺� + */ + public static Integer getShallowRow(SlaveProperties slaveProperties, Integer deepRow) { +// int remainder = (int) Arith.remainder(deepRow, slaveProperties.getGroupCount()); + boolean deepLocLeft = isDeepLocLeft(slaveProperties, deepRow);//鍒ゆ柇鏄惁涓哄乏娣卞簱浣� + return deepLocLeft ? (deepRow + 1) : (deepRow - 1); } /** * 鑾峰彇 娴呭簱浣嶆帓瀵瑰簲鐨勬繁搴撲綅鎺� */ public static Integer getDeepRow(SlaveProperties slaveProperties, Integer shallowRow) { - int remainder = (int) Arith.remainder(shallowRow, slaveProperties.getGroupCount()); - int targetRow; - if (remainder == 2) { - targetRow = shallowRow - 1; - } else if (remainder == 3) { - targetRow = shallowRow + 1; - } else { - throw new RuntimeException(shallowRow + "涓嶆槸娴呭簱浣嶆帓锛岀郴缁熺箒蹇�"); - } - return targetRow; + boolean deepLocLeft = isDeepLocLeft(slaveProperties, shallowRow-1);//鍒ゆ柇鏄惁涓哄乏娴呭簱浣� + return deepLocLeft? (shallowRow - 1) : (shallowRow + 1); } /** @@ -216,17 +202,6 @@ String targetLoc = zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2); } - -// 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 GetWhsType(Integer sourceStaNo) { RowLastnoService rowLastnoService = SpringUtils.getBean(RowLastnoService.class); @@ -287,6 +262,8 @@ return LocNecessaryParametersDoubleExtension5(rowLastno, curRow, crnNumber); //宸插畬鍠� case 6://鍥涘悜搴�(鐗涚溂杞�)eg:鍏夋嘲鍥涘悜 return LocNecessaryParametersDoubleExtension6(rowLastno, curRow, crnNumber); //宸插畬鍠� + case 7://骞冲簱 CTU搴� + return LocNecessaryParametersDoubleExtension7(rowLastno, curRow, crnNumber); //宸插畬鍠� default: return LocNecessaryParametersMove(rowLastno, curRow, crnNumber);//moveCrnNo } @@ -315,11 +292,11 @@ } if ((curRow - sRow) % 4 == 0) { necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = (curRow - sRow + 2) / 4 + sCrnNo - 1; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[2] = (curRow - sRow) / 4 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 necessaryParameters[3] = curRow + 1; //nearRow 鏈�娴呭簱浣嶆帓 } else if ((curRow - sRow + 1) % 4 == 0) { necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = (curRow - sRow + 1) / 4 + sCrnNo - 1; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[2] = (curRow - sRow - 3) / 4 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 necessaryParameters[3] = curRow - 1; //nearRow 鏈�娴呭簱浣嶆帓 } else { throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); @@ -474,7 +451,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 鏈�娣卞簱浣嶆帓 @@ -535,6 +512,26 @@ return necessaryParameters; } + //骞冲簱锛堝厜娉癨CTU锛� + public static int[] LocNecessaryParametersDoubleExtension7(RowLastno rowLastno, Integer curRow, Integer crnNumber) { + int[] necessaryParameters = new int[]{0, 0, 0, 0}; + Integer sRow = rowLastno.getsRow();//璧峰鎺掑彿 + Integer sCrnNo = rowLastno.getsCrnNo();//璧峰鍫嗗灈鏈哄彿 + necessaryParameters[0] = crnNumber; // 杞娆℃暟 + //婊℃澘姝e父鍏ュ簱 + if (curRow.equals(rowLastno.geteRow())){ + necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow; //nearRow 鏈�娴呭簱浣嶆帓 + } else { + necessaryParameters[1] = curRow + 1; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow + 1; //nearRow 鏈�娴呭簱浣嶆帓 + } + + return necessaryParameters; + } + public static void main(String[] args) { List<LocMast> locS = new ArrayList<LocMast>(); -- Gitblit v1.9.1