From 9a0d024ef76899b1721d82739fa66f9b528efc85 Mon Sep 17 00:00:00 2001 From: lsh <lsh> Date: 星期二, 21 五月 2024 15:59:23 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/properties/SlaveProperties.java | 2 src/main/java/com/zy/asrs/utils/Utils.java | 107 ++++++++++++++++++++++++----------- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 16 ++-- src/main/resources/application.yml | 49 +++++++++------- 4 files changed, 112 insertions(+), 62 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index cf585c2..def7a6f 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1459,7 +1459,7 @@ case 3: case 4: case 5: - break; + continue; default: this.crnStnToLoc1(crn, crnProtocol,1); // 鍏ュ簱 } @@ -1473,7 +1473,7 @@ case 3: case 4: case 5: - break; + continue; default: this.locToCrnStn1(crn, crnProtocol,1); // 鍑哄簱 } @@ -1491,7 +1491,7 @@ case 3: case 4: case 5: - break; + continue; default: this.locToCrnStn1(crn, crnProtocol,1); // 鍑哄簱 } @@ -1505,7 +1505,7 @@ case 3: case 4: case 5: - break; + continue; default: this.crnStnToLoc1(crn, crnProtocol,1); // 鍏ュ簱 } @@ -1572,7 +1572,7 @@ this.crnStnToLoc1(crn, crnProtocol, sign[1]); // 鍏ュ簱 break; default: - break; + continue; } crnProtocol.setLastIo("O"); } else if (basCrnp.getOutEnable().equals("Y")) { @@ -1583,7 +1583,7 @@ this.locToCrnStn1(crn, crnProtocol, sign[1]); // 鍑哄簱 break; default: - break; + continue; } crnProtocol.setLastIo("I"); } @@ -1598,7 +1598,7 @@ this.locToCrnStn1(crn, crnProtocol, sign[1]); // 鍑哄簱 break; default: - break; + continue; } crnProtocol.setLastIo("I"); } else if (basCrnp.getInEnable().equals("Y")) { @@ -1609,7 +1609,7 @@ this.crnStnToLoc1(crn, crnProtocol, sign[1]); // 鍏ュ簱 break; default: - break; + continue; } crnProtocol.setLastIo("O"); } diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index b8b092e..07f4084 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -60,26 +60,36 @@ } /** - * 鍒ゆ柇鏄惁涓烘祬搴撲綅 + * 鍒ゆ柇鏄惁涓烘祬搴撲綅 骞跺瓨鍦ㄦ繁搴撲綅 */ - public static boolean isShallowLoc(SlaveProperties slaveProperties, String locNo){ + public static boolean isShallowLoc(SlaveProperties slaveProperties, String locNo) { if (slaveProperties.isDoubleDeep()) { int row = getRow(locNo); - return !slaveProperties.getDoubleLocs().contains(row); - } else { - return false; + if (!slaveProperties.getDoubleLocs().contains(row)){ + boolean deepLocLeft = isDeepLocLeft(slaveProperties, row-1);//鍒ゆ柇鏄惁涓哄乏娴呭簱浣� + if (deepLocLeft){ + return true; + } + return isDeepLocRight(slaveProperties, row+1);//鍒ゆ柇鏄惁涓哄彸娴呭簱浣� + } } + return false; } /** * 鍒ゆ柇鏄惁涓烘祬搴撲綅 */ - public static boolean isShallowLoc(SlaveProperties slaveProperties, Integer row){ + public static boolean isShallowLoc(SlaveProperties slaveProperties, Integer row) { if (slaveProperties.isDoubleDeep()) { - return !slaveProperties.getDoubleLocs().contains(row); - } else { - return false; + if (!slaveProperties.getDoubleLocs().contains(row)){ + boolean deepLocLeft = isDeepLocLeft(slaveProperties, row-1);//鍒ゆ柇鏄惁涓哄乏娴呭簱浣� + if (deepLocLeft){ + return true; + } + return isDeepLocRight(slaveProperties, row+1);//鍒ゆ柇鏄惁涓哄彸娴呭簱浣� + } } + return false; } /** @@ -87,8 +97,8 @@ */ 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); } @@ -96,41 +106,72 @@ * 鑾峰彇 娣卞簱浣嶆帓瀵瑰簲鐨勬祬搴撲綅鎺� */ public static Integer getShallowRow(SlaveProperties slaveProperties, Integer deepRow) { - int remainder = (int) Arith.remainder(deepRow, slaveProperties.getGroupCount()); - return remainder == 1 ? (deepRow + 1) : (deepRow - 1); +// int remainder = (int) Arith.remainder(deepRow, slaveProperties.getGroupCount()); +// return remainder == 1 ? (deepRow + 1) : (deepRow - 1); + boolean deepLocLeft = isDeepLocLeft(slaveProperties, deepRow);//鍒ゆ柇鏄惁涓哄乏娣卞簱浣� + return deepLocLeft ? (deepRow + 1) : (deepRow - 1); + } + + /** + * 鍒ゆ柇鏄惁涓哄乏娣卞簱浣� + */ + 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 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); 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 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; +// 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); } /** diff --git a/src/main/java/com/zy/core/properties/SlaveProperties.java b/src/main/java/com/zy/core/properties/SlaveProperties.java index 502126a..68d2e55 100644 --- a/src/main/java/com/zy/core/properties/SlaveProperties.java +++ b/src/main/java/com/zy/core/properties/SlaveProperties.java @@ -28,6 +28,8 @@ private boolean doubleDeep; private List<Integer> doubleLocs = new ArrayList<>(); + private List<Integer> doubleLocsLeft = new ArrayList<>(); + private List<Integer> doubleLocsRight = new ArrayList<>(); private int groupCount; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 207a148..83a0a15 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -8,7 +8,7 @@ name: @pom.build.finalName@ datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - url: jdbc:sqlserver://127.0.0.1:1433;databasename=ahyxasrs + url: jdbc:sqlserver://10.10.10.254:1433;databasename=ahyxasrs username: sa password: sa@123 mvc: @@ -44,9 +44,13 @@ # 鍙屾繁 doubleDeep: true # 鍙屾繁搴撲綅鎺掑彿 - doubleLocs: 1,4,5,8,9,12,13,16,17,20,21,24 + doubleLocs: 1,4,5,8,21,24,27 # 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁� groupCount: 4 + # 宸︽繁搴撲綅鎺掑彿 + doubleLocsLeft: 1,5,21 + # 鍙虫繁搴撲綅鎺掑彿 + doubleLocsRight: 4,8,24,27 # 鍫嗗灈鏈�1 crn[0]: id: 1 @@ -102,7 +106,7 @@ # 鍫嗗灈鏈�3 crn[2]: id: 3 - ip: 10.10.10.120 + ip: 10.10.10.140 port: 102 rack: 0 slot: 0 @@ -128,7 +132,7 @@ # 鍫嗗灈鏈�4 crn[3]: id: 4 - ip: 10.10.10.120 + ip: 10.10.10.150 port: 102 rack: 0 slot: 0 @@ -154,7 +158,7 @@ # 鍫嗗灈鏈�5 crn[4]: id: 5 - ip: 10.10.10.120 + ip: 10.10.10.160 port: 102 rack: 0 slot: 0 @@ -189,18 +193,18 @@ demo: false # 鍫嗗灈鏈哄叆搴撶珯鐐� crnInStn[0]: - devpPlcId: ${wcs-slave.devp[0].id} - staNo: 153 - staNoOther: 152 - row: 4 + devpPlcId: ${wcs-slave.devp[1].id} + staNo: 413 + staNoOther: 413 + row: 23 bay: 1 lev: 1 # 鍫嗗灈鏈哄嚭搴撶珯鐐� crnOutStn[0]: - devpPlcId: ${wcs-slave.devp[0].id} - staNo: 100 - staNoOther: 101 - row: 1 + devpPlcId: ${wcs-slave.devp[1].id} + staNo: 415 + staNoOther: 415 + row: 22 bay: 1 lev: 1 # 鍫嗗灈鏈�7 @@ -215,18 +219,18 @@ demo: false # 鍫嗗灈鏈哄叆搴撶珯鐐� crnInStn[0]: - devpPlcId: ${wcs-slave.devp[0].id} - staNo: 153 - staNoOther: 152 - row: 4 + devpPlcId: ${wcs-slave.devp[1].id} + staNo: 405 + staNoOther: 405 + row: 26 bay: 1 lev: 1 # 鍫嗗灈鏈哄嚭搴撶珯鐐� crnOutStn[0]: - devpPlcId: ${wcs-slave.devp[0].id} - staNo: 100 - staNoOther: 101 - row: 1 + devpPlcId: ${wcs-slave.devp[1].id} + staNo: 407 + staNoOther: 407 + row: 25 bay: 1 lev: 1 # RGV绌挎杞�1 @@ -277,6 +281,9 @@ # 灏忔枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�1 emptyInSingleSta[0]: staNo: 104 + # 灏忔枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�1 + emptyInSingleSta[1]: + staNo: 173 # 澶ф枡绠� 鍙屽伐浣嶅崟浼� 鍏ュ簱鍙�1 inLargeSta[0]: staNo: 153 -- Gitblit v1.9.1