From ca5639ffb9ada48efb1592ce60117a16a9e4d1cb Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 31 八月 2022 14:52:12 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |   88 ++++++++++++++++++++++++++------------------
 1 files changed, 52 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 47f8d6c..d5562b0 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -10,7 +10,6 @@
 import com.zy.asrs.utils.Utils;
 import com.zy.asrs.utils.VersionUtils;
 import com.zy.common.model.LocTypeDto;
-import com.zy.common.model.Shelves;
 import com.zy.common.model.StartupDto;
 import com.zy.common.properties.SlaveProperties;
 import lombok.extern.slf4j.Slf4j;
@@ -68,25 +67,23 @@
         }
         int workNo = 0;
         // 鍏ュ嚭搴撶被鍨�
-        if (wrkLastno.getWrkMk() == 0) {
-            workNo = wrkLastno.getWrkNo();
-            int sNo = wrkLastno.getSNo();
-            int eNo = wrkLastno.getENo();
+        workNo = wrkLastno.getWrkNo();
+        int sNo = wrkLastno.getSNo();
+        int eNo = wrkLastno.getENo();
 
-            workNo = workNo>=eNo ? sNo : workNo+1;
+        workNo = workNo>=eNo ? sNo : workNo+1;
 
-            while (true) {
-                WrkMast wrkMast = wrkMastService.selectById(workNo);
-                if (null != wrkMast) {
-                    workNo = workNo>=eNo ? sNo : workNo+1;
-                } else {
-                    break;
-                }
+        while (true) {
+            WrkMast wrkMast = wrkMastService.selectById(workNo);
+            if (null != wrkMast) {
+                workNo = workNo>=eNo ? sNo : workNo+1;
+            } else {
+                break;
             }
-            if (workNo > 0){
-                wrkLastno.setWrkNo(workNo);
-                wrkLastnoService.updateById(wrkLastno);
-            }
+        }
+        if (workNo > 0){
+            wrkLastno.setWrkNo(workNo);
+            wrkLastnoService.updateById(wrkLastno);
         }
         if (workNo == 0) {
             throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳");
@@ -114,15 +111,18 @@
     public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto, LocTypeDto oldLocType, int times) {
         StartupDto startupDto = new StartupDto();
         switch (sourceStaNo) {
-            case 107:
+            case 108:
+                whsType = 1;
+                break;
+            case 111:
+            case 211:
                 whsType = 2;
                 break;
-            case 118:
+            case 208:
                 whsType = 3;
                 break;
             default:
-                whsType = 1;
-                break;
+                throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
         }
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = getWorkNo(0);
@@ -142,7 +142,7 @@
 
         // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂�
         if (!Cools.isEmpty(matNos)) {
-            List<String> locNos = locDetlService.getSameDetl(matNos.get(0), 2, 30);
+            List<String> locNos = locDetlService.getSameDetl(matNos.get(0), sRow, eRow);
             for (String locNo : locNos) {
                 List<String> groupLoc = Utils.getGroupLoc(locNo);
                 locMast = locMastService.findOutMost(groupLoc);
@@ -161,7 +161,7 @@
 
         // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭
         if (staDescId == 10) {
-            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", 2).le("row1", 30));
+            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow));
             if (locMasts.size() > 0) {
                 for (LocMast loc : locMasts) {
                     List<String> groupLoc = Utils.getGroupLoc(loc.getLocNo());
@@ -182,23 +182,39 @@
 
         // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
         if (null == locMast) {
-            Shelves shelves = new Shelves(rowCount, crn_qty);
-            for (int i = 0; i < shelves.group; i ++) {
-                curRow = shelves.start(curRow);
-                if (curRow < 0) {
-                    throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
-                }
-                Integer crnNo1 = shelves.get(curRow) + 1;
-                if (whsType != 1) {
-                    crnNo1 = whsType;
-                }
-                if (basCrnpService.checkSiteError(crnNo1, true)) {
-                    crnNo = crnNo1;
+            switch (whsType) {
+                case 1:
+                    if (curRow == 1) {
+                        curRow = 7;
+                    } else if (curRow == 7) {
+                        curRow = 1;
+                    }
+                    crnNo = 1;
                     break;
-                }
+                case 2:
+                    if (curRow == 8) {
+                        curRow = 14;
+                    } else if (curRow == 14) {
+                        curRow = 8;
+                    }
+                    crnNo = 2;
+                    break;
+                case 3:
+                    if (curRow == 15) {
+                        curRow = 21;
+                    } else if (curRow == 21) {
+                        curRow = 15;
+                    }
+                    crnNo = 3;
+                    break;
+                default:
+                    throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
             }
         }
 
+        if (!basCrnpService.checkSiteError(crnNo, true)) {
+            throw new CoolException("娌℃湁鍙敤鐨勫爢鍨涙満");
+        }
         if (crnNo == 0) {
             throw new CoolException("娌℃湁鍙敤鐨勫爢鍨涙満");
         }

--
Gitblit v1.9.1