From c7ee9e7a9a0cb96d1c48bf8a8dff061f16e8a29b Mon Sep 17 00:00:00 2001
From: Administrator <56479841@QQ.COM>
Date: 星期一, 14 八月 2023 16:06:23 +0800
Subject: [PATCH] #补丁

---
 src/main/java/com/zy/common/service/CommonService.java |   78 ++++++++++++++++++++++----------------
 1 files changed, 45 insertions(+), 33 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index c4c5166..62637a9 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -293,26 +293,29 @@
             List<String> groupLoc = Utils.getGroupLoc(wrkMast.getLocNo());
             //闅忔満鍙敤鍫嗗灈鏈哄彿
             Integer randomCrnNo = Utils.getRandomCrnNo(crnNos, locTypeDto.getLocType1());
-            List<LocMast> locMasts = locMastService.findEmptyLocMastByLocNos(locTypeDto.getLocType1(), groupLoc, randomCrnNo);
-            for (LocMast locMast0 : locMasts) {
-                //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆銆丼
-                if (Utils.checkInsideLocIsDFXS(locMast0.getLocNo())) {
-                    //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆丼銆備笉鑳介�夊彇璇ュ簱浣�
-                    continue;
-                }
+            for (Integer crnNo : crnNos) {
+                List<LocMast> locMasts = locMastService.findEmptyLocMastByLocNos(locTypeDto.getLocType1(), groupLoc, crnNo);
+                for (LocMast locMast0 : locMasts) {
+                    //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆銆丼
+                    if (Utils.checkInsideLocIsDFXS(locMast0.getLocNo())) {
+                        //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆丼銆備笉鑳介�夊彇璇ュ簱浣�
+                        continue;
+                    }
 
-                // 娴呭簱浣嶇鍚堝昂瀵告娴�
-                if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
-                    // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
-                    if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
-                        // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
-                        if (locMastService.checkEmptyCount(locMast0, 10)) {
-                            locMast = locMast0;
-                            break;
+                    // 娴呭簱浣嶇鍚堝昂瀵告娴�
+                    if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
+                        // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
+                        if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
+                            // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+                            if (locMastService.checkEmptyCount(locMast0, 10)) {
+                                locMast = locMast0;
+                                break;
+                            }
                         }
                     }
                 }
             }
+
         }
 
         //鎵惧唴渚х┖搴撲綅(闈炴渶澶栦晶搴撲綅)
@@ -333,7 +336,7 @@
                         // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
                         if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
                             // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
-                            if (locMastService.checkEmptyCount(locMast0, 10) && locMast0.getCrnNo()!=2) {
+                            if (locMastService.checkEmptyCount(locMast0, 10)) {
                                 locMast = locMast0;
                                 break;
                             }
@@ -347,22 +350,24 @@
         if (locMast == null) {
             //闅忔満鍙敤鍫嗗灈鏈哄彿
             Integer randomCrnNo = Utils.getRandomCrnNo(crnNos, locTypeDto.getLocType1());
-            List<LocMast> locMasts = locMastService.findInEmptyLocMast(locTypeDto.getLocType1(), rows, randomCrnNo);//鎵句竴鏉℃柊鐨勭┖宸烽亾
-            for (LocMast locMast0 : locMasts) {
-                //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆
-                if (Utils.checkInsideLocIsDFX(locMast0.getLocNo())) {
-                    //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣�
-                    continue;
-                }
+            for (Integer crnNo : crnNos) {
+                List<LocMast> locMasts = locMastService.findInEmptyLocMast(locTypeDto.getLocType1(), rows, crnNo);//鎵句竴鏉℃柊鐨勭┖宸烽亾
+                for (LocMast locMast0 : locMasts) {
+                    //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆
+                    if (Utils.checkInsideLocIsDFX(locMast0.getLocNo())) {
+                        //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣�
+                        continue;
+                    }
 
-                // 娴呭簱浣嶇鍚堝昂瀵告娴�
-                if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
-                    // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
-                    if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
-                        // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
-                        if (locMastService.checkEmptyCount(locMast0, 10) && locMast0.getCrnNo()!=2) {
-                            locMast = locMast0;
-                            break;
+                    // 娴呭簱浣嶇鍚堝昂瀵告娴�
+                    if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
+                        // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
+                        if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
+                            // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+                            if (locMastService.checkEmptyCount(locMast0, 10)) {
+                                locMast = locMast0;
+                                break;
+                            }
                         }
                     }
                 }
@@ -444,10 +449,17 @@
             if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
                 // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
                 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
-                    // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
-                    if (locMastService.checkEmptyCount0(locMast0, 6)) {
+                    Integer outermostRow = Utils.getOutermostRow(locMast0.getLocNo(), true);
+                    LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", outermostRow).eq("bay1", locMast0.getBay1()).eq("lev1", locMast0.getLev1()));
+                    if (!locMast1.getLocSts().equals("O") && !locMast0.getRow1().equals(outermostRow)){
+                        // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+                        if (locMastService.checkEmptyCount0(locMast0, 5)) {
+                            locMast = locMast0;
+                        }
+                    }else {
                         locMast = locMast0;
                     }
+
                 }
             }
         }

--
Gitblit v1.9.1