From 005827136eeb432ca8b68925ffaf86b6b95c4a84 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 06 十二月 2023 20:18:37 +0800 Subject: [PATCH] #盘点修改 --- src/main/java/com/zy/common/service/CommonService.java | 80 ++++++++++++++++++++++++++++++--------- 1 files changed, 61 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index b7887ae..1388298 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -202,15 +202,8 @@ } List<LocMast> locMasts = locMastService.queryFreeLocMast2(locTypeDto.getLocType1(), locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd()); - for (LocMast locMast0 : locMasts) { - LocMast locMast1 = locMastService.findInnerLoc(locMast0.getLocNo());//妫�娴嬪悓搴撲綅缁勬繁搴撲綅鏄惁鏈夌┖闂插簱浣� - if (locMast1 != null) { - //棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast1, 10)) { - return locMast1; - } - } - } + locMast = locFilter(locMasts, matNos,locTypeDto); + } if (locRules.get(0).getKeepGo() == 0) { @@ -250,17 +243,8 @@ if (locRule == null) { continue; } - List<LocMast> locMasts = locMastService.queryFreeLocMast2(locTypeDto.getLocType1(), locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd()); - for (LocMast locMast0 : locMasts) { - LocMast locMast1 = locMastService.findInnerLoc(locMast0.getLocNo());//妫�娴嬪悓搴撲綅缁勬繁搴撲綅鏄惁鏈夌┖闂插簱浣� - if (locMast1 != null) { - //棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast1, 10)) { - return locMast1; - } - } - } + locMast = locFilter(locMasts, matNos,locTypeDto); } // if (locRules.get(0).getKeepGo() == 0) { @@ -421,6 +405,64 @@ return locMast; } + /* + 搴撳瓨瑙勫垯鎼滅储鍒扮殑搴撲綅纭 + */ + private LocMast locFilter(List<LocMast> locMasts,List<String> matNos,LocTypeDto locTypeDto){ + for (LocMast locMast0 : locMasts) { + if(!VersionUtils.checkLocType(locMast0,locTypeDto)){ + continue; + } + if (matNos.size() == 1) { + //鍗曞搧鐗╂枡 + if(Cools.isEmpty(Utils.getGroupDeepLoc(locMast0.getLocNo()))){ + return locMast0; + }else{ + List<String> groupInnerLoc = Utils.getGroupInnerLoc(locMast0.getLocNo()); + if (Cools.isEmpty(groupInnerLoc)) { + return locMast0; + }else { + //鑾峰彇鏈�娣辩殑搴撲綅 + String loc = groupInnerLoc.get(groupInnerLoc.size() - 1); + LocMast locMast1 = locMastService.selectByLoc(loc); + if("O".equals(locMast1.getLocSts())){ + return locMast1; + }else { + if(!"F".equals(locMast1.getLocSts())){ + continue; + } + List<LocDetl> locDetls = locDetlService.selectByLocNo(loc); + if(!Cools.eq(locDetls.get(0).getMatnr(),matNos.get(0))){ + continue; + } + for (int i=groupInnerLoc.size()-1; i>=0 ;i--){ + LocMast locMast2 = locMastService.selectByLoc(groupInnerLoc.get(i)); + if("O".equals(locMast2.getLocSts())){ + return locMast2; + }else if("F".equals(locMast2.getLocSts())){ + if(i==0){ + return locMast1; + }else { + continue; + } + }else { + break; + } + } + } + + } + } + }else { + if(Cools.isEmpty(Utils.getGroupDeepLoc(locMast0.getLocNo()))){ + return locMast0; + } + } + + } + return null; + } + //杩斿洖dto private StartupDto getLocNoStep6(Integer staDescId, Integer sourceStaNo, LocMast locMast) { StartupDto startupDto = new StartupDto(); -- Gitblit v1.9.1