From 63917bb21dd70466ec9f2b2f340d477257497965 Mon Sep 17 00:00:00 2001
From: rqdz <rqdz@163.com>
Date: 星期三, 03 十二月 2025 13:35:06 +0800
Subject: [PATCH] #1

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

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 9999e58..cf530f8 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -123,7 +123,7 @@
     @Transactional
     public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, LocTypeDto locTypeDto) {
          whsType = Utils.GetWhsType(sourceStaNo);
-        return getLocNo(whsType,staDescId,sourceStaNo,matnr,batch,grade,0,locTypeDto,0);
+        return getLocNo(whsType, staDescId,sourceStaNo,matnr,batch,grade,0,locTypeDto,0);
     }
 
     /**
@@ -320,17 +320,54 @@
 
         // 1.鎸夎鍒欐煡鎵惧簱浣�
         if (Cools.isEmpty(locMast) && crnNo != 0) {
-            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O"));
+            List<LocMast> locMasts = new ArrayList<>();
+            locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow)
+                    .eq("loc_sts", "O")
+                    .eq("loc_type1",locTypeDto.getLocType1()));
+            if (Cools.isEmpty(locMasts) || locMasts.size() <= 5){
+                if (nearRow == 2){
+                    locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow + 1)
+                            .eq("loc_sts", "O")
+                            .eq("loc_type1",locTypeDto.getLocType1()));
+                }else if (nearRow == 3){
+                    locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow - 1)
+                            .eq("loc_sts", "O")
+                            .eq("loc_type1",locTypeDto.getLocType1()));
+
+                }
+            }
+            if (locMasts.size() <= 5){
+                throw new CoolException("鏃犵┖搴撲綅鍙敤");
+            }
             for (LocMast locMast1 : locMasts) {
+//                if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
+//                    continue;
+//                }
+//                String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
+//                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc).eq("loc_sts", "O"));
+//                if (!Cools.isEmpty(locMast2)) {
+//                    locMast = locMast2;
+//                    break;
+//                }
                 if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
                     continue;
                 }
                 String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
-                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc).eq("loc_sts", "O"));
-                if (!Cools.isEmpty(locMast2)) {
+                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc));
+                if (Cools.isEmpty(locMast2)){
+                    continue;
+                }
+                if (locMast2.getLocSts().equals("P")||locMast2.getLocSts().equals("Q")||locMast2.getLocSts().equals("R")||locMast2.getLocSts().equals("S")){
+                    continue;
+                }
+                if (!Cools.isEmpty(locMast2)&&locMast2.getLocSts().equals("O")){
                     locMast = locMast2;
                     break;
                 }
+                if (!Cools.isEmpty(locMast2)&&(locMast2.getLocSts().equals("F")||locMast2.getLocSts().equals("D"))){
+                    locMast = locMast1;
+                    break;
+                }
             }
         }
 

--
Gitblit v1.9.1