From 57975f00790aea9ffea369c0c68b55137bf4123e Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期四, 19 六月 2025 09:03:36 +0800 Subject: [PATCH] #成品原材料放货区域划分 --- src/main/java/com/zy/common/service/CommonService.java | 124 ++++++++++++++++++++++------------------- 1 files changed, 67 insertions(+), 57 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index 935695d..6eeffa5 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -9,6 +9,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.result.KeyValueVo; import com.zy.asrs.service.*; +import com.zy.asrs.service.impl.MatServiceImpl; import com.zy.asrs.utils.Utils; import com.zy.asrs.utils.VersionUtils; import com.zy.common.model.LocTypeDto; @@ -52,6 +53,8 @@ private LocDetlService locDetlService; @Autowired private SlaveProperties slaveProperties; + @Autowired + private MatServiceImpl matService; /** * 鐢熸垚宸ヤ綔鍙� @@ -119,7 +122,7 @@ */ @Transactional public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, LocTypeDto locTypeDto) { - whsType = Utils.GetWhsType(sourceStaNo); + whsType = Utils.GetWhsType(sourceStaNo); return getLocNoRun(whsType,staDescId,sourceStaNo,matnr,batch,grade,0,locTypeDto,0); } @@ -157,6 +160,7 @@ int eRow = rowLastno.geteRow(); int crnNumber = rowLastno.getCrnQty(); + int tagId = matService.getTagIdByMatnr(matnr); if (Cools.isEmpty(rowLastno)) { throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�"); } @@ -165,11 +169,7 @@ if (!Cools.isEmpty(moveCrnNo) && moveCrnNo!=0){ crnNumber = moveCrnNo; - if (times==0){ - curRow = moveCrnNo*2-1; - }else { - curRow = moveCrnNo*2-1; - } + curRow = eRow; } //姝ょ▼搴忕敤浜庝紭鍖栧爢鍨涙満寮傚父鏃剁殑杩愯鏃堕棿 @@ -329,75 +329,85 @@ // 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).orderBy("bay1",true)); - for (LocMast locMast1 : locMasts) { - if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { - continue; - } - if (Utils.BooleanWhsTypeStaIoType(whsType)){ - 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 { - if (!Cools.isEmpty(locMast1)) { - locMast = locMast1; - break; - } - } + List<LocMast> locMasts = null; + if(sourceStaNo % 100 > 10){ + locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .eq("row1", nearRow) + .eq("loc_sts", "O") + .orderBy("lev1",true).orderBy("bay1",false)); + }else{ + locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .eq("row1", nearRow) + .eq("loc_sts", "O") + .orderBy("lev1",true).orderBy("bay1",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; +// } +// if (Utils.BooleanWhsTypeStaIoType(whsType)){ +//// String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo()); +// LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() +// .eq("loc_sts", "O")); +// if (!Cools.isEmpty(locMast2)) { +// locMast = locMast2; +// break; +// } +// } else { +// if (!Cools.isEmpty(locMast1)) { +// locMast = locMast1; +// break; +// } +// } +// } if (Cools.isEmpty(locMast) && Utils.BooleanWhsTypeStaIoType(whsType)){ + if(tagId == 226){ + List<LocMast> filteredLocMasts = new ArrayList<>(); + for (LocMast loc : locMasts) { + Integer lev = loc.getLev1(); + if (lev != null && lev >= 6 && lev <= 10) { + filteredLocMasts.add(loc); + } + } + locMasts = filteredLocMasts; + } +// if(tagId == 226){ //鍘熸潗鏂欐瘺鑳氱瓑 +// List<LocMast> filteredLocMasts = new ArrayList<>(); +// for (LocMast loc : locMasts) { +// Integer lev = loc.getLev1(); +// if (lev != null && lev >= 1 && lev <= 5) { +// filteredLocMasts.add(loc); +// } +// } +// locMasts = filteredLocMasts; +// } for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { continue; } - if (Utils.BooleanWhsTypeStaIoType(whsType)){ - 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 = locMast2; - break; - } else { - locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() - .eq("loc_no", shallowLoc).eq("loc_sts", "D")); - if (!Cools.isEmpty(locMast2)) { - locMast = locMast2; - break; - } - } - } - } else { - if (!Cools.isEmpty(locMast1)) { - locMast = locMast1; - break; - } + + if (!Cools.isEmpty(locMast1)) { + locMast = locMast1; + break; } + } } } - if (!Cools.isEmpty(locMast) && !basCrnpService.checkSiteError(crnNo, true)) { + if (!basCrnpService.checkSiteError(crnNo, true)) { locMast = null; } // 閫掑綊鏌ヨ if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("O")) { // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊 - if (times < rowCount*2) { + if (times < 1) { times = times + 1; return getLocNoRun(whsType, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo+1, locTypeDto, times); } -- Gitblit v1.9.1