自动化立体仓库 - WMS系统
dubin
2025-09-25 58652618b0776f3ebe271c6a0f585e4a0dc60877
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -71,6 +71,8 @@
    private ManLocDetlService manLocDetlService;
    @Autowired
    private ManLocDetlMapper manLocDetlMapper;
    @Autowired
    private MatBarcodeService matBarcodeService;
    @Override
@@ -126,6 +128,18 @@
                if (Cools.isEmpty(mat)) {
                    throw new CoolException(detlDto.getMatnr() + "商品档案不存在");
                }
                //校验当前物料与托盘绑定信息是否正确
                MatBarcode matBarcode = new MatBarcode();
                MatBarcode mb=matBarcodeService.selectbyMatnr(detlDto.getMatnr());
                if (mb != null && !mb.getZpallet().equals(param.getBarcode())){
                    throw new CoolException(detlDto.getMatnr()+"该物料与其他托盘绑定,请先解绑");
                }else{
                    matBarcode.setZpallet(param.getBarcode());//托盘码
                    matBarcode.setMatnr(mat.getMatnr());//物料号
                    matBarcode.setMaktx(mat.getMaktx());//物料名称
                    matBarcode.setSpecs(mat.getSpecs());//规格
                    matBarcode.setModel(mat.getModel());//型号
                }
                WaitPakin waitPakin = new WaitPakin();
                waitPakin.sync(mat);
                waitPakin.setProType(detlDto.getProType());
@@ -142,6 +156,9 @@
                waitPakin.setModiTime(now);
                if (!waitPakinService.insert(waitPakin)) {
                    throw new CoolException("保存入库通知档失败");
                }
                if (!matBarcodeService.insert(matBarcode)){
                    throw new CoolException("物料与托盘绑定失败");
                }
            }
            // 关联组托
@@ -170,6 +187,18 @@
                    if (Cools.isEmpty(mat)) {
                        throw new CoolException(orderDetl.getMatnr() + "商品档案不存在");
                    }
                    //校验当前物料与托盘绑定信息是否正确
                    MatBarcode matBarcode = new MatBarcode();
                    MatBarcode mb=matBarcodeService.selectbyMatnr(orderDetl.getMatnr());
                    if (mb != null && !mb.getZpallet().equals(param.getBarcode())){
                        throw new CoolException(orderDetl.getMatnr()+"该物料与其他托盘绑定,请先解绑");
                    }else{
                        matBarcode.setZpallet(param.getBarcode());//托盘码
                        matBarcode.setMatnr(mat.getMatnr());//物料号
                        matBarcode.setMaktx(mat.getMaktx());//物料名称
                        matBarcode.setSpecs(mat.getSpecs());//规格
                        matBarcode.setModel(mat.getModel());//型号
                    }
                    WaitPakin waitPakin = new WaitPakin();
                    waitPakin.sync(mat);
                    waitPakin.setOrderNo(order.getOrderNo());   // 单据编号
@@ -192,6 +221,9 @@
                    if (!waitPakinService.insert(waitPakin)) {
                        throw new CoolException("保存入库通知档失败");
                    }
                    if (!matBarcodeService.insert(matBarcode)){
                        throw new CoolException("物料与托盘绑定失败");
                    }
                });
                orderService.updateSettle(order.getId(), 2L, userId);