From ddc462832f99c124fbcc9653a0878e18768224cd Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期三, 11 六月 2025 16:19:13 +0800
Subject: [PATCH] #修复bug,检索该排全部空库位进行判断

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

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index eb9fdc5..ad69ab8 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -105,11 +105,12 @@
         } else if (sourceStaNo > 299){
             whsType = 3;
         }
+
         // 鐩爣鍫嗗灈鏈哄彿
         int crnNo = whsType;
-        if (!basCrnpService.checkSiteError(crnNo, true)){
-            throw new CoolException("娌℃湁鍙敤鐨勫爢鍨涙満");
-        }
+//        if (!basCrnpService.checkSiteError(crnNo, true)){
+//            throw new CoolException("娌℃湁鍙敤鐨勫爢鍨涙満");
+//        }
 
         StartupDto startupDto = new StartupDto();
 
@@ -198,7 +199,7 @@
 
         // 1.褰撴绱㈠簱鎺掍负娴呭簱浣嶆帓鏃讹紝浼樺厛瀵绘壘褰撳墠搴撴帓鐨勬繁搴撲綅鎺�
         if (locMast == null) {
-            if ((whsType==2 || whsType==4) && Utils.isShallowLoc(slaveProperties, curRow)) {
+            if ( Utils.isShallowLoc(slaveProperties, curRow)) {
                 Integer deepRow = Utils.getDeepRow(slaveProperties, curRow);
                 locMast = locMastService.queryFreeLocMast(deepRow, locTypeDto.getLocType1());
                 // todo:luxiaotao 濡傛灉鐢ㄦ祬鎺掓壘鍒扮殑娣卞簱浣嶏紝閭d箞鍒欓渶瑕佸垽鏂繖涓繁搴撲綅瀵瑰簲鐨勬祬搴撲綅鏄惁鏈夎揣锛團銆乆銆丏锛�
@@ -208,23 +209,33 @@
                 }
             }
             if (Cools.isEmpty(locMast)) {
-                locMast = locMastService.queryFreeLocMast(curRow, locTypeDto.getLocType1());
-                // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
-                if (!locMastService.checkEmptyCount(locMast)) {
-                    locMast = null;
-                }
-                // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X
-                if ((whsType==2 || whsType==4) && null != locMast && Utils.isShallowLoc(slaveProperties, locMast.getLocNo())) {
-                    LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, locMast.getLocNo()));
-                    if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) {
-                        locMast = null;
+                List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+                        .eq("row1", curRow)
+                        .eq("loc_sts", "O")
+                        .eq("loc_type1", locTypeDto.getLocType1())
+                        .orderBy("lev1",true).orderBy("bay1",true));
+                for (LocMast locMast1 : locMasts) {
+                    // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+                    if (!locMastService.checkEmptyCount(locMast1)) {
+                        locMast1 = null;
                     }
-                }
-                // 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O
-                if ((whsType==2 || whsType==4) && null != locMast && Utils.isDeepLoc(slaveProperties, locMast.getLocNo())) {
-                    LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, locMast.getLocNo()));
-                    if (!shallowLoc.getLocSts().equals("O")) {
-                        locMast = null;
+                    // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X
+                    if (null != locMast1 && Utils.isShallowLoc(slaveProperties, locMast1.getLocNo())) {
+                        LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, locMast1.getLocNo()));
+                        if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) {
+                            locMast1 = null;
+                        }
+                    }
+                    // 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O
+                    if (null != locMast1 && Utils.isDeepLoc(slaveProperties, locMast1.getLocNo())) {
+                        LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, locMast1.getLocNo()));
+                        if (!shallowLoc.getLocSts().equals("O")) {
+                            locMast1 = null;
+                        }
+                    }
+                    if (!Cools.isEmpty(locMast1)) {
+                        locMast = locMast1;
+                        break;
                     }
                 }
             }
@@ -246,6 +257,7 @@
             log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
             throw new CoolException("娌℃湁绌哄簱浣�");
         }
+
         String locNo = locMast.getLocNo();
 
         // 鐢熸垚宸ヤ綔鍙�

--
Gitblit v1.9.1