From 14dd439e60875aafcaa243629b5cdd70cad88267 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 02 六月 2023 14:00:25 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/Utils.java |   42 +++++++++++++++++++++++++++++-------------
 1 files changed, 29 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 03cb782..99e4a80 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -60,6 +60,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 +111,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 == 15 || row == 9) {
-            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,12 +130,12 @@
         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(row + "涓嶆槸娴呭簱浣嶆帓锛岀郴缁熺箒蹇�");
+            throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖");
         }
         return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2);
     }
@@ -130,9 +146,9 @@
     public static Integer getDeepRow(SlaveProperties slaveProperties, Integer shallowRow) {
         int remainder = (int) Arith.remainder(shallowRow, slaveProperties.getGroupCount());
         int targetRow;
-        if (shallowRow == 10 || shallowRow == 16) {
+        if (remainder == 2) {
             targetRow = shallowRow - 1;
-        } else if (shallowRow == 11 || shallowRow == 17) {
+        } else if (remainder == 3) {
             targetRow = shallowRow + 1;
         } else {
             throw new RuntimeException(shallowRow + "涓嶆槸娴呭簱浣嶆帓锛岀郴缁熺箒蹇�");

--
Gitblit v1.9.1