From 5fc35be9138e965b2cf3e1211257bdf12009a358 Mon Sep 17 00:00:00 2001
From: Administrator <335182714>
Date: 星期三, 17 九月 2025 08:23:01 +0800
Subject: [PATCH] 订单出库显示明细是否完成修复

---
 src/main/java/com/zy/common/service/CommonService.java |   39 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 96e877c..fe43f14 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -12,11 +12,14 @@
 import com.zy.common.model.LocTypeDto;
 import com.zy.common.model.StartupDto;
 import com.zy.common.properties.SlaveProperties;
+import com.zy.system.entity.Config;
+import com.zy.system.mapper.ConfigMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -48,6 +51,9 @@
     private LocDetlService locDetlService;
     @Autowired
     private SlaveProperties slaveProperties;
+
+    @Resource
+    private ConfigMapper configMapper;
 
     /**
      * 鐢熸垚宸ヤ綔鍙�
@@ -154,25 +160,47 @@
         // 鍙敤鍫嗗灈鏈哄垪琛�
         List<Integer> crnNoList = basCrnps.stream().map(BasCrnp::getCrnNo).collect(Collectors.toList());
 
+       // 鑾峰彇澶囪揣鍖洪厤缃�
+        Config config = configMapper.selectConfigByCode("auto_stock_up");
+        if (config == null) {
+            throw new CoolException("鐞嗚揣鑾峰彇澶囪揣鍖洪厤缃敊璇紒锛侊紒");
+        }
+
+        // 鍓嶅嚑鍒楁槸澶囪揣鍖�
+        int columnNum = Integer.parseInt(config.getValue());
+
         // 鎼滅储娣卞簱浣�
         List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
-                .eq("loc_sts","O").in("crn_no",crnNoList).in("row1","1,4,5,8,9,12,13,16,17,20,21,24").orderBy("lev1,bay1,row1"));
+                .eq("loc_sts","O").in("crn_no",crnNoList).in("row1","1,4,5,8,9,12,13,16,17,20,21,24").orderBy("lev1,bay1,row1")
+                .gt("bay1",columnNum));
 
         // 娣卞簱浣嶆病鏈夊垯鎼滅储娴呭簱浣�
         if (locMasts.isEmpty()) {
             locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
-                    .eq("loc_sts","O").in("crn_no",crnNoList).in("row1","2,3,6,7,10,11,14,15,18,19,22,23").orderBy("lev1,bay1,row1"));
+                    .eq("loc_sts","O").in("crn_no",crnNoList).in("row1","2,3,6,7,10,11,14,15,18,19,22,23").orderBy("lev1,bay1,row1")
+                    .gt("bay1",columnNum));
         }
         if (locMasts.isEmpty()) {
             throw new CoolException("娌℃湁鍙敤搴撲綅");
         }
-
+        // 娴呭簱浣�
+        String[] split = "02,03,06,07,10,11,14,15,18,19,22,23".split(",");
         // 璁板綍鍫嗗灈鏈烘槸鍚︽煡璇㈣繃锛岄伩鍏嶉噸澶嶆煡璇�
         Map<Integer,Boolean> crnMap = new HashMap<>();
         for (LocMast mast : locMasts) {
             if (crnMap.get(mast.getCrnNo()) == null) {
                 //棰勭暀绌哄簱浣�
                 if (locMastService.checkEmptyCount(mast, 10)) {
+                    Integer row1 = mast.getRow1();
+                    if(slaveProperties.getDoubleLocs().contains(row1)){
+                        // 鍙栨祬搴撲綅
+                        String s = split[slaveProperties.getDoubleLocs().indexOf(row1)];
+                        LocMast locMast1 = locMastService.selectById(s + mast.getLocNo().substring(2));
+                        if(locMast1 != null && !locMast1.getLocSts().equals("O")) {
+                            log.warn("鍏ュ簱鍒嗛厤搴撲綅锛歿}锛屽搴旀祬搴撲綅{}涓嶄负绌猴細{}",mast.getLocNo(),locMast1.getLocNo(),locMast1.getLocSts());
+                            continue;
+                        }
+                    }
                     locMast = mast;
                     break;
                 } else {
@@ -181,6 +209,11 @@
             }
         }
 
+        if (locMast == null) {
+            log.error("鍏ュ簱璇锋眰搴撲綅涓嶈冻锛屽墿浣欏簱浣嶄笉瓒�/涓嶆弧瓒冲叆搴撴潯浠�");
+            throw new CoolException("鍏ュ簱璇锋眰搴撲綅涓嶈冻锛屽墿浣欐暟閲忎笉瓒�/涓嶆弧瓒冲叆搴撴潯浠�");
+        }
+
         return locMast;
     }
 

--
Gitblit v1.9.1