From e71c9fb58a721cc12b845259a6ffcaeb7d20da64 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 29 十一月 2024 13:21:26 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |   24 +++++++++++++++++-------
 1 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index b4cb578..47d85bf 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -121,7 +121,7 @@
      * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿
      */
     @Transactional
-    public StartupDto getLocNo( Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, LocTypeDto locTypeDto) {
+    public StartupDto getLocNo( Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, LocTypeDto locTypeDto,boolean mixture) {
         try{
             Integer whsType = Utils.GetWhsType(sourceStaNo);
             RowLastno rowLastno = rowLastnoService.selectById(whsType);
@@ -139,7 +139,7 @@
                     log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�",sourceStaNo);
                     break;
                 case 4:
-                    return getLocNoRun4(whsType,staDescId,sourceStaNo,matnr,batch,grade,4,locTypeDto,0);
+                    return getLocNoRun4(whsType,staDescId,sourceStaNo,matnr,batch,grade,4,locTypeDto,0,mixture);
                 case 5:
                     return getLocNoRun5(whsType,staDescId,sourceStaNo,matnr,batch,grade,0,locTypeDto,0);
                 default:
@@ -471,7 +471,7 @@
         return startupDto;
     }
 
-    public StartupDto getLocNoRun4(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) {
+    public StartupDto getLocNoRun4(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times,boolean mixture) {
         if (Cools.isEmpty(matnr)) {  //鐗╂枡鍙�
             matnr = "";
         }
@@ -567,13 +567,23 @@
                     continue;
                 }
                 for (LocMast locMastGro1 : locMasts) {
-                    if (locMastGro1.getBay1() == 2){
+                    if (mixture){ //娣锋枡鍙厑璁告斁 7 12 14
+                        if (locMastGro1.getBay1() != 7 && locMastGro1.getBay1() != 12 && locMastGro1.getBay1() != 14){
+                            continue;
+                        }
+                    }else { //涓嶆贩鏂欎笉鍏佽鏀� 7 12 14
+                        if (locMastGro1.getBay1() == 7 || locMastGro1.getBay1() == 12 || locMastGro1.getBay1() == 14){
+                            continue;
+                        }
+                    }
+
+                    if (locMastGro1.getBay1() == 2){ //wcs闂闄愬埗
                         continue;
                     }
                     if (locMastGro1.getLocSts().equals("P") || locMastGro1.getLocSts().equals("Q")) {
                         break;
                     }
-                    if (locMastGro1.getLocSts().equals("O") || locMastGro1.getLocSts().equals("S")){
+                    if (locMastGro1.getLocSts().equals("O")){
                         locMast = locMastGro1;
                         break;
                     }
@@ -670,7 +680,7 @@
                                 break;
                             }
                         }
-                        if (locMastGro1.getLocSts().equals("P") || locMastGro1.getLocSts().equals("Q")) {
+                        if (locMastGro1.getLocSts().equals("P") || locMastGro1.getLocSts().equals("Q") || locMastGro1.getLocSts().equals("R")) {
                             break;
                         }
                         if (locMastGro1.getLocSts().equals("O")){
@@ -690,7 +700,7 @@
             // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
             if (times < rowCount*2) {
                 times = times + 1;
-                return getLocNoRun4(whsType, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo, locTypeDto, times);
+                return getLocNoRun4(whsType, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo, locTypeDto, times,mixture);
             }
             log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
             throw new CoolException("娌℃湁绌哄簱浣�");

--
Gitblit v1.9.1