自动化立体仓库 - WMS系统
#
mrzhssss
2022-12-01 9c04107ac8db53369ae6f2c42afc49ad98c6e1aa
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -102,6 +102,13 @@
                combMat.setBatch("");
            }
        }
        for (CombParam.CombMat combMat : param.getCombMats()) {
            Integer sum = orderDetlService.sameOrderComb(param.getOrderNo(), combMat.getMatnr(),combMat.getBatch());
            OrderDetl orderDetl = orderDetlService.selectItem(param.getOrderNo(), combMat.getMatnr(), combMat.getBatch());
            if ( combMat.getAnfme() > (orderDetl.getAnfme() - sum)) {
                throw new CoolException("组托数量已超出订单需求量,请检查是否有其他的组托已完成");
            }
        }
        Date now = new Date();
@@ -151,10 +158,12 @@
            }
            // 生成入库通知档
            List<DetlDto> detlDtos = new ArrayList<>();
            param.getCombMats().forEach(elem -> {
            for (CombParam.CombMat elem : param.getCombMats()) {
                // 订单明细数量校验
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
                if(orderDetl == null){
                    throw new CoolException("该单据中不存在该物料明细:" + elem);
                }
                if (elem.getAnfme() > orderDetl.getEnableQty()) {
                    throw new CoolException(orderDetl.getMatnr() + "入库数量不合法");
                }
@@ -171,7 +180,7 @@
                } else {
                    detlDtos.add(detlDto);
                }
            });
            }
            for (DetlDto detlDto : detlDtos) {
                Mat mat = matService.selectByMatnr(detlDto.getMatnr());
                if (Cools.isEmpty(mat)) {