From dd76858f35bb4fdd76d5976465e9bd96267b0f0b Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期三, 06 五月 2026 09:50:53 +0800
Subject: [PATCH] 初始化

---
 src/main/java/com/zy/common/service/CommonService.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 57 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 c233aff..65a724d 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -134,7 +134,15 @@
     @Transactional
     public StartupDto getLocNo(BasDevp sourceStaNo, LocTypeDto locTypeDto,int inType){
 
-        LocMast locMast;
+        LocMast locMast = null;
+
+        // 浜屾湡鍏ュ簱鎵惧簱浣�
+        if (sourceStaNo.getDevNo() == 1102 || sourceStaNo.getDevNo() == 2101 || sourceStaNo.getDevNo() == 2103){
+            locMast = searchLocBySecond(locTypeDto, sourceStaNo.getDevNo(), inType);
+        }
+        if (locMast != null){
+            return getLocNoReturn(locMast, sourceStaNo.getDevNo(), inType);
+        }
 
         // 绌烘墭鍏ュ簱鎵惧簱浣�
         locMast = searchLocByEmpty(sourceStaNo, inType);
@@ -242,15 +250,19 @@
         }
 
         // 濡傛灉鏄�305鍏ュ簱锛屽湪涓�鍙峰爢鍨涙満绌洪棽鐨勬椂鍊欏簲鍏堝叆涓�鍙峰贩閬擄紝纭繚鍑哄簱鏁堢巼
-        if (sourceStaNo == 305) {
+        if (sourceStaNo == 305 || sourceStaNo == 1202) {
             // 1鍙峰贩閬撳彲鐢ㄥ簱浣�
             List<LocMast> collect = locMasts.stream().filter(locMast1 -> locMast1.getCrnNo().equals(1)).collect(Collectors.toList());
             List<LocMast> collect2 = locMasts.stream().filter(locMast1 -> locMast1.getCrnNo().equals(2)).collect(Collectors.toList());
+            List<LocMast> collect3 = locMasts.stream().filter(locMast1 -> locMast1.getCrnNo().equals(3)).collect(Collectors.toList());
             BasCrnp crnp = basCrnpService.selectById(1);
+            BasCrnp crnp2 = basCrnpService.selectById(2);
             if (crnp.getCrnSts() == 3 && collect.size()>10 && crnp.getCrnErr() == 0) {
                 locMasts = collect;
-            } else {
+            } else if (crnp2.getCrnSts() == 3 && collect2.size()>10 && crnp.getCrnErr() == 0) {
                 locMasts = collect2;
+            }else {
+                locMasts = collect3;
             }
 //            BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 305));
 //            if (basDevp.getAutoing().equals("Y") && basDevp.getLoading().equals("Y") && basDevp.getWrkNo() > 6000 && basDevp.getWrkNo() <= 9000) {
@@ -300,6 +312,48 @@
         return locMast;
     }
 
+    private LocMast searchLocBySecond(LocTypeDto locTypeDto,int sourceStaNo, int inType) {
+        // 瀵绘壘鍒扮殑搴撲綅
+        LocMast locMast = null;
+
+        // 涓嶆槸鍏ュ簱
+        if (inType != 1){
+            return null;
+        }
+
+        // 绌哄簱浣嶉泦鍚�
+        List<LocMast> locMasts = new ArrayList<>();
+
+        locMasts = locMastMapper.selectLocToSecond(locTypeDto.getLocType2());
+
+        for (LocMast mast : locMasts) {
+            if (mast.getRow1() == 10 && mast.getBay1() <= 18){
+                LocMast deep = locMastService.selectOne(new EntityWrapper<LocMast>()
+                        .eq("row1", mast.getRow1() + 1)
+                        .eq("bay1",  mast.getBay1())
+                        .eq("lev1",  mast.getLev1())
+                        .eq("crn_no", 3));
+                if (deep.getLocSts().equals("O")) {
+                    locMast = deep;
+                    break;
+                }
+            }
+            locMast = mast;
+            break;
+        }
+
+        // 棰勭暀绌哄簱浣�
+        Integer count = locMastService.selectCount(new EntityWrapper<LocMast>()
+                .eq("loc_sts", "O")
+                .eq("crn_no", 3)
+                .in("row1",9, 10));
+
+        if (count <= 5){
+            locMast = null;
+        }
+
+        return locMast;
+    }
     /**
      * 妫�绱㈠簱浣嶅彿
      *

--
Gitblit v1.9.1