From c715703c903ae6b47bb17684b4c27fa345921cf2 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期二, 08 七月 2025 09:37:04 +0800
Subject: [PATCH] #pda订单下拉选择

---
 src/main/java/com/zy/common/service/CommonService.java |   49 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 285b425..45a495b 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -9,6 +9,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.result.KeyValueVo;
 import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.MatServiceImpl;
 import com.zy.asrs.utils.Utils;
 import com.zy.asrs.utils.VersionUtils;
 import com.zy.common.model.LocTypeDto;
@@ -52,6 +53,8 @@
     private LocDetlService locDetlService;
     @Autowired
     private SlaveProperties slaveProperties;
+    @Autowired
+    private MatServiceImpl matService;
 
     /**
      * 鐢熸垚宸ヤ綔鍙�
@@ -134,8 +137,11 @@
      */
     @Transactional
     public StartupDto getLocNoRun(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) {
+        int tagId = 0;
         if (Cools.isEmpty(matnr)) {  //鐗╂枡鍙�
             matnr = "";
+        }else{
+            tagId = matService.getTagIdByMatnr(matnr);
         }
         if (Cools.isEmpty(batch)) {  //绠卞彿
             batch = "";
@@ -156,7 +162,6 @@
         int sRow = rowLastno.getsRow();
         int eRow = rowLastno.geteRow();
         int crnNumber = rowLastno.getCrnQty();
-
         if (Cools.isEmpty(rowLastno)) {
             throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
         }
@@ -325,10 +330,22 @@
 
         // 1.鎸夎鍒欐煡鎵惧簱浣�
         if (Cools.isEmpty(locMast) && crnNo != 0) {
-            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
-                    .eq("row1", nearRow)
-                    .eq("loc_sts", "O")
-                    .orderBy("lev1",true).orderBy("bay1",true));
+            List<LocMast> locMasts = null;
+            if(sourceStaNo % 100 > 10){
+                locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+                        .eq("row1", nearRow)
+                        .eq("loc_sts", "O")
+                        .orderBy("lev1",true).orderBy("bay1",false));
+            }else{
+                 locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+                        .eq("row1", nearRow)
+                        .eq("loc_sts", "O")
+                        .orderBy("lev1",true).orderBy("bay1",true));
+            }
+//            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+//                    .eq("row1", nearRow)
+//                    .eq("loc_sts", "O")
+//                    .orderBy("lev1",true).orderBy("bay1",true));
 //            for (LocMast locMast1 : locMasts) {
 //                if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
 //                    continue;
@@ -350,6 +367,26 @@
 //            }
 
             if (Cools.isEmpty(locMast) && Utils.BooleanWhsTypeStaIoType(whsType)){
+                if(tagId == 226){
+                    List<LocMast> filteredLocMasts = new ArrayList<>();
+                    for (LocMast loc : locMasts) {
+                        Integer lev = loc.getLev1();
+                        if (lev != null && lev >= 6 && lev <= 10) {
+                            filteredLocMasts.add(loc);
+                        }
+                    }
+                    locMasts = filteredLocMasts;
+                }
+//                if(tagId == 226){  //鍘熸潗鏂欐瘺鑳氱瓑
+//                    List<LocMast> filteredLocMasts = new ArrayList<>();
+//                    for (LocMast loc : locMasts) {
+//                        Integer lev = loc.getLev1();
+//                        if (lev != null && lev >= 1 && lev <= 5) {
+//                            filteredLocMasts.add(loc);
+//                        }
+//                    }
+//                    locMasts = filteredLocMasts;
+//                }
                 for (LocMast locMast1 : locMasts) {
                     if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
                         continue;
@@ -382,7 +419,7 @@
 //                return getLocNo(1, staDescId, sourceStaNo, matnr,batch,grade, locTypeDto, 0);
 //            }
             log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
-            throw new CoolException("娌℃湁绌哄簱浣�");
+            throw new CoolException("娌℃湁绌哄簱浣嶆垨鍫嗗灈鏈哄紓甯�");
         }
         String locNo = locMast.getLocNo();
 

--
Gitblit v1.9.1