From f72b0dc0ae80fee81a7a678deb0e3d97f89a0e1b Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期三, 21 八月 2024 09:23:46 +0800 Subject: [PATCH] #优化 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 77 +++++++++++++++++++++++++++----------- 1 files changed, 54 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 9380c83..79f152d 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -94,7 +94,7 @@ // 妫�绱㈠簱浣� LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList()); - StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs, locTypeDto); + StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs, locTypeDto,0); // 鐢熸垚宸ヤ綔鍙� int workNo = dto.getWorkNo(); // 鐢熸垚宸ヤ綔妗� @@ -167,17 +167,25 @@ for(StockOutParam.LocDetl one : param.getLocDetls()){ locs.add(one.getLocNo()); } - boolean sign = true; - for (StockOutParam.LocDetl locDetl : param.getLocDetls()) { - LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); - //鑾峰彇鍚屼竴搴撲綅缁勭殑澶栦晶搴撲綅鍙� - List<String> groupOuterSingleLoc = Utils.getGroupOuterSingleLoc(locDetl.getLocNo()); - if (locMast.getLocType2().equals((short)3)){ - groupOuterSingleLoc = Utils.getGroupOuterSingleLocLowFrequency(locDetl.getLocNo()); - } + List<StockOutParam.LocDetl> stockOutParamLocDetlSort = Utils.getStockOutParamLocDetlSort(param.getLocDetls()); + boolean sign = true; + List<String> locNoWeighting = new ArrayList<>(); + for (StockOutParam.LocDetl locDetl : stockOutParamLocDetlSort) { + if (Cools.isEmpty(locNoWeighting)){ + locNoWeighting.add(locDetl.getLocNo()); + }else { + if (!Utils.getLocNoWeighting(locNoWeighting,locDetl.getLocNo())){ + locNoWeighting.add(locDetl.getLocNo()); + sign = true; + } + } if (sign){ - if (locMast.getLocType2().equals((short)3)) { + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); + //鑾峰彇鍚屼竴搴撲綅缁勭殑澶栦晶搴撲綅鍙� + List<String> groupOuterSingleLoc = Utils.getGroupOuterSingleLoc(locDetl.getLocNo()); + if (locMast.getLocType2().equals((short)3)){ + groupOuterSingleLoc = Utils.getGroupOuterSingleLocLowFrequency(locDetl.getLocNo()); sign = false; } for (String locNo : groupOuterSingleLoc) { @@ -470,21 +478,44 @@ Date now = new Date(); // 鍚堝苟鍚岀被椤� Set<String> locNos = new HashSet<>(); + ArrayList<String> locNos2 = new ArrayList<String>(); List<OutLocDto> dtos = new ArrayList<>(); for (LocDetlDto locDetlDto : locDetlDtos) { String locNo = locDetlDto.getLocDetl().getLocNo(); - if (locNos.contains(locNo)) { - for (OutLocDto dto : dtos) { - if (dto.getLocNo().equals(locNo)) { - dto.getLocDetlDtos().add(locDetlDto); - break; + locNos2.add(locNo); + //if (locNos.contains(locNo)) { + //for (OutLocDto dto : dtos) { + // if (dto.getLocNo().equals(locNo)) { + // dto.getLocDetlDtos().add(locDetlDto); + // break; + // } + //} + //} else { + //locNos.add(locNo); + + //dtos.add(new OutLocDto(locNo, locDetlDto)); + //} + } + List<String> innermostSideLoc = Utils.getInnermostSideLoc(locNos2, true); + System.out.println(innermostSideLoc); + for (LocDetlDto locDetlDto : locDetlDtos) { + String locNo = locDetlDto.getLocDetl().getLocNo(); + if(innermostSideLoc.contains(locNo)) { + if (locNos.contains(locNo)) { + for (OutLocDto dto : dtos) { + if (dto.getLocNo().equals(locNo)) { + dto.getLocDetlDtos().add(locDetlDto); + break; + } } + } else { + locNos.add(locNo); + dtos.add(new OutLocDto(locNo, locDetlDto)); } - } else { - locNos.add(locNo); - dtos.add(new OutLocDto(locNo, locDetlDto)); + //dtos.add(new OutLocDto(locNo,locDetlDto)); } } + Integer ioType = null; List<String> excludeLocNos = dtos.stream().map(OutLocDto::getLocNo).distinct().collect(Collectors.toList()); // 鐢熸垚宸ヤ綔妗� @@ -815,7 +846,7 @@ } WaitPakin waitPakin = new WaitPakin(); waitPakin.sync(mat); - waitPakin.setBatch(""); + //waitPakin.setBatch(""); waitPakin.setZpallet(locDetl.getZpallet()); // 鎵樼洏鐮� waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� waitPakin.setAnfme(locDetl.getAnfme()); // 鏁伴噺 @@ -1193,7 +1224,7 @@ BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 妫�绱㈠簱浣� LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); - StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto); + StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto,0); int workNo = dto.getWorkNo(); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); @@ -1504,6 +1535,7 @@ AdjDetl adjDetl = new AdjDetl(); adjDetl.setLocNo(locDetl.getLocNo()); adjDetl.setMatnr(locDetl.getMatnr()); + adjDetl.setSpecs(locDetl.getSpecs()); adjDetl.setBatch(locDetl.getBatch()); adjDetl.setOriQty(locDetl.getAnfme()); adjDetl.setAdjQty(adjust.getCount()); @@ -1655,7 +1687,7 @@ for (WrkDetl wrkDetl : wrkDetls) { if (!Cools.isEmpty(wrkDetl.getOrderNo())){ String[] orderNos = GetOrderNo(wrkDetl.getOrderNo()); - if (!Cools.isEmpty(orderNos)){ + if (!Cools.isEmpty(orderNos) && orderNos.length!=0){ String[] anfmes = GetAnfme(wrkDetl.getOrderNo()); int i = 0; for (String orderNo : orderNos) { @@ -1729,8 +1761,7 @@ if (!wrkMastRes || !locMastRes) { throw new CoolException("淇濆瓨鏁版嵁澶辫触"); } - WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); - waitPakinService.delete(new EntityWrapper<>(waitPakin)); + waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); } @Override -- Gitblit v1.9.1