From a0d2beeb144c46d344dc5995653750947196efbe Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 24 七月 2025 09:23:59 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |  168 ++++++++++++++++++++++---------------------------------
 1 files changed, 68 insertions(+), 100 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index ee246ac..9ff589c 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -100,39 +100,7 @@
      */
     @Transactional
     public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) {
-        // 鐩爣搴撲綅
-        LocMast locMast = null;
-
-        // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭
-        locMast = getLocNoStep4(staDescId, locTypeDto, sourceStaNo);
-        if (locMast != null) {
-            //鎵惧埌搴撲綅锛岃繑鍥瀌to
-            return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto
-        }
-
-        //搴撲綅瑙勫垯
-//        locMast = getLocNoStepRule(matnr, locTypeDto);
-//        if (locMast != null) {
-//            //鎵惧埌搴撲綅锛岃繑鍥瀌to
-//            return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto
-//        }
-
-        // 闈犺繎鎽嗘斁瑙勫垯 --- 鐩稿悓璁㈠崟鍙�, 鍚屽ぉ鍚岃鏍肩墿鏂�
-        locMast = getLocNoStep3(staDescId, matnr, batch, grade, locTypeDto, sourceStaNo);
-        if (locMast != null) {
-            //鎵惧埌搴撲綅锛岃繑鍥瀌to
-            return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto
-        }
-
-        //鎼滅储鏁翠釜绌哄簱浣嶇粍
-        locMast = getLocNoStepSingle(locTypeDto, sourceStaNo);
-        if (locMast != null) {
-            //鎵惧埌搴撲綅锛岃繑鍥瀌to
-            return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto
-        }
-
-        //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父
-        throw new CoolException("娌℃湁绌哄簱浣�");
+        return getLocNoRun(whsType,staDescId,sourceStaNo,matnr,batch,grade,0,locTypeDto,0);
 
     }
 
@@ -177,7 +145,7 @@
         }
 
         //姝ょ▼搴忕敤浜庝紭鍖栧爢鍨涙満寮傚父鏃剁殑杩愯鏃堕棿
-        for (int i = times; i < crnNumber*2; i++) {
+        for (int i = times; i <= crnNumber*2; i++) {
             int[] locNecessaryParameters = Utils.LocNecessaryParameters(whsType, curRow, crnNumber);
             log.info(Arrays.toString(locNecessaryParameters));
             curRow = locNecessaryParameters[1];
@@ -216,42 +184,42 @@
             signRule1 = true;
         }
 
-        if (signRule1){
-            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O"));
-            for (LocMast locMast1:locMasts){
-                if (VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
-                    continue;
-                }
-                String shallowLoc = Utils.getDeepLoc(slaveProperties,locMast1.getLocNo());
-                LocMast locMast2 = locMastService.selectById(shallowLoc);
-                if (!Cools.isEmpty(locMast2) && locMast2.getLocSts().equals("F")){
-                    LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast2.getLocNo()));
-                    if (!Cools.isEmpty(locDetl) && matnr.equals(locDetl.getMatnr())) {
-                        locMast = locMast1;
-                        break;
-                    }
-                }
-            }
-        }else if (signRule2){
-            List<String> locNos = locDetlService.getSameDetlToday(matnr, sRow, eRow);
-            for (String locNo : locNos) {
-                if (Utils.isShallowLoc(slaveProperties, locNo)) {
-                    continue;
-                }
-                String shallowLocNo = Utils.getShallowLoc(slaveProperties, locNo);
-                // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣�
-                LocMast shallowLoc = locMastService.selectById(shallowLocNo);
-                if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) {
-                    if (VersionUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) {
-                        if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) {
-                            locMast = shallowLoc;
-                            crnNo = locMast.getCrnNo();
-                            break;
-                        }
-                    }
-                }
-            }
-        }
+//        if (signRule1){
+//            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O"));
+//            for (LocMast locMast1:locMasts){
+//                if (VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
+//                    continue;
+//                }
+//                String shallowLoc = Utils.getDeepLoc(slaveProperties,locMast1.getLocNo());
+//                LocMast locMast2 = locMastService.selectById(shallowLoc);
+//                if (!Cools.isEmpty(locMast2) && locMast2.getLocSts().equals("F")){
+//                    LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast2.getLocNo()));
+//                    if (!Cools.isEmpty(locDetl) && matnr.equals(locDetl.getMatnr())) {
+//                        locMast = locMast1;
+//                        break;
+//                    }
+//                }
+//            }
+//        }else if (signRule2){
+//            List<String> locNos = locDetlService.getSameDetlToday(matnr, sRow, eRow);
+//            for (String locNo : locNos) {
+//                if (Utils.isShallowLoc(slaveProperties, locNo)) {
+//                    continue;
+//                }
+//                String shallowLocNo = Utils.getShallowLoc(slaveProperties, locNo);
+//                // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣�
+//                LocMast shallowLoc = locMastService.selectById(shallowLocNo);
+//                if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) {
+//                    if (VersionUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) {
+//                        if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) {
+//                            locMast = shallowLoc;
+//                            crnNo = locMast.getCrnNo();
+//                            break;
+//                        }
+//                    }
+//                }
+//            }
+//        }
 
 //        // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭  //鍒嗙鐗�
 //        if (staDescId == 10) {
