From dff36af4872e3094cf646cd35b8277f79f21a2ed Mon Sep 17 00:00:00 2001 From: LSH Date: 星期四, 29 二月 2024 14:16:51 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 130 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 106 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 6f8e8ce..d06f20b 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -243,7 +243,7 @@ } } - public static boolean BooleanWhsTypeStaIoType(Integer whsType) { + public static boolean BooleanWhsTypeStaIoType(Integer whsType) { //鏌ヨ鐩镐技鐗╂枡寮�鍏� if (whsType == 1) { return true; } @@ -251,14 +251,14 @@ } public static boolean BooleanWhsTypeSta(Integer whsType) { - if (whsType == 1 || whsType == 5) { + if (whsType == 1 || whsType == 2 || whsType == 5) { return true; } return false; } public static boolean BooleanWhsTypeSta(Integer whsType, Integer staDescId) { - if ((whsType == 1 || whsType == 5) && staDescId != 11 && staDescId != 111) { + if ((whsType == 1 || whsType == 5 || whsType == 2) && staDescId != 11 && staDescId != 111) { return true; } return false; @@ -286,11 +286,11 @@ case 1://缁忓吀鍙屼几搴撲綅 return LocNecessaryParametersDoubleExtension(whsType, curRow, crnNumber); //宸插畬鍠� case 2://缁忓吀鍗曚几搴撲綅 - return LocNecessaryParametersDoubleExtension2(whsType, curRow, crnNumber); //鏈畬鍠� -// case 3://缁忓吀鍗曞弻浼稿簱浣� 宸﹀崟鍙冲弻 -// return LocNecessaryParametersDoubleExtension3(whsType, curRow, crnNumber); //鏈畬鍠� -// case 4://缁忓吀鍗曞弻浼稿簱浣� 宸﹀弻鍙冲崟 -// return LocNecessaryParametersDoubleExtension4(whsType, curRow, crnNumber); //鏈畬鍠� + return LocNecessaryParametersDoubleExtension2(whsType, curRow, crnNumber); //宸插畬鍠� + case 3://缁忓吀鍗曞弻浼稿簱浣� 宸﹀崟鍙冲弻(灏忓崟澶у弻) + return LocNecessaryParametersDoubleExtension3(whsType, curRow, crnNumber); //鏈畬鍠� + case 4://缁忓吀鍗曞弻浼稿簱浣� 宸﹀弻鍙冲崟(灏忓弻澶у崟) + return LocNecessaryParametersDoubleExtension4(whsType, curRow, crnNumber); //鏈畬鍠� case 5://鍙屽伐浣嶅崟浼稿簱浣� return LocNecessaryParametersDoubleExtension5(whsType, curRow, crnNumber); //鏈畬鍠� default: @@ -356,30 +356,112 @@ //缁忓吀鍗曚几搴撲綅 public static int[] LocNecessaryParametersDoubleExtension2(Integer whsType, Integer curRow, Integer crnNumber) { int[] necessaryParameters = new int[]{0, 0, 0, 0}; + RowLastnoService rowLastnoService = SpringUtils.getBean(RowLastnoService.class); + RowLastno rowLastno = rowLastnoService.selectById(whsType); + Integer sRow = rowLastno.getsRow(); + Integer sCrnNo = rowLastno.getsCrnNo(); 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 鏈�娴呭簱浣嶆帓 + if (curRow.equals(crnNumber * 2 + sRow - 1)) { + necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow; //nearRow 鏈�娴呭簱浣嶆帓 + } else if (curRow.equals(crnNumber * 2 - 1 + sRow - 1)) { + necessaryParameters[1] = sRow+1; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow+1; //nearRow 鏈�娴呭簱浣嶆帓 } else { - curRow = curRow + 4; - if (curRow < 1 || curRow > (crnNumber * 4)) { + curRow = curRow + 2; + if (curRow < sRow || curRow > (crnNumber * 2 + sRow - 1)) { throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); } - if ((curRow - 1) % 4 == 0) { + if ((curRow - sRow) % 2 == 0) { necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = (curRow + 3) / 4; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = curRow + 1; //nearRow 鏈�娴呭簱浣嶆帓 - } else if (curRow % 4 == 0) { + necessaryParameters[2] = (curRow - sRow) / 2 + sCrnNo ; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow ; //nearRow 鏈�娴呭簱浣嶆帓 + } else if ((curRow - sRow + 1) % 2 == 0) { necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = curRow / 4; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = curRow - 1; //nearRow 鏈�娴呭簱浣嶆帓 + necessaryParameters[2] = (curRow - sRow - 1) / 2 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow ; //nearRow 鏈�娴呭簱浣嶆帓 + } else { + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); + } + } + } + return necessaryParameters; + } + + //缁忓吀鍗曚几搴撲綅 + public static int[] LocNecessaryParametersDoubleExtension3(Integer whsType, Integer curRow, Integer crnNumber) { + int[] necessaryParameters = new int[]{0, 0, 0, 0}; + RowLastnoService rowLastnoService = SpringUtils.getBean(RowLastnoService.class); + RowLastno rowLastno = rowLastnoService.selectById(whsType); + Integer sRow = rowLastno.getsRow(); + Integer sCrnNo = rowLastno.getsCrnNo(); + if (BooleanWhsTypeSta(whsType)) { + necessaryParameters[0] = crnNumber; // 杞娆℃暟 + //婊℃澘姝e父鍏ュ簱 + if (curRow.equals(crnNumber * 2 + sRow - 1)) { + necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow; //nearRow 鏈�娴呭簱浣嶆帓 + } else if (curRow.equals(crnNumber * 2 - 1 + sRow - 1)) { + necessaryParameters[1] = sRow+1; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow+1; //nearRow 鏈�娴呭簱浣嶆帓 + } else { + curRow = curRow + 2; + if (curRow < sRow || curRow > (crnNumber * 2 + sRow - 1)) { + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); + } + if ((curRow - sRow) % 2 == 0) { + necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = (curRow - sRow) / 2 + sCrnNo ; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow ; //nearRow 鏈�娴呭簱浣嶆帓 + } else if ((curRow - sRow + 1) % 2 == 0) { + necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = (curRow - sRow - 1) / 2 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow ; //nearRow 鏈�娴呭簱浣嶆帓 + } else { + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); + } + } + } + return necessaryParameters; + } + + //缁忓吀鍗曚几搴撲綅 + public static int[] LocNecessaryParametersDoubleExtension4(Integer whsType, Integer curRow, Integer crnNumber) { + int[] necessaryParameters = new int[]{0, 0, 0, 0}; + RowLastnoService rowLastnoService = SpringUtils.getBean(RowLastnoService.class); + RowLastno rowLastno = rowLastnoService.selectById(whsType); + Integer sRow = rowLastno.getsRow(); + Integer sCrnNo = rowLastno.getsCrnNo(); + if (BooleanWhsTypeSta(whsType)) { + necessaryParameters[0] = crnNumber; // 杞娆℃暟 + //婊℃澘姝e父鍏ュ簱 + if (curRow.equals(crnNumber * 2 + sRow - 1)) { + necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow; //nearRow 鏈�娴呭簱浣嶆帓 + } else if (curRow.equals(crnNumber * 2 - 1 + sRow - 1)) { + necessaryParameters[1] = sRow+1; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow+1; //nearRow 鏈�娴呭簱浣嶆帓 + } else { + curRow = curRow + 2; + if (curRow < sRow || curRow > (crnNumber * 2 + sRow - 1)) { + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); + } + if ((curRow - sRow) % 2 == 0) { + necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = (curRow - sRow) / 2 + sCrnNo ; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow ; //nearRow 鏈�娴呭簱浣嶆帓 + } else if ((curRow - sRow + 1) % 2 == 0) { + necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = (curRow - sRow - 1) / 2 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow ; //nearRow 鏈�娴呭簱浣嶆帓 } else { throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); } -- Gitblit v1.9.1