From 6f49bcc6b53e34ffd9a2c1fb28d761cf1f427a85 Mon Sep 17 00:00:00 2001
From: TQS <56479841@qq.com>
Date: 星期二, 20 十二月 2022 10:25:51 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/Utils.java | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 203 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 36a0324..6c8c17f 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.zy.core.enums.SteABType;
import com.zy.core.properties.SlaveProperties;
import java.text.DecimalFormat;
@@ -35,6 +36,57 @@
return msgBuilder.toString();
}
}
+
+ public static Integer getGroupRow(String locNo){
+ int row = getRow(locNo);
+ return getGroupRow(row);
+ }
+
+ public static Integer getGroupRow(Integer row) {
+ switch (row) {
+ case 0:
+ return 0;
+ case 1:
+ case 2:
+ case 3:
+ return 3;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ return 4;
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ return 11;
+ case 12:
+ case 13:
+ case 14:
+ return 12;
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ return 18;
+ case 19:
+ case 20:
+ case 21:
+ return 19;
+ default:
+ throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+ }
+ }
+
+
+
+
+ // -------------------------------------------------------------------------------------------------------------------
+
+
+
+
+
/**
* 鍒ゆ柇鏄惁涓烘繁搴撲綅
@@ -144,6 +196,136 @@
}
/**
+ * 閫氳繃搴撲綅鍙疯幏鍙� 鍒�
+ */
+ public static int getBay(String locNo) {
+ if (!Cools.isEmpty(locNo)) {
+ return Integer.parseInt(locNo.substring(2, 5));
+ }
+ throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+ }
+
+ /**
+ * 閫氳繃搴撲綅鍙疯幏鍙� 灞�
+ */
+ public static int getLev(String locNo) {
+ if (!Cools.isEmpty(locNo)) {
+ return Integer.parseInt(locNo.substring(5, 7));
+ }
+ throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+ }
+
+ /**
+ * 閫氳繃鎺掑垪灞傛嫾鎺ュ嚭搴撲綅鍙�
+ */
+ public static String append(int row, int bay, int lev) {
+ return zerofill(String.valueOf(row), 2) + zerofill(String.valueOf(bay), 3) + zerofill(String.valueOf(lev), 2);
+ }
+
+ /**
+ * 鑾峰彇 娣卞簱浣嶅搴旂殑娴呭簱浣嶇粍
+ */
+ public static String[] getShallowLocs(String deepLoc){
+ String[] locsArr = null;
+ String locs="";
+ int row = getRow(deepLoc);
+ switch (row){
+ case 1:
+ locs += zerofill(String.valueOf(row+2),2) + deepLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row+1),2) + deepLoc.substring(2);
+ break;
+ case 2:
+ locs += zerofill(String.valueOf(row+1),2) + deepLoc.substring(2);
+ break;
+ case 5:
+ case 20:
+ locs += zerofill(String.valueOf(row-1),2) + deepLoc.substring(2);
+ break;
+ case 6:
+ case 14:
+ case 21:
+ locs += zerofill(String.valueOf(row-2),2) + deepLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row-1),2) + deepLoc.substring(2);
+ break;
+ case 7:
+ locs += zerofill(String.valueOf(row-3),2) + deepLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row-2),2) + deepLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row-1),2) + deepLoc.substring(2);
+ break;
+ case 8:
+ case 15:
+ locs += zerofill(String.valueOf(row+3),2) + deepLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row+2),2) + deepLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row+1),2) + deepLoc.substring(2);
+ break;
+ case 9:
+ case 16:
+ locs += zerofill(String.valueOf(row+2),2) + deepLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row+1),2) + deepLoc.substring(2);
+ break;
+ case 10:
+ case 17:
+ locs += zerofill(String.valueOf(row+1),2) + deepLoc.substring(2);
+ break;
+ case 13:
+ locs += zerofill(String.valueOf(row-1),2) + deepLoc.substring(2);
+ break;
+ }
+ if(!Cools.isEmpty(locs)){
+ locsArr = locs.split(",");
+ }
+ return locsArr;
+ }
+
+ /**
+ * 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶇粍
+ */
+ public static String[] getDeepLocs(String shallowLoc){
+ String[] locsArr = null;
+ String locs="";
+ int row = getRow(shallowLoc);
+ switch (row){
+ case 2:
+ case 9:
+ case 16:
+ locs += zerofill(String.valueOf(row-1),2) + shallowLoc.substring(2);
+ break;
+ case 3:
+ case 10:
+ case 17:
+ locs += zerofill(String.valueOf(row-2),2) + shallowLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row-1),2) + shallowLoc.substring(2);
+ break;
+ case 4:
+ locs += zerofill(String.valueOf(row+3),2) + shallowLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row+2),2) + shallowLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row+1),2) + shallowLoc.substring(2);
+ break;
+ case 5:
+ case 12:
+ case 19:
+ locs += zerofill(String.valueOf(row+2),2) + shallowLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row+1),2) + shallowLoc.substring(2);
+ break;
+ case 6:
+ case 13:
+ case 20:
+ locs += zerofill(String.valueOf(row+1),2) + shallowLoc.substring(2);
+ break;
+ case 11:
+ case 18:
+ locs += zerofill(String.valueOf(row-3),2) + shallowLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row-2),2) + shallowLoc.substring(2);
+ locs += "," + zerofill(String.valueOf(row-1),2) + shallowLoc.substring(2);
+ break;
+ }
+ if(!Cools.isEmpty(locs)){
+ locsArr = locs.split(",");
+ }
+ return locsArr;
+ }
+
+ /**
* 褰撴绱㈠埌鍙屾繁搴撲綅鐨勬祬搴撲綅鏃讹紝濡傛灉娣卞簱浣嶆棤璐э紝鍒欐斁鍏ュ搴旂殑娣卞簱浣�
*/
public static void toDeepIfEmptyByShallow(String shallowLoc) {
@@ -161,7 +343,28 @@
}
+ public static String getLocNo(Number row, Number bay, Number lev) {
+ return zerofill(String.valueOf(row), 2) + zerofill(String.valueOf(bay), 3) + zerofill(String.valueOf(lev), 2);
+ }
+
public static void main(String[] args) {
+// String shallowLocs = getShallowLocs("2100203");
+// String deepLocs = getDeepLocs("2100203");
+// System.out.println("shallowLocs ==>> " + shallowLocs);
+// System.out.println("deepLocs ==>> " + deepLocs);
+ String[] shallowArr = getShallowLocs("1700203");;
+ String[] deepArr = getDeepLocs("1700203");
+// if (shallowLocs.indexOf(',') >= 0) {
+// shallowArr = shallowLocs.split(",");
+// }
+// if (deepLocs.indexOf(',') >= 0) {
+// deepArr = deepLocs.split(",");
+// }
+
+ for(String str : deepArr){
+ System.out.println(str);
+ }
+
SlaveProperties slaveProperties = new SlaveProperties();
slaveProperties.setDoubleDeep(true);
List<Integer> list = new ArrayList<>();
--
Gitblit v1.9.1