@@ -270,29 +238,29 @@
 //        }
 
         // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 //浜掗�氱増
-        if (staDescId == 10) {
-            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().in("crn_no",1,2).eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow));
-            if (locMasts.size() > 0) {
-                for (LocMast loc : locMasts) {
-                    if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) {
-                        continue;
-                    }
-                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo());
-                    // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣�
-                    LocMast shallowLoc = locMastService.selectById(shallowLocNo);
-                    if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) {
-                        if (VersionUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) {
-                            if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) {
-                                locMast = shallowLoc;
-                                crnNo = locMast.getCrnNo();
-                                log.error("闈犺繎鎽嗘斁搴撲綅鍙�");
-                                break;
-                            }
-                        }
-                    }
-                }
-            }
-        }
+//        if (staDescId == 10) {
+//            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().in("crn_no",1,2).eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow));
+//            if (locMasts.size() > 0) {
+//                for (LocMast loc : locMasts) {
+//                    if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) {
+//                        continue;
+//                    }
+//                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo());
+//                    // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣�
+//                    LocMast shallowLoc = locMastService.selectById(shallowLocNo);
+//                    if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) {
+//                        if (VersionUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) {
+//                            if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) {
+//                                locMast = shallowLoc;
+//                                crnNo = locMast.getCrnNo();
+//                                log.error("闈犺繎鎽嗘斁搴撲綅鍙�");
+//                                break;
+//                            }
+//                        }
+//                    }
+//                }
+//            }
+//        }
 
         Wrapper<StaDesc> wrapper = null;
         StaDesc staDesc = null;
@@ -333,7 +301,7 @@
                 locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                         .eq("row1", nearRow)
                         .eq("loc_sts", "O")
-                        .orderBy("lev1", true).orderBy("bay1", false));
+                        .orderBy("lev1", true).orderBy("bay1", true));
 
 
             for (LocMast locMast1 : locMasts) {
@@ -411,12 +379,12 @@
                 times = times + 1;
                 return getLocNoRun(1, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo, locTypeDto, times);
             }
-//            // 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣�
-//            if (locTypeDto.getLocType1() < 2) {
-//                int i = locTypeDto.getLocType1() + 1;
-//                locTypeDto.setLocType1((short)i);
-//                return getLocNo(1, staDescId, sourceStaNo, matnr,batch,grade, locTypeDto, 0);
-//            }
+            // 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣�
+            if (locTypeDto.getLocType1() < 2) {
+                int i = locTypeDto.getLocType1() + 1;
+                locTypeDto.setLocType1((short)i);
+                return getLocNoRun(whsType,staDescId,sourceStaNo,matnr,batch,grade,0,locTypeDto,0);
+            }
             log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
             throw new CoolException("娌℃湁绌哄簱浣�");
         }

--
Gitblit v1.9.1