From 511e1c1754b21d14be1ef1ef5bec8e6453ef32b2 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 20 六月 2024 15:01:52 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java |    4 +-
 src/main/java/com/zy/asrs/utils/Utils.java                     |   26 ++++++------
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |    3 +
 src/main/java/com/zy/asrs/controller/WorkController.java       |    7 +++
 src/main/java/com/zy/common/service/CommonService.java         |   26 ++++++++++--
 5 files changed, 45 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java
index 8b6a223..0d8a021 100644
--- a/src/main/java/com/zy/asrs/controller/WorkController.java
+++ b/src/main/java/com/zy/asrs/controller/WorkController.java
@@ -83,7 +83,12 @@
     @RequestMapping("/full/store/put/start")
     @ManagerAuth(memo = "鍏ㄦ澘鍏ュ簱")
     public R fullStorePutStart(@RequestBody FullStoreParam fullStoreParam) {
-        return R.ok("鍏ュ簱鍚姩鎴愬姛").add(workService.startupFullPutStore(fullStoreParam,getUserId()));
+        try {
+            String locNo = workService.startupFullPutStore(fullStoreParam, getUserId());
+            return R.ok("鍏ュ簱鍚姩鎴愬姛").add(locNo);
+        } catch (Exception e){
+            return R.error("鍏ュ簱鍚姩澶辫触==>"+e.getMessage());
+        }
     }
 
     @RequestMapping("/plate/out/start")
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index 2db40bd..d22e201 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -89,7 +89,7 @@
 
     @Override
     public LocMast selectLocByLocStsPakInF(Integer curRow,Integer nearRow,LocMast locMast,Long type) {
-        if (curRow<nearRow){
+        if (curRow>nearRow){
             return this.baseMapper.selectLocByLocStsPakInF1(locMast.getCrnNo(),locMast.getBay1(),locMast.getLev1(),locMast.getGro1(),type);
         }
         return this.baseMapper.selectLocByLocStsPakInF2(locMast.getCrnNo(),locMast.getBay1(),locMast.getLev1(),locMast.getGro1(),type);
@@ -107,7 +107,7 @@
 //    }
     @Override
     public LocMast selectLocByLocStsPakInO(Integer curRow,Integer nearRow,LocMast locMast,Long type) {
-        if (curRow<nearRow){
+        if (curRow>nearRow){
             return this.baseMapper.selectLocByLocStsPakInO1(locMast.getCrnNo(),locMast.getBay1(),locMast.getLev1(),locMast.getGro1(),type);
         }
         return this.baseMapper.selectLocByLocStsPakInO2(locMast.getCrnNo(),locMast.getBay1(),locMast.getLev1(),locMast.getGro1(),type);
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index bb8bf20..3aa9551 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -93,6 +93,9 @@
         List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
 //        List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList());
         StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), matnrs.get(0), null, null,locTypeDto);
+        if (Cools.isEmpty(dto)){
+            throw new CoolException("鏌ヨ搴撲綅澶辫触锛侊紒==銆媠tartupFullPutStore ==銆� commonService.getLocNo");
+        }
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index b2690ec..0b98d6b 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -491,31 +491,21 @@
     public static int[] LocNecessaryParametersDoubleExtension6(RowLastno rowLastno, Integer curRow, Integer crnNumber) {
         int[] necessaryParameters = new int[]{0, 0, 0, 0};
         Integer sRow = rowLastno.getsRow();//璧峰鎺掑彿
-        Integer offset = 0;//璧峰鎺掑彿
+        Integer offset = 4;//璧峰鎺掑彿
         Integer sCrnNo = rowLastno.getsCrnNo();//璧峰鍫嗗灈鏈哄彿
         necessaryParameters[0] = crnNumber; // 杞娆℃暟
         curRow = curRow - offset;
         //婊℃澘姝e父鍏ュ簱
         switch (curRow){
-            case 2:
+            case 1:
                 necessaryParameters[1] = 4;    //curRow   鏈�娣卞簱浣嶆帓
                 necessaryParameters[2] = sCrnNo;     //crnNo     鍫嗗灈鏈哄彿
                 necessaryParameters[3] = 7;    //nearRow  鏈�娴呭簱浣嶆帓
                 break;
-            case 7:
+            case 4:
                 necessaryParameters[1] = 9;    //curRow   鏈�娣卞簱浣嶆帓
                 necessaryParameters[2] = sCrnNo;     //crnNo     鍫嗗灈鏈哄彿
                 necessaryParameters[3] = 12;    //nearRow  鏈�娴呭簱浣嶆帓
-                break;
-            case 12:
-                necessaryParameters[1] = 7;    //curRow   鏈�娣卞簱浣嶆帓
-                necessaryParameters[2] = sCrnNo;     //crnNo     鍫嗗灈鏈哄彿
-                necessaryParameters[3] = 4;    //nearRow  鏈�娴呭簱浣嶆帓
-                break;
-            case 4:
-                necessaryParameters[1] = 12;    //curRow   鏈�娣卞簱浣嶆帓
-                necessaryParameters[2] = sCrnNo;     //crnNo     鍫嗗灈鏈哄彿
-                necessaryParameters[3] = 9;    //nearRow  鏈�娴呭簱浣嶆帓
                 break;
             case 9:
                 necessaryParameters[1] = 14;    //curRow   鏈�娣卞簱浣嶆帓
@@ -523,6 +513,16 @@
                 necessaryParameters[3] = 14;    //nearRow  鏈�娴呭簱浣嶆帓
                 break;
             case 14:
+                necessaryParameters[1] = 7;    //curRow   鏈�娣卞簱浣嶆帓
+                necessaryParameters[2] = sCrnNo;     //crnNo     鍫嗗灈鏈哄彿
+                necessaryParameters[3] = 4;    //nearRow  鏈�娴呭簱浣嶆帓
+                break;
+            case 7:
+                necessaryParameters[1] = 12;    //curRow   鏈�娣卞簱浣嶆帓
+                necessaryParameters[2] = sCrnNo;     //crnNo     鍫嗗灈鏈哄彿
+                necessaryParameters[3] = 9;    //nearRow  鏈�娴呭簱浣嶆帓
+                break;
+            case 12:
                 necessaryParameters[1] = 1;    //curRow   鏈�娣卞簱浣嶆帓
                 necessaryParameters[2] = sCrnNo;     //crnNo     鍫嗗灈鏈哄彿
                 necessaryParameters[3] = 2;    //nearRow  鏈�娴呭簱浣嶆帓
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index fcaf695..408b310 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -139,7 +139,7 @@
                     log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�",sourceStaNo);
                     break;
                 case 4:
-                    return getLocNoRun2(whsType,staDescId,sourceStaNo,matnr,batch,grade,3,locTypeDto,0);
+                    return getLocNoRun2(whsType,staDescId,sourceStaNo,matnr,batch,grade,4,locTypeDto,0);
                 case 5:
                     return getLocNoRun2(whsType,staDescId,sourceStaNo,matnr,batch,grade,3,locTypeDto,0);
                 default:
@@ -536,6 +536,8 @@
             int nearbay = 0;    //鐩镐技宸ヤ綔妗f 鐩爣搴撲綅鍒�
             int nearlev = 0;    //鐩镐技宸ヤ綔妗f 鐩爣搴撲綅灞�
             for (WrkMast wrkMast:wrkMasts){
+                int curRowW = curRow;    //鐩镐技宸ヤ綔妗f 鏈�娣卞簱浣嶆帓
+                int nearRowW = nearRow;    //鐩镐技宸ヤ綔妗f 鏈�娴呭簱浣嶆帓
                 if (Cools.isEmpty(wrkMast.getLocNo())){
                     continue;
                 }
@@ -554,15 +556,26 @@
                     nearbay=Utils.getBay(wrkMast.getLocNo());
                     nearlev=Utils.getLev(wrkMast.getLocNo());
                 }
+
                 //鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撳苟鎺掑簭
 //                List<String> groupOutsideLocCrn = Utils.getGroupOutLocCrn(curRow,nearRow,wrkMast.getLocNo(), curRow>nearRow);
                 LocMast locMastGro = locMastService.selectById(wrkMast.getLocNo());
 
+                for (int i = 0; i < crnNumber*2; i++) {
+                    if (!(Utils.getRow(locMastGro.getLocNo())>nearRowW && Utils.getRow(locMastGro.getLocNo())<=curRowW) && !(Utils.getRow(locMastGro.getLocNo())<nearRowW && Utils.getRow(locMastGro.getLocNo())>=curRowW) ){
+                        int[] locNecessaryParameters = Utils.LocNecessaryParameters(rowLastno, curRowW, crnNumber);
+                        curRowW = locNecessaryParameters[1];
+                        nearRowW = locNecessaryParameters[3];
+                    }else {
+                        break;
+                    }
+                }
+
                 //鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娴呴潪绌哄簱浣�
-                LocMast locMast2 = locMastService.selectLocByLocStsPakInF(curRow,nearRow,locMastGro,rowLastnoType.getType().longValue());
+                LocMast locMast2 = locMastService.selectLocByLocStsPakInF(curRowW,nearRowW,locMastGro,rowLastnoType.getType().longValue());
 
                 //鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娴呴潪绌哄簱浣嶅瓨鍦�&&闈炴渶澶栦晶搴撲綅&&鍏ュ簱鐘舵��
-                if (!Cools.isEmpty(locMast2) && Utils.getRow(locMast2.getLocNo())!=nearRow && (locMast2.getLocSts().equals("S") || locMast2.getLocSts().equals("Q"))){
+                if (!Cools.isEmpty(locMast2) && Utils.getRow(locMast2.getLocNo())!=nearRowW && (locMast2.getLocSts().equals("S") || locMast2.getLocSts().equals("Q"))){
                     //鑾峰彇搴撳瓨鏄庣粏
                     WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                     //鍒ゆ柇鍚岃鏍肩墿鏂�
@@ -570,13 +583,16 @@
                             && batch.equals(batch.isEmpty() ? "":wrkDetl.getBatch())
                             && grade.equals(grade.isEmpty()? "":wrkDetl.getBrand())){
                         int row2=0;
-                        if (Utils.getRow(locMast2.getLocNo())>nearRow){
+                        if (Utils.getRow(locMast2.getLocNo())>nearRowW){
                             row2=Utils.getRow(locMast2.getLocNo())-1;
                         } else {
                             row2=Utils.getRow(locMast2.getLocNo())+1;
                         }
                         String targetLocNo = zerofill(String.valueOf(row2), 2) + locMast2.getLocNo().substring(2);
-                        locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",targetLocNo));
+                        locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",targetLocNo).eq("loc_sts","O"));
+                        if (Cools.isEmpty(locMast)){
+                            continue;
+                        }
                         break;
                     }
                 }

--
Gitblit v1.9.1