From 378c4ef0d9013c4a2dcb22beca22e32535e280f0 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期一, 23 十月 2023 10:25:10 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 108 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 94 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index ef6014f..6aff3ca 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -2,6 +2,7 @@ import com.core.common.Arith; import com.core.common.Cools; +import com.core.exception.CoolException; import com.zy.common.properties.SlaveProperties; import java.text.DecimalFormat; @@ -60,6 +61,29 @@ } /** + * 鍒ゆ柇鏄惁涓哄乏娣卞簱浣� + */ + public static boolean isDeepLocLeft(SlaveProperties slaveProperties, Integer row){ + if (slaveProperties.isDoubleDeep()) { + return slaveProperties.getDoubleLocsLeft().contains(row); + } else { + return false; + } + } + + + /** + * 鍒ゆ柇鏄惁涓哄彸娣卞簱浣� + */ + public static boolean isDeepLocRight(SlaveProperties slaveProperties, Integer row){ + if (slaveProperties.isDoubleDeep()) { + return slaveProperties.getDoubleLocsRight().contains(row); + } else { + return false; + } + } + + /** * 鍒ゆ柇鏄惁涓烘祬搴撲綅 */ public static boolean isShallowLoc(SlaveProperties slaveProperties, String locNo){ @@ -88,14 +112,7 @@ public static String getShallowLoc(SlaveProperties slaveProperties, String deepLoc) { int row = getRow(deepLoc); int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount()); - int shallowRow; - if (row==9 || row==15){ - shallowRow=row+1; - }else if (row==12 || row==18){ - shallowRow=row-1; - }else { - throw new RuntimeException(row + "涓嶆槸娣卞簱浣嶏紝绯荤粺绻佸繖"); - } + int shallowRow = remainder == 1 ? (row + 1) : (row - 1); return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2); } @@ -114,9 +131,9 @@ int row = getRow(shallowLoc); int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount()); int targetRow; - if (row == 10 || row == 16) { + if (remainder == 2) { targetRow = row - 1; - } else if (row == 11 || row == 17) { + } else if (remainder == 3) { targetRow = row + 1; } else { throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖"); @@ -133,10 +150,6 @@ if (remainder == 2) { targetRow = shallowRow - 1; } else if (remainder == 3) { - targetRow = shallowRow + 1; - } else if (shallowRow == 10 || shallowRow == 16) { - targetRow = shallowRow - 1; - } else if (shallowRow == 11 || shallowRow == 17) { targetRow = shallowRow + 1; } else { throw new RuntimeException(shallowRow + "涓嶆槸娴呭簱浣嶆帓锛岀郴缁熺箒蹇�"); @@ -183,4 +196,71 @@ System.out.println(deepRow); } + + public static boolean BooleanWhsTypeSta(Integer whsType){ + if (whsType==1){ + return true; + } + return false; + } + + public static boolean BooleanWhsTypeSta(Integer whsType, Integer staDescId){ + if (whsType==1 && staDescId!=11 && staDescId!=111){ + return true; + } + return false; + } + + public static int RowCount(Integer whsType,Integer curRow,Integer crnNumber){ + return LocNecessaryParameters(whsType, curRow,crnNumber)[0]; + } + public static int getCurRow(Integer whsType,Integer curRow,Integer crnNumber){ + return LocNecessaryParameters(whsType, curRow,crnNumber)[1]; + } + public static int getCrnNo(Integer whsType,Integer curRow,Integer crnNumber){ + return LocNecessaryParameters(whsType, curRow,crnNumber)[2]; + } + public static int getNearRow(Integer whsType,Integer curRow,Integer crnNumber){ + return LocNecessaryParameters(whsType, curRow,crnNumber)[3]; + } + + //搴撲綅鎺掑彿鍒嗛厤 + public static int[] LocNecessaryParameters(Integer whsType,Integer curRow,Integer crnNumber){ + return LocNecessaryParametersDoubleExtension(whsType, curRow,crnNumber); + } + + //缁忓吀鍙屼几搴撲綅 + public static int[] LocNecessaryParametersDoubleExtension(Integer whsType,Integer curRow,Integer crnNumber){ + int[] necessaryParameters=new int[]{0,0,0,0}; + if (BooleanWhsTypeSta(whsType)){ + necessaryParameters[0] = crnNumber; + //婊℃澘姝e父鍏ュ簱 + if (curRow.equals(crnNumber*4)){ + necessaryParameters[1] = 1; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = 1; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = 2; //nearRow 鏈�娴呭簱浣嶆帓 + }else if (curRow.equals(crnNumber*4-3)){ + necessaryParameters[1] = 4; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = 1; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = 3; //nearRow 鏈�娴呭簱浣嶆帓 + }else { + curRow=curRow+4; + if (curRow<1 || curRow > (crnNumber*4)){ + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細"+curRow); + } + if ((curRow-1)%4==0){ + necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = (curRow+3)/4; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow+1; //nearRow 鏈�娴呭簱浣嶆帓 + }else if (curRow%4==0){ + necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = curRow/4; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow-1; //nearRow 鏈�娴呭簱浣嶆帓 + }else { + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細"+curRow); + } + } + } + return necessaryParameters; + } } -- Gitblit v1.9.1