From d77e5ae3f0a372a478ac7cc081121273ac9b4331 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 09 十二月 2024 15:07:17 +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 15c7957..a8e9ebf 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 = "";
         }
@@ -536,7 +536,7 @@
 
 
         // 鐩镐技宸ヤ綔妗f --- 鍚屽ぉ鍚岃鏍肩墿鏂�
-        if (!Cools.isEmpty(matnr) && (staDescId == 1 || staDescId == 11 || staDescId == 111) ) {
+        if (!Cools.isEmpty(matnr) && (staDescId == 1 || staDescId == 11 || staDescId == 111) && !mixture ) {
             //鏌ヨ鐩镐技宸ヤ綔妗f
             List<WrkMast> wrkMasts = wrkMastService.selectWrkMastWrkDetlMatnrBatch(staDescId, matnr, batch,grade, crnNo);
             int nearbay = 0;    //鐩镐技宸ヤ綔妗f 鐩爣搴撲綅鍒�
@@ -567,7 +567,8 @@
                     continue;
                 }
                 for (LocMast locMastGro1 : locMasts) {
-                    if (locMastGro1.getBay1() == 2){
+
+                    if (locMastGro1.getBay1() == 2){ //wcs闂闄愬埗
                         continue;
                     }
                     if (locMastGro1.getLocSts().equals("P") || locMastGro1.getLocSts().equals("Q")) {
@@ -664,13 +665,22 @@
                         continue;
                     }
                     for (LocMast locMastGro1 : locMasts1) {
+                        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.getLocSts().equals("F")){
                             LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_No", locMastGro1.getLocNo()));
                             if (!locDetl.getMatnr().equals(matnr) || !locDetl.getBatch().equals(batch)){
                                 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