From 112ac231c1e27d591aec0dc39f1337b4f1971847 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 26 八月 2024 15:05:26 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |   52 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 41 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index e4003f1..4243d7b 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -851,16 +851,45 @@
                     .eq("loc_sts", "O").eq("whs_type",rowLastnoType.getType().longValue())
                     .orderBy("lev1",true).orderBy("bay1",true));//鏈�娴呭簱浣�
             for (LocMast locMast1 : locMasts) {
+                if (locMast != null){
+                    break;
+                }
                 if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
                     continue;
                 }
                 if (Utils.BooleanWhsTypeStaIoType(rowLastno)){
                     //鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娣辩┖搴撲綅
-                    LocMast locMast2 = locMastService.selectLocByLocStsPakInO(curRow,nearRow,locMast1,rowLastnoType.getType().longValue());
-                    if (!Cools.isEmpty(locMast2) && locMast2.getBay1()==curRow) {
-                        locMast = locMast2;
-                        break;
+//                    LocMast locMast2 = locMastService.selectLocByLocStsPakInO(curRow,nearRow,locMast1,rowLastnoType.getType().longValue());
+//                    if (!Cools.isEmpty(locMast2) && locMast2.getBay1()==curRow) {
+//                        locMast = locMast2;
+//                        break;
+//                    }
+                    List<LocMast> locMasts1 = null;
+                    if (curRow < nearRow){
+                        locMasts1 = locMastService.selectList(new EntityWrapper<LocMast>()
+                                .eq("gro1", locMast1.getGro1())
+                                .orderBy("row1",true));
+                        if(locMasts1.size() == 3  || (curRow>20 && locMasts1.size() == 2)){
+                            locMasts1 = locMastService.selectList(new EntityWrapper<LocMast>()
+                                    .eq("gro1", locMast1.getGro1())
+                                    .orderBy("row1",false));
+                        }
+                    }else {
+                        locMasts1 = locMastService.selectList(new EntityWrapper<LocMast>()
+                                .eq("gro1", locMast1.getGro1())
+                                .orderBy("row1",false));
                     }
+                    if (Cools.isEmpty(locMasts1)) {
+                        continue;
+                    }
+                    for (LocMast locMastGro1 : locMasts1) {
+                        if (locMastGro1.getLocSts().equals("O")){
+                            locMast = locMastGro1;
+                            break;
+                        }
+                    }
+
+
 
                 }
             }
@@ -1007,14 +1036,14 @@
                 if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
                     continue;
                 }
-                if (Utils.BooleanWhsTypeStaIoType(rowLastno)){
-                    //鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娣辩┖搴撲綅
-                    LocMast locMast2 = locMastService.selectLocByLocStsPakInO(curRow,nearRow,locMast1,rowLastnoType.getType().longValue());
-                    if (!Cools.isEmpty(locMast2) && locMast2.getBay1()==curRow) {
-                        locMast = locMast2;
+//                if (Utils.BooleanWhsTypeStaIoType(rowLastno)){
+//                    //鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娣辩┖搴撲綅
+//                    LocMast locMast2 = locMastService.selectLocByLocStsPakInO(curRow,nearRow,locMast1,rowLastnoType.getType().longValue());
+//                    if (!Cools.isEmpty(locMast2) && locMast2.getBay1()==curRow) {
+                        locMast = locMast1;
                         break;
-                    }
-                }
+//                    }
+//                }
             }
         }
 
@@ -1023,6 +1052,7 @@
             // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
             if (times < rowCount*2) {
                 times = times + 1;
+
                 return getLocNoRun5(whsType, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo, locTypeDto, times);
             }
             log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);

--
Gitblit v1.9.1