From 04b201c0e52a0971584f68504864b2ac527d03fd Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期三, 12 六月 2024 12:55:06 +0800 Subject: [PATCH] # --- src/main/resources/mapper/RowLastnoMapper.xml | 4 src/main/java/com/zy/asrs/utils/Utils.java | 299 ++++++++++++++++++++---------------------- src/main/java/com/zy/asrs/entity/RowLastno.java | 60 ++++++++ src/main/java/com/zy/common/service/CommonService.java | 32 ++-- 4 files changed, 225 insertions(+), 170 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/RowLastno.java b/src/main/java/com/zy/asrs/entity/RowLastno.java index 82cf0e3..d4897ed 100644 --- a/src/main/java/com/zy/asrs/entity/RowLastno.java +++ b/src/main/java/com/zy/asrs/entity/RowLastno.java @@ -142,6 +142,34 @@ @TableField("sta_no_list") private String staNoList; + /** + * 搴撶被鍨婭D + */ + @ApiModelProperty(value= "搴撶被鍨婭D") + @TableField("type_id") + private Integer typeId; + + /** + * 鐩镐技鐗╂枡寮�鍏� + */ + @ApiModelProperty(value= "鐩镐技鐗╂枡寮�鍏�") + @TableField("be_similar") + private String beSimilar; + + /** + * 鏄惁瀛樺湪鐐逛綅 + */ + @ApiModelProperty(value= "鏄惁瀛樺湪鐐逛綅") + @TableField("point_switch") + private String pointSwitch; + + /** + * 绌烘澘闈犺繎鎽嗘斁 + */ + @ApiModelProperty(value= "绌烘澘闈犺繎鎽嗘斁") + @TableField("empty_similar") + private String emptySimilar; + public RowLastno() {} public RowLastno(String wrkMk,Integer currentRow,Integer sRow,Integer eRow,Integer crnQty,String memo,Long modiUser,Date modiTime,Long appeUser,Date appeTime,Integer limintLoc) { @@ -347,4 +375,36 @@ this.staNoList = StaNoList; } + public Integer getTypeId() { + return typeId; + } + + public void setTypeId(Integer typeId) { + this.typeId = typeId; + } + + public String getBeSimilar() { + return beSimilar; + } + + public void setBeSimilar(String beSimilar) { + this.beSimilar = beSimilar; + } + + public String getPointSwitch() { + return pointSwitch; + } + + public void setPointSwitch(String pointSwitch) { + this.pointSwitch = pointSwitch; + } + + public String getEmptySimilar() { + return emptySimilar; + } + + public void setEmptySimilar(String emptySimilar) { + this.emptySimilar = emptySimilar; + } + } diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 34b1dc7..b4de45a 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -229,10 +229,10 @@ public static Integer GetWhsType(Integer sourceStaNo) { RowLastnoService rowLastnoService = SpringUtils.getBean(RowLastnoService.class); List<RowLastno> rowLastnos = rowLastnoService.selectList(new EntityWrapper<RowLastno>()); - for (RowLastno rowLastno:rowLastnos){ + for (RowLastno rowLastno : rowLastnos) { String[] staNoList = rowLastno.getStaNoList().split(";"); - for (String staNo : staNoList){ - if (staNo.equals(sourceStaNo.toString())){ + for (String staNo : staNoList) { + if (staNo.equals(sourceStaNo.toString())) { return rowLastno.getWhsType(); } } @@ -240,22 +240,15 @@ return 0; } - public static boolean BooleanWhsTypeStaIoType(Integer whsType) { //鏌ヨ鐩镐技鐗╂枡寮�鍏� - if (whsType == 1 || whsType==3 || whsType==4) { + public static boolean BooleanWhsTypeStaIoType(RowLastno rowLastno) { //鏌ヨ鐩镐技鐗╂枡寮�鍏� + if (rowLastno.getBeSimilar().equals("Y")) { return true; } return false; } - public static boolean BooleanWhsTypeSta(Integer whsType) { - if (whsType == 1 || whsType == 2 || whsType == 5 || whsType==3 || whsType==4) { - return true; - } - return false; - } - - public static boolean BooleanWhsTypeSta(Integer whsType, Integer staDescId) { - if ((whsType == 1 || whsType == 5 || whsType == 2 || whsType==3 || whsType==4) && staDescId != 11 && staDescId != 111) { + public static boolean BooleanWhsTypeSta(RowLastno rowLastno, Integer staDescId) {//绔欑偣璺緞鏇存柊 + if (rowLastno.getPointSwitch().equals("Y") && staDescId != 11 && staDescId != 111) { return true; } return false; @@ -281,7 +274,7 @@ public static int[] LocNecessaryParameters(Integer whsType, Integer curRow, Integer crnNumber) { RowLastnoService rowLastnoService = SpringUtils.getBean(RowLastnoService.class); RowLastno rowLastno = rowLastnoService.selectById(whsType); - switch (whsType){ + switch (rowLastno.getTypeId()) { case 1://缁忓吀鍙屼几搴撲綅 return LocNecessaryParametersDoubleExtension(rowLastno, curRow, crnNumber); //宸插畬鍠� case 2://缁忓吀鍗曚几搴撲綅锛�2鎺掕揣鏋讹級 @@ -303,35 +296,34 @@ Integer sRow = rowLastno.getsRow(); Integer sCrnNo = rowLastno.getsCrnNo(); - if (BooleanWhsTypeSta(rowLastno.getWhsType())) { - necessaryParameters[0] = crnNumber; // 杞娆℃暟 - //婊℃澘姝e父鍏ュ簱 - if (curRow.equals(crnNumber * 4 + sRow - 1)) { - necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = sRow+1; //nearRow 鏈�娴呭簱浣嶆帓 - } else if (curRow.equals((crnNumber - 1) * 4 + sRow)) { - necessaryParameters[1] = sRow+3; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = sRow+2; //nearRow 鏈�娴呭簱浣嶆帓 + necessaryParameters[0] = crnNumber; // 杞娆℃暟 + //婊℃澘姝e父鍏ュ簱 + if (curRow.equals(crnNumber * 4 + sRow - 1)) { + necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow + 1; //nearRow 鏈�娴呭簱浣嶆帓 + } else if (curRow.equals((crnNumber - 1) * 4 + sRow)) { + necessaryParameters[1] = sRow + 3; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow + 2; //nearRow 鏈�娴呭簱浣嶆帓 + } else { + curRow = curRow + 4; + if (curRow < sRow || curRow > (crnNumber * 4 + sRow - 1)) { + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); + } + if ((curRow - sRow) % 4 == 0) { + necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = (curRow - sRow + 2) / 4 + sCrnNo - 1; //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[3] = curRow - 1; //nearRow 鏈�娴呭簱浣嶆帓 } else { - curRow = curRow + 4; - if (curRow < sRow || curRow > (crnNumber * 4 + sRow - 1)) { - throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); - } - if ((curRow - sRow) % 4 == 0) { - necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = (curRow - sRow + 2) / 4 + sCrnNo - 1; //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[3] = curRow - 1; //nearRow 鏈�娴呭簱浣嶆帓 - } else { - throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); - } + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); } } + return necessaryParameters; } @@ -339,14 +331,14 @@ public static int[] LocNecessaryParametersMove(RowLastno rowLastno, Integer curRow, Integer moveCrnNo) { int[] necessaryParameters = new int[]{0, 0, 0, 0}; necessaryParameters[0] = 2; // 杞娆℃暟 - if (curRow.equals(moveCrnNo*4-2)){ - necessaryParameters[1] = curRow+2; //curRow 鏈�娣卞簱浣嶆帓 + if (curRow.equals(moveCrnNo * 4 - 2)) { + necessaryParameters[1] = curRow + 2; //curRow 鏈�娣卞簱浣嶆帓 necessaryParameters[2] = moveCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = curRow+1; //nearRow 鏈�娴呭簱浣嶆帓 - }else { - necessaryParameters[1] = curRow-2; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[3] = curRow + 1; //nearRow 鏈�娴呭簱浣嶆帓 + } else { + necessaryParameters[1] = curRow - 2; //curRow 鏈�娣卞簱浣嶆帓 necessaryParameters[2] = moveCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = curRow-1; //nearRow 鏈�娴呭簱浣嶆帓 + necessaryParameters[3] = curRow - 1; //nearRow 鏈�娴呭簱浣嶆帓 } return necessaryParameters; } @@ -356,33 +348,31 @@ int[] necessaryParameters = new int[]{0, 0, 0, 0}; Integer sRow = rowLastno.getsRow(); Integer sCrnNo = rowLastno.getsCrnNo(); - if (BooleanWhsTypeSta(rowLastno.getWhsType())) { - 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 - 1) * 2 + sRow)) { - necessaryParameters[1] = sRow+1; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = sRow+1; //nearRow 鏈�娴呭簱浣嶆帓 + 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 - 1) * 2 + sRow)) { + 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 { - 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); - } + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); } } return necessaryParameters; @@ -393,35 +383,34 @@ int[] necessaryParameters = new int[]{0, 0, 0, 0}; Integer sRow = rowLastno.getsRow(); Integer sCrnNo = rowLastno.getsCrnNo(); - if (BooleanWhsTypeSta(rowLastno.getWhsType())) { - necessaryParameters[0] = crnNumber; // 杞娆℃暟 - //婊℃澘姝e父鍏ュ簱 - if (curRow.equals(crnNumber * 3 + sRow - 1)) { - necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = sRow; //nearRow 鏈�娴呭簱浣嶆帓 - } else if (curRow.equals((crnNumber - 1) * 3 + sRow)) { - necessaryParameters[1] = sRow+2; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = sRow+1; //nearRow 鏈�娴呭簱浣嶆帓 + necessaryParameters[0] = crnNumber; // 杞娆℃暟 + //婊℃澘姝e父鍏ュ簱 + if (curRow.equals(crnNumber * 3 + sRow - 1)) { + necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow; //nearRow 鏈�娴呭簱浣嶆帓 + } else if (curRow.equals((crnNumber - 1) * 3 + sRow)) { + necessaryParameters[1] = sRow + 2; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow + 1; //nearRow 鏈�娴呭簱浣嶆帓 + } else { + curRow = curRow + 3; + if (curRow < sRow || curRow > (crnNumber * 3 + sRow - 1)) { + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); + } + if ((curRow - sRow) % 3 == 0) { + necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = (curRow - sRow) / 3 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow; //nearRow 鏈�娴呭簱浣嶆帓 + } else if ((curRow - sRow + 1) % 3 == 0) { + necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = (curRow - sRow - 2) / 3 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow - 1; //nearRow 鏈�娴呭簱浣嶆帓 } else { - curRow = curRow + 3; - if (curRow < sRow || curRow > (crnNumber * 3 + sRow - 1)) { - throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); - } - if ((curRow - sRow) % 3 == 0) { - necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = (curRow - sRow) / 3 + sCrnNo ; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = curRow ; //nearRow 鏈�娴呭簱浣嶆帓 - } else if ((curRow - sRow + 1) % 3 == 0) { - necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = (curRow - sRow - 2) / 3 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = curRow-1 ; //nearRow 鏈�娴呭簱浣嶆帓 - } else { - throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); - } + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); } } + return necessaryParameters; } @@ -430,35 +419,34 @@ int[] necessaryParameters = new int[]{0, 0, 0, 0}; Integer sRow = rowLastno.getsRow(); Integer sCrnNo = rowLastno.getsCrnNo(); - if (BooleanWhsTypeSta(rowLastno.getWhsType())) { - necessaryParameters[0] = crnNumber; // 杞娆℃暟 - //婊℃澘姝e父鍏ュ簱 - if (curRow.equals(crnNumber * 3 + sRow - 1)) { - necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = sRow+1; //nearRow 鏈�娴呭簱浣嶆帓 - } else if (curRow.equals((crnNumber - 1) * 3 + sRow)) { - necessaryParameters[1] = sRow+2; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = sRow+2; //nearRow 鏈�娴呭簱浣嶆帓 + necessaryParameters[0] = crnNumber; // 杞娆℃暟 + //婊℃澘姝e父鍏ュ簱 + if (curRow.equals(crnNumber * 3 + sRow - 1)) { + necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow + 1; //nearRow 鏈�娴呭簱浣嶆帓 + } else if (curRow.equals((crnNumber - 1) * 3 + sRow)) { + necessaryParameters[1] = sRow + 2; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow + 2; //nearRow 鏈�娴呭簱浣嶆帓 + } else { + curRow = curRow + 3; + if (curRow < sRow || curRow > (crnNumber * 3 + sRow - 1)) { + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); + } + if ((curRow - sRow) % 3 == 0) { + necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = (curRow - sRow) / 3 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow + 1; //nearRow 鏈�娴呭簱浣嶆帓 + } else if ((curRow - sRow + 1) % 3 == 0) { + necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = (curRow - sRow - 2) / 3 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow; //nearRow 鏈�娴呭簱浣嶆帓 } else { - curRow = curRow + 3; - if (curRow < sRow || curRow > (crnNumber * 3 + sRow - 1)) { - throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); - } - if ((curRow - sRow) % 3 == 0) { - necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = (curRow - sRow) / 3 + sCrnNo ; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = curRow + 1 ; //nearRow 鏈�娴呭簱浣嶆帓 - } else if ((curRow - sRow + 1) % 3 == 0) { - necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = (curRow - sRow - 2) / 3 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = curRow ; //nearRow 鏈�娴呭簱浣嶆帓 - } else { - throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); - } + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); } } + return necessaryParameters; } @@ -467,35 +455,34 @@ int[] necessaryParameters = new int[]{0, 0, 0, 0}; Integer sRow = rowLastno.getsRow(); Integer sCrnNo = rowLastno.getsCrnNo(); - if (BooleanWhsTypeSta(rowLastno.getWhsType())) { - necessaryParameters[0] = crnNumber; // 杞娆℃暟 - //婊℃澘姝e父鍏ュ簱 - if (curRow.equals(crnNumber * 4 + sRow - 1)) { - necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = sRow+1; //nearRow 鏈�娴呭簱浣嶆帓 - } else if (curRow.equals((crnNumber - 1) * 4 + sRow)) { - necessaryParameters[1] = sRow+3; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = sRow+2; //nearRow 鏈�娴呭簱浣嶆帓 + necessaryParameters[0] = crnNumber; // 杞娆℃暟 + //婊℃澘姝e父鍏ュ簱 + if (curRow.equals(crnNumber * 4 + sRow - 1)) { + necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow + 1; //nearRow 鏈�娴呭簱浣嶆帓 + } else if (curRow.equals((crnNumber - 1) * 4 + sRow)) { + necessaryParameters[1] = sRow + 3; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 + necessaryParameters[3] = sRow + 2; //nearRow 鏈�娴呭簱浣嶆帓 + } else { + curRow = curRow + 4; + if (curRow < sRow || curRow > (crnNumber * 4 + sRow - 1)) { + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); + } + if ((curRow - sRow) % 4 == 0) { + necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 + necessaryParameters[2] = (curRow - sRow + 2) / 4 + sCrnNo - 1; //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[3] = curRow - 1; //nearRow 鏈�娴呭簱浣嶆帓 } else { - curRow = curRow + 4; - if (curRow < sRow || curRow > (crnNumber * 4 + sRow - 1)) { - throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); - } - if ((curRow - sRow) % 4 == 0) { - necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = (curRow - sRow + 2) / 4 + sCrnNo - 1; //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[3] = curRow - 1; //nearRow 鏈�娴呭簱浣嶆帓 - } else { - throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); - } + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); } } + return necessaryParameters; } @@ -559,14 +546,14 @@ * 鍑哄簱 false:pakin * */ // 澶栦晶鏂瑰悜鐨勮揣浣� 浼樺厛鍏ュ簱鏂瑰悜 ===>> 鍙嶄箣 - public static List<String> getGroupOutLocCrn(Integer curRow,Integer nearRow,String locNo,boolean pakin){ + public static List<String> getGroupOutLocCrn(Integer curRow, Integer nearRow, String locNo, boolean pakin) { List<String> result = new ArrayList<>(); - if (pakin){ - for (int row = curRow;row<=nearRow;row++){ + if (pakin) { + for (int row = curRow; row <= nearRow; row++) { result.add(zerofill(String.valueOf(row), 2) + locNo.substring(2)); } - }else { - for (int row = curRow;row>=curRow;row--){ + } else { + for (int row = curRow; row >= curRow; row--) { result.add(zerofill(String.valueOf(row), 2) + locNo.substring(2)); } } diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index cbc3cbe..4bc7fbd 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -119,7 +119,12 @@ */ @Transactional public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, LocTypeDto locTypeDto) { - whsType = Utils.GetWhsType(sourceStaNo); + try{ + whsType = Utils.GetWhsType(sourceStaNo); + }catch (Exception e){ + log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�",sourceStaNo); + return null; + } return getLocNoRun(whsType,staDescId,sourceStaNo,matnr,batch,grade,0,locTypeDto,0); } @@ -199,7 +204,7 @@ boolean signRule2 = false; - if (Utils.BooleanWhsTypeStaIoType(whsType)){ + if (Utils.BooleanWhsTypeStaIoType(rowLastno)){ // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� //鍒嗙鐗� if (!Cools.isEmpty(matnr) && staDescId == 1){ signRule1 = true; @@ -270,9 +275,9 @@ // } // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 //浜掗�氱増 - if (staDescId == 10 && Utils.BooleanWhsTypeStaIoType(whsType)) { + if (staDescId == 10 && Utils.BooleanWhsTypeStaIoType(rowLastno)) { List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow)); - if (locMasts.size() > 0) { + if (!locMasts.isEmpty()) { for (LocMast loc : locMasts) { if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) { continue; @@ -297,7 +302,7 @@ StaDesc staDesc = null; BasDevp staNo = null; - if (Utils.BooleanWhsTypeSta(whsType, staDescId)) { + if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) { // 鑾峰彇鐩爣绔� wrapper = new EntityWrapper<StaDesc>() .eq("type_no", staDescId) @@ -317,12 +322,11 @@ } startupDto.setStaNo(staNo.getDevNo()); } - } - - // 鏇存柊搴撲綅鎺掑彿 - if (Utils.BooleanWhsTypeSta(whsType, staDescId) && Cools.isEmpty(locMast)) { - rowLastno.setCurrentRow(curRow); - rowLastnoService.updateById(rowLastno); + // 鏇存柊搴撲綅鎺掑彿 + if (Cools.isEmpty(locMast)){ + rowLastno.setCurrentRow(curRow); + rowLastnoService.updateById(rowLastno); + } } // 寮�濮嬫煡鎵惧簱浣� ==============================>> @@ -337,7 +341,7 @@ if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { continue; } - if (Utils.BooleanWhsTypeStaIoType(whsType)){ + if (Utils.BooleanWhsTypeStaIoType(rowLastno)){ String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo()); LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() .eq("loc_no", shallowLoc).eq("loc_sts", "O")); @@ -353,12 +357,12 @@ } } - if (Cools.isEmpty(locMast) && Utils.BooleanWhsTypeStaIoType(whsType)){ + if (Cools.isEmpty(locMast) && Utils.BooleanWhsTypeStaIoType(rowLastno)){ for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { continue; } - if (Utils.BooleanWhsTypeStaIoType(whsType)){ + if (Utils.BooleanWhsTypeStaIoType(rowLastno)){ String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo()); LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() .eq("loc_no", shallowLoc).eq("loc_sts", "O")); diff --git a/src/main/resources/mapper/RowLastnoMapper.xml b/src/main/resources/mapper/RowLastnoMapper.xml index 8dcdf71..5080b08 100644 --- a/src/main/resources/mapper/RowLastnoMapper.xml +++ b/src/main/resources/mapper/RowLastnoMapper.xml @@ -22,6 +22,10 @@ <result column="sign_type_other" property="signTypeOther" /> <result column="sign_type_other_boolean" property="signTypeOtherBoolean" /> <result column="sta_no_list" property="staNoList" /> + <result column="type_id" property="typeId" /> + <result column="be_similar" property="beSimilar" /> + <result column="point_switch" property="pointSwitch" /> + <result column="empty_similar" property="emptySimilar" /> </resultMap> -- Gitblit v1.9.1