From 1aae6f4bd840a202ee9db3efa3f6776cd10b81f9 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 29 八月 2023 09:09:45 +0800 Subject: [PATCH] #bug修复 --- src/main/java/com/zy/asrs/utils/Utils.java | 98 ++++++++++++++++++++++++++++++++ src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 29 ++++++--- 2 files changed, 116 insertions(+), 11 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..1e42f78 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -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) { @@ -1729,8 +1737,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 diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 566c0d4..1149736 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -5,7 +5,9 @@ import com.core.common.Cools; import com.core.common.SpringUtils; import com.core.exception.CoolException; +import com.zy.asrs.entity.LocDetl; import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.param.StockOutParam; import com.zy.asrs.service.BasCrnpService; import com.zy.asrs.service.LocMastService; import com.zy.common.properties.SlaveProperties; @@ -899,4 +901,100 @@ } } + public static List<String> getLocNosSort(List<String> locNos){ + List<String> locSort = new ArrayList<>(); + for (String loc : locNos){ + if (getIoPri(loc).equals(15.0)){ + locSort.add(loc); + } + } + for (String loc : locNos){ + if (getIoPri(loc).equals(17.0)){ + locSort.add(loc); + } + } + for (String loc : locNos){ + if (getIoPri(loc).equals(19.0)){ + locSort.add(loc); + } + } + for (String loc : locNos){ + if (getIoPri(loc).equals(21.0)){ + locSort.add(loc); + } + } + return locSort; + } + + public static List<StockOutParam.LocDetl> getStockOutParamLocDetlSort(List<StockOutParam.LocDetl> locNos){ + List<StockOutParam.LocDetl> locSort = new ArrayList<>(); + for (StockOutParam.LocDetl loc : locNos){ + if (getIoPri(loc.getLocNo()).equals(15.0)){ + locSort.add(loc); + } + } + for (StockOutParam.LocDetl loc : locNos){ + if (getIoPri(loc.getLocNo()).equals(17.0)){ + locSort.add(loc); + } + } + for (StockOutParam.LocDetl loc : locNos){ + if (getIoPri(loc.getLocNo()).equals(19.0)){ + locSort.add(loc); + } + } + for (StockOutParam.LocDetl loc : locNos){ + if (getIoPri(loc.getLocNo()).equals(21.0)){ + locSort.add(loc); + } + } + return locSort; + } + + public static boolean getLocNoWeighting(List<String> locNos,String locNo){ + boolean sign=false; + for (String loc : locNos){ + if (getBay(loc)==getBay(locNo) && getLev(loc)==getLev(locNo) && getRowWeighting(loc)==getRowWeighting(locNo)){ + sign = true; + break; + } + } + return sign; + } + + + public static int getRowWeighting(String locNo){ + switch (Utils.getRow(locNo)){ + case 1: + case 2: + case 3: + return 123; + case 4: + case 5: + case 6: + case 7: + return 456; + case 8: + case 9: + case 10: + case 11: + return 891011; + case 12: + case 13: + case 14: + return 121314; + case 15: + case 16: + case 17: + case 18: + return 15161718; + case 19: + case 20: + case 21: + case 22: + default: + return 19202122; + } + } + } -- Gitblit v1.9.1