自动化立体仓库 - WMS系统
LSH
2023-08-28 79c04b38fdcd261a3d8ca046b27107d3005c1335
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -167,27 +167,33 @@
        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 (Utils.getBay(locDetl.getLocNo())>=21){
            if (locMast.getLocType2().equals((short)3)){
                groupOuterSingleLoc = Utils.getGroupOuterSingleLocLowFrequency(locDetl.getLocNo());
            }
            for (String locNo : groupOuterSingleLoc) {
                //每个库位的库位明细
                if(locs.contains(locNo)) continue;
                for (LocDetl detl : locDetlService.selectByLocNo(locNo)) {
                    if (!detl.getMatnr().equals(locDetl.getMatnr())) {
                        //不是相同物料
                        if (Utils.getBay(locDetl.getLocNo())>=21){
                            locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), detl.getAnfme()));
                        }
                        continue;
                    }
                    locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), detl.getAnfme()));
            if (sign){
                if (locMast.getLocType2().equals((short)3)) {
                    sign = false;
                }
                for (String locNo : groupOuterSingleLoc) {
                    //每个库位的库位明细
                    if(locs.contains(locNo)) continue;
                    for (LocDetl detl : locDetlService.selectByLocNo(locNo)) {
                        if (!detl.getMatnr().equals(locDetl.getMatnr())) {
                            //不是相同物料
                            if (!sign){
                                locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), detl.getAnfme()));
                            }
                            continue;
                        }
                        locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), detl.getAnfme()));
                    }
                }
            }
            locDetls.add(locDetl);
        }