自动化立体仓库 - WMS系统
1
zhang
11 小时以前 0a1dceaa6478ec0081c38721be88fa6d807c6094
src/main/java/com/zy/asrs/controller/OutController.java
@@ -83,12 +83,22 @@
            return R.parse("订单数据为空");
        }
        // 按包装组号分组处理
        Map<String, List<OrderDetl>> brandGroup = orderDetls.stream()
                .collect(Collectors.groupingBy(o -> {
                    String brand = o.getBrand();
                    return brand != null ? brand : "跨巷道";
                }));
        Map<String, List<OrderDetl>> brandGroup;
        if (order.getDocType() == 27) {
            // 按包装组号分组处理
            brandGroup = orderDetls.stream()
                    .collect(Collectors.groupingBy(o -> {
                        String brand = o.getModel();
                        return brand != null ? brand : "跨巷道";
                    }));
        } else {
            // 按包装组号分组处理
            brandGroup = orderDetls.stream()
                    .collect(Collectors.groupingBy(o -> {
                        String brand = o.getBrand();
                        return brand != null ? brand : "跨巷道";
                    }));
        }
        List<LocDto> locDtos = new ArrayList<>();
@@ -97,11 +107,18 @@
        for (Map.Entry<String, List<OrderDetl>> entry : brandGroup.entrySet()) {
            String brand = entry.getKey();
            List<OrderDetl> brandOrderDetls = entry.getValue();
            List<LocDetl> locDetls;
            if (order.getDocType() == 27) {
                locDetls = locDetlService.selectList(
                        new EntityWrapper<LocDetl>().eq("model", brand)
                );
            } else {
                // 查这个包装组对应的所有库存
                locDetls = locDetlService.selectList(
                        new EntityWrapper<LocDetl>().eq("brand", brand)
                );
            }
            // 查这个包装组对应的所有库存
            List<LocDetl> locDetls = locDetlService.selectList(
                    new EntityWrapper<LocDetl>().eq("brand", brand)
            );
            if (locDetls.isEmpty()) continue;
            // 获取出库口
@@ -133,7 +150,7 @@
                locDto.setUnit(locDetl.getUnit());
                locDto.setModel(locDetl.getModel());
                locDto.setThreeCode(locDetl.getThreeCode());
                locDto.setBrand(brand);
                locDto.setBrand(locDetl.getBrand());
                locDto.setOrderNo(firstDetl.getOrderNo());
                locDto.setStaNos(staNos);
                locDto.setOrderDetlId(firstDetl.getId());
@@ -269,9 +286,15 @@
                            ioWorkType = IoWorkType.ALL_OUT;
                        }
                    }
                    workService.stockOut(staNo, locDetlDtos,
                            ioWorkType,
                            getUserId(), optionValue);
                    if (order.getDocType() == 27) {
                        workService.stockOut2(staNo, locDetlDtos,
                                ioWorkType,
                                getUserId(), optionValue);
                    }else {
                        workService.stockOut(staNo, locDetlDtos,
                                ioWorkType,
                                getUserId(), optionValue);
                    }
                } else {
                    throw new CoolException("所选库位状态不为F/D,库位号:" +
                            locMast.getLocNo() + ",当前状态:" +