From 4ad1f324ab1fd2b51504afc00b43b4ee40f029c2 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期四, 20 二月 2025 09:40:03 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 97 +++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 91 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 8036cd6..b08da3d 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -178,7 +178,7 @@ } //姝ょ▼搴忕敤浜庝紭鍖栧爢鍨涙満寮傚父鏃剁殑杩愯鏃堕棿 - for (int i = times; i < crnNumber*2; i++) { + for (int i = times; i < crnNumber*4; i++) { int[] locNecessaryParameters = Utils.LocNecessaryParameters(whsType, curRow, crnNumber); curRow = locNecessaryParameters[1]; crnNo = locNecessaryParameters[2]; @@ -230,10 +230,20 @@ if (locMast2.getCrnNo()==1 || locMast2.getCrnNo()==6){ continue; } + if (sourceStaNo == 118 || sourceStaNo == 122){ + if (locMast2.getCrnNo()>3){ + continue; + } + } else if (sourceStaNo == 120 || sourceStaNo == 121 || sourceStaNo == 123 || sourceStaNo == 171){ + if (locMast2.getCrnNo()<4){ + continue; + } + } } LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast2.getLocNo())); if (!Cools.isEmpty(locDetl) && matnr.equals(locDetl.getMatnr())) { locMast = locMast1; + crnNo = locMast.getCrnNo(); break; } } @@ -251,6 +261,15 @@ if (sourceStaNo<200){ if (shallowLoc.getCrnNo()==1 || shallowLoc.getCrnNo()==6){ continue; + } + if (sourceStaNo == 118 || sourceStaNo == 122){ + if (shallowLoc.getCrnNo()>3){ + continue; + } + } else if (sourceStaNo == 120 || sourceStaNo == 121 || sourceStaNo == 123 || sourceStaNo == 171){ + if (shallowLoc.getCrnNo()<4){ + continue; + } } } if (VersionUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) { @@ -350,7 +369,11 @@ // 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)); + 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; @@ -362,6 +385,35 @@ break; } } + + if (Cools.isEmpty(locMast)){ + for (LocMast locMast1 : locMasts) { + if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { + continue; + } + String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo()); + LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("loc_no", shallowLoc).eq("loc_sts", "O")); + if (!Cools.isEmpty(locMast2)) { + locMast = locMast2; + break; + } else { + locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("loc_no", shallowLoc).eq("loc_sts", "F")); + if (!Cools.isEmpty(locMast2)) { + locMast = locMast1; + break; + } else { + locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("loc_no", shallowLoc).eq("loc_sts", "D")); + if (!Cools.isEmpty(locMast2)) { + locMast = locMast1; + break; + } + } + } + } + } } if (!Cools.isEmpty(locMast) && !basCrnpService.checkSiteError(crnNo, true)) { @@ -371,7 +423,7 @@ // 閫掑綊鏌ヨ if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("O")) { // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊 - if (times < rowCount) { + if (times < rowCount*4) { times = times + 1; return getLocNoRun(1, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo, locTypeDto, times); } @@ -457,7 +509,7 @@ } //姝ょ▼搴忕敤浜庝紭鍖栧爢鍨涙満寮傚父鏃剁殑杩愯鏃堕棿 - for (int i = times; i < crnNumber; i++) { + for (int i = times; i < crnNumber*4; i++) { int[] locNecessaryParameters = Utils.LocNecessaryParameters(whsType, curRow, crnNumber); curRow = locNecessaryParameters[1]; crnNo = locNecessaryParameters[2]; @@ -633,7 +685,11 @@ // 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)); + 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; @@ -645,6 +701,35 @@ break; } } + + if (Cools.isEmpty(locMast)){ + for (LocMast locMast1 : locMasts) { + if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { + continue; + } + String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo()); + LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("loc_no", shallowLoc).eq("loc_sts", "O")); + if (!Cools.isEmpty(locMast2)) { + locMast = locMast2; + break; + } else { + locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("loc_no", shallowLoc).eq("loc_sts", "F")); + if (!Cools.isEmpty(locMast2)) { + locMast = locMast1; + break; + } else { + locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("loc_no", shallowLoc).eq("loc_sts", "D")); + if (!Cools.isEmpty(locMast2)) { + locMast = locMast1; + break; + } + } + } + } + } } if (!Cools.isEmpty(locMast) && !basCrnpService.checkSiteError(crnNo, true)) { @@ -654,7 +739,7 @@ // 閫掑綊鏌ヨ if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("O")) { // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊 - if (times < rowCount) { + if (times < rowCount*4) { times = times + 1; return getLocNoRun(1, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo, locTypeDto, times,rgvNo); } -- Gitblit v1.9.1