From fb031cfeb03cb20c95c78fcccf9ba93c5dd5d798 Mon Sep 17 00:00:00 2001
From: lsh <lsh>
Date: 星期六, 18 五月 2024 20:38:57 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/Utils.java             |   62 ++++++++++++++++++++++++++++++
 src/main/java/com/zy/common/service/CommonService.java |    8 ++--
 2 files changed, 65 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 94df85a..1e4be2e 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -125,6 +125,32 @@
         int shallowRow = remainder == 1 ? (row + 1) : (row - 1);
         return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2);
     }
+    /**
+     * 鑾峰彇 娣卞簱浣嶅搴旂殑娴呭簱浣嶅彿   鍙屼几+鍗曞弻浼�  鐓滄槦瀹氬埗
+     */
+    public static String getShallowLoc5(SlaveProperties slaveProperties, String deepLoc,Integer whsType) {
+        if (whsType==9){
+            int row = getRow(deepLoc);
+            int shallowRow;
+            if (row == 21) {
+                shallowRow = row + 1;
+            } else if (row == 24) {
+                shallowRow = row - 1;
+            } else if (row == 25) {
+                shallowRow = row;
+            } else if (row == 27) {
+                shallowRow = row - 1;
+            } else {
+                throw new RuntimeException(row + "涓嶆槸娣卞簱浣嶏紝绯荤粺绻佸繖");
+            }
+            return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2);
+        }else {
+            int row = getRow(deepLoc);
+            int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
+            int shallowRow = remainder == 1 ? (row + 1) : (row - 1);
+            return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2);
+        }
+    }
 
     /**
      * 鑾峰彇 娣卞簱浣嶆帓瀵瑰簲鐨勬祬搴撲綅鎺�
@@ -149,6 +175,40 @@
             throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖");
         }
         return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2);
+    }
+
+    /**
+     * 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶅彿  鍙屼几+鍗曞弻浼�  鐓滄槦瀹氬埗
+     */
+    public static String getDeepLoc5(SlaveProperties slaveProperties, String shallowLoc,Integer whsType) {
+        if (whsType==9){
+            int row = getRow(shallowLoc);
+            int targetRow;
+            if (row == 22) {
+                targetRow = row - 1;
+            } else if (row == 23) {
+                targetRow = row + 1;
+            } else if (row == 25) {
+                targetRow = row;
+            } else if (row == 26) {
+                targetRow = row + 1;
+            } else {
+                throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖");
+            }
+            return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2);
+        } else {
+            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);
+        }
     }
 
     /**
@@ -240,7 +300,7 @@
         return 0;
     }
 
-    public static boolean BooleanWhsTypeStaIoType(Integer whsType) {  //鏌ヨ鐩镐技鐗╂枡寮�鍏�
+    public static boolean BooleanWhsTypeStaIoType(Integer whsType) {  //鏌ヨ鐩镐技鐗╂枡寮�鍏�   //鏄惁娣辨祬搴撲綅寮�鍏�
         if (whsType == 1 || whsType==3 || whsType==4  || whsType == 9) {
             return true;
         }
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 43865c8..da9f631 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -238,7 +238,7 @@
                 if (Utils.isShallowLoc(slaveProperties, locNo)) {
                     continue;
                 }
-                String shallowLocNo = Utils.getShallowLoc(slaveProperties, locNo);
+                String shallowLocNo = Utils.getShallowLoc5(slaveProperties, locNo,whsType);
                 // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣�
                 LocMast shallowLoc = locMastService.selectById(shallowLocNo);
                 if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) {
@@ -277,7 +277,7 @@
                     if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) {
                         continue;
                     }
-                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo());
+                    String shallowLocNo = Utils.getShallowLoc5(slaveProperties, loc.getLocNo(),whsType);
                     // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣�
                     LocMast shallowLoc = locMastService.selectById(shallowLocNo);
                     if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) {
@@ -338,7 +338,7 @@
                     continue;
                 }
                 if (Utils.BooleanWhsTypeStaIoType(whsType)){
-                    String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
+                    String shallowLoc = Utils.getDeepLoc5(slaveProperties, locMast1.getLocNo(),whsType);
                     LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
                             .eq("loc_no", shallowLoc).eq("loc_sts", "O"));
                     if (!Cools.isEmpty(locMast2)) {
@@ -359,7 +359,7 @@
                         continue;
                     }
                     if (Utils.BooleanWhsTypeStaIoType(whsType)){
-                        String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
+                        String shallowLoc = Utils.getDeepLoc5(slaveProperties, locMast1.getLocNo(),whsType);
                         LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
                                 .eq("loc_no", shallowLoc).eq("loc_sts", "O"));
                         if (!Cools.isEmpty(locMast2)) {

--
Gitblit v1.9.1