自动化立体仓库 - WMS系统
#
Junjie
2023-11-17 98ff94c52485dd502e10c061ae267bf24e5d1814
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -86,6 +86,32 @@
            throw new CoolException(param.getBarcode() + "数据正在进行入库");
        }
        //判断托盘是否已经在库
        if (locDetlService.selectCount(new EntityWrapper<LocDetl>()
                .eq("zpallet", param.getBarcode())) > 0) {
            throw new CoolException(param.getBarcode() + "数据已经在库");
        }
        //判断料箱是否已经出现在入库通知档、库存中
        for (CombParam.CombMat combMat : param.getCombMats()) {
            if (combMat.getContainerCode() == null) {
                continue;
            }
            //判断料箱是否正在入库
            if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                    eq("supp_code", combMat.getContainerCode()).eq("io_status", "N")) > 0) {
                throw new CoolException(combMat.getContainerCode() + "料箱正在进行入库");
            }
            //判断料箱是否已经在库
            if (locDetlService.selectCount(new EntityWrapper<LocDetl>()
                    .eq("supp_code", combMat.getContainerCode())) > 0) {
                throw new CoolException(combMat.getContainerCode() + "料箱已经在库");
            }
        }
        // todo: 不下线重新入库
        WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
        if (wrkMast != null && wrkMast.getWrkSts() == 18) {
@@ -149,12 +175,12 @@
            param.getCombMats().forEach(elem -> {
                // 订单明细数量校验
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch(),elem.getCsocode(),elem.getIsoseq());
                if (elem.getAnfme() > orderDetl.getEnableQty()) {
                    throw new CoolException(orderDetl.getMatnr() + "入库数量不合法");
                }
                // 修改订单明细数量
                if (!orderDetlService.increase(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
                if (!orderDetlService.increase(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme(),elem.getCsocode(),elem.getIsoseq())) {
                    throw new CoolException("修改单据明细数量失败");
                }
@@ -393,12 +419,12 @@
                // 修改作业数量 ----------------------------------------
                // 订单明细数量校验
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch());
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq());
                if (detlDto.getAnfme() > orderDetl.getEnableQty()) {
                    throw new CoolException(orderDetl.getMatnr() + "入库数量不合法");
                }
                // 修改订单明细数量
                if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
                if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme(),detlDto.getCsocode(),detlDto.getIsoseq())) {
                    throw new CoolException("修改单据明细数量失败");
                }