From 0925a458d92d33aa05b2fb03aec3ac8c13e5d763 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 04 一月 2023 11:23:16 +0800
Subject: [PATCH] #中间表对接:订单完结上报完成

---
 src/main/java/com/zy/common/service/CommonService.java |  150 +++++++++++++++++++++++++++++++++-----------------
 1 files changed, 99 insertions(+), 51 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 7c14d77..378700e 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();
@@ -180,27 +190,46 @@
         }
 
         // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
-        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;
+        if (null == locMast){
+            curRow = getCurRow(curRow);
+            if (curRow == 0){
+                crnNo = 0;
+            }else if( curRow <= 8 && curRow > 0){
+                crnNo=(curRow+1)/2;
+            }else if (curRow <= 12 && curRow >= 9){
+                crnNo=5;
+            }else if (curRow <= 14 && curRow >= 13){
+                crnNo=6;
+            }else if (curRow <= 18 && curRow >= 15){
+                crnNo=7;
             }
-            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 (curRow!=0 && !basCrnpService.checkSiteError(crnNo, true)) {
+                crnNo = 0;
             }
         }
+
+//        // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
+//        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("娌℃湁鍙敤鐨勫爢鍨涙満");
@@ -307,35 +336,54 @@
     /**
      * 鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰�
      */
-    private Integer getWhsType(Integer sourceStaNo, int times) {
-        if (times >= 16) {
-            return 4;
+    private Integer getCurRow(Integer curRow) {
+        boolean sign=false;
+        int count=0;
+        while (!sign){
+            count=count+1;
+            if (count==5){
+                return 0;
+            }
+            switch (curRow){
+                case 1:
+                case 3:
+                case 5:
+                case 2:
+                case 4:
+                case 6:
+                    curRow=curRow+2;
+                    break;
+                case 7:
+                    curRow=2;
+                    break;
+                case 8:
+                    curRow=1;
+                    break;
+                case 13:
+                    return 14;
+                case 14:
+                    return 13;
+                case 9:
+                    return 12;
+                case 10:
+                    return 11;
+                case 11:
+                    return 9;
+                case 12:
+                    return 10;
+                case 15:
+                    return 18;
+                case 16:
+                    return 17;
+                case 17:
+                    return 15;
+                case 18:
+                    return 16;
+                default:
+                    throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細"+curRow);
+            }
+            sign = basCrnpService.checkSiteError((curRow+1)/2, true);
         }
-        switch (sourceStaNo) {
-            case 173:
-            case 176:
-            case 180:
-            case 185:
-                return 1;
-            case 189:
-            case 194:
-            case 198:
-            case 202:
-                return 2;
-            case 206:
-//            case 211:
-//            case 215:
-//            case 219:
-//            case 223:
-            case 227:
-                return 3;
-            case 305:
-            case 303:
-            case 301:
-                return 4;
-            default:
-                throw new CoolException("鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰嶅け璐ワ紝鍏ュ簱绔欙細" + sourceStaNo);
-        }
+        return curRow;
     }
-
 }

--
Gitblit v1.9.1