From 9865c5bb168f1a77d5dec364ae87a4830457cd1b Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 24 十一月 2022 12:48:50 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/Utils.java                 |    4 +
 src/main/java/com/zy/asrs/task/CheckDeepScheduler.java     |    3 
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java |   12 ++--
 src/main/java/com/zy/common/service/CommonService.java     |  124 +++++++++++++++++++++++++++++++++--------
 src/main/resources/application.yml                         |    2 
 5 files changed, 113 insertions(+), 32 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java b/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
index db1adb8..18203fc 100644
--- a/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
+++ b/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
@@ -48,7 +48,8 @@
      */
     @Scheduled(cron = "0/30 * * * * ?")
     private void execute() throws ParseException {
-        if (!confirmDeep) return;
+//        if (!confirmDeep) return;
+        if (true) return;
 
         ReturnT<String> result = checkDeepHandler.start();
         if (!result.isSuccess()) {
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index 173bc58..6a86f6f 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -70,12 +70,12 @@
                             exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo());
                         }
                     }
-                    // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆�
-                    if (!Cools.isEmpty(wrkDetls)) {
-                        if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) {
-                            exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
-                        }
-                    }
+//                    // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆�
+//                    if (!Cools.isEmpty(wrkDetls)) {
+//                        if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) {
+//                            exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
+//                        }
+//                    }
                 // 鎷f枡鍐嶅叆搴�
                 } else if (wrkMast.getIoType() == 53) {
                     if (!Cools.isEmpty(wrkDetls)) {
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index e80f7e5..5ddaadc 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -127,6 +127,10 @@
             targetRow = shallowRow - 1;
         } else if (remainder == 3) {
             targetRow = shallowRow + 1;
+        } else if (shallowRow == 10 || shallowRow == 16) {
+            targetRow = shallowRow - 1;
+        } else if (shallowRow == 11 || shallowRow == 17) {
+            targetRow = shallowRow + 1;
         } else {
             throw new RuntimeException(shallowRow + "涓嶆槸娴呭簱浣嶆帓锛岀郴缁熺箒蹇�");
         }
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 7c14d77..35d495d 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -102,17 +102,27 @@
             case 101:
             case 109:
             case 117:
-                whsType=1;
+                whsType=1;  //1-8璐ф灦
+                slaveProperties.setDoubleDeep(false);
+                slaveProperties.setGroupCount(2);
                 break;
             case 201:
-                whsType=2;
+                slaveProperties.setDoubleDeep(true);
+                slaveProperties.setGroupCount(4);
+                whsType=2;  //9-12璐ф灦
                 break;
             case 207:
-                whsType=3;
+                whsType=3;  //13-14璐ф灦
+                slaveProperties.setDoubleDeep(false);
+                slaveProperties.setGroupCount(2);
                 break;
             case 213:
-                whsType=4;
+                slaveProperties.setDoubleDeep(true);
+                slaveProperties.setGroupCount(4);
+                whsType=4;  //15-18璐ф灦
                 break;
+            default:
+                throw new CoolException("鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰嶅け璐ワ紝鍏ュ簱绔欙細" + sourceStaNo);
         }
 
         StartupDto startupDto = new StartupDto();
@@ -178,30 +188,96 @@
                 }
             }
         }
-
-        // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
-        if (null == locMast) {
-            Shelves shelves = new Shelves(rowCount, crn_qty);
-            int divides = (int) Arith.divides(1, curRow - 1, 4);
-            curRow = (int) Arith.remainder(curRow, 4);
-            if (curRow == 0) {
-                curRow = 4;
-            }
-            for (int i = 0; i < shelves.group; i ++) {
-                curRow = shelves.start(curRow);
-                if (curRow < 0) {
-                    throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
-                }
-                Integer crnNo1 = shelves.get(curRow);
-                crnNo1 = crnNo1 + divides*1;
-                if (basCrnpService.checkSiteError(crnNo1, true)) {
-                    crnNo = crnNo1;
-                    curRow = curRow + divides*4;
+        if (null == locMast){
+            switch (curRow){
+                case 1:
+                case 3:
+                case 5:
+                    curRow=curRow+2;
+                    crnNo=(curRow+1)/2;
                     break;
-                }
+                case 7:
+                    crnNo=1;
+                    curRow=2;
+                    break;
+                case 13:
+                    crnNo=6;
+                    curRow=14;
+                    break;
+                case 2:
+                case 4:
+                case 6:
+                    curRow=curRow+2;
+                    crnNo=curRow/2;
+                    break;
+                case 8:
+                    crnNo=1;
+                    curRow=1;
+                    break;
+                case 14:
+                    crnNo=6;
+                    curRow=13;
+                    break;
+                case 9:
+                    crnNo=5;
+                    curRow=12;
+                    break;
+                case 10:
+                    crnNo=5;
+                    curRow=11;
+                    break;
+                case 11:
+                    crnNo=5;
+                    curRow=9;
+                    break;
+                case 12:
+                    crnNo=5;
+                    curRow=10;
+                    break;
+                case 15:
+                    crnNo=7;
+                    curRow=18;
+                    break;
+                case 16:
+                    crnNo=7;
+                    curRow=17;
+                    break;
+                case 17:
+                    crnNo=7;
+                    curRow=15;
+                    break;
+                case 18:
+                    crnNo=7;
+                    curRow=16;
+                    break;
+                default:
+                    throw new CoolException("鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰嶅け璐ワ紝鍏ュ簱绔欙細" + sourceStaNo);
             }
         }
 
+//        // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
+//        if (null == locMast) {
+//            Shelves shelves = new Shelves(rowCount, crn_qty);
+//            int divides = (int) Arith.divides(1, curRow - 1, 4);
+//            curRow = (int) Arith.remainder(curRow, 4);
+//            if (curRow == 0) {
+//                curRow = 4;
+//            }
+//            for (int i = 0; i < shelves.group; i ++) {
+//                curRow = shelves.start(curRow);
+//                if (curRow < 0) {
+//                    throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
+//                }
+//                Integer crnNo1 = shelves.get(curRow);
+//                crnNo1 = crnNo1 + divides*1;
+//                if (basCrnpService.checkSiteError(crnNo1, true)) {
+//                    crnNo = crnNo1;
+//                    curRow = curRow + divides*4;
+//                    break;
+//                }
+//            }
+//        }
+
         if (crnNo == 0) {
             throw new CoolException("娌℃湁鍙敤鐨勫爢鍨涙満");
         }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 596efbc..af4d271 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -46,6 +46,6 @@
   # 鍙屾繁
   doubleDeep: true
   # 鍙屾繁搴撲綅鎺掑彿
-  doubleLocs: 9,12,14,18
+  doubleLocs: 9,12,15,18
   # 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁�
   groupCount: 4
\ No newline at end of file

--
Gitblit v1.9.1