自动化立体仓库 - WMS系统
zyx
2023-12-25 7842982e37a16836ce06ea0a35c46e5d36642682
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -527,26 +527,53 @@
            }
            Mat mat = matService.selectByMatnr(locDto.getMatnr());
            assert mat != null;
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(mat);
            wrkDetl.setZpallet(wrkMast.getBarcode());
            wrkDetl.setIoTime(now);
            wrkDetl.setWrkNo(workNo);
            wrkDetl.setBatch(locDto.getBatch());
            wrkDetl.setOrderNo(locDto.getOrderNo());
            wrkDetl.setAnfme(locDto.getAnfme()); // 数量
            wrkDetl.setAppeTime(now);
            wrkDetl.setAppeUser(userId);
            wrkDetl.setModiTime(now);
            wrkDetl.setModiUser(userId);
            wrkDetl.setSuppCode(locDto.getContainerCode());
            wrkDetl.setThreeCode(locDto.getCsocode());
            wrkDetl.setDeadTime(locDto.getIsoseq());
            if (!wrkDetlService.insert(wrkDetl)) {
                throw new CoolException("保存工作档明细失败");
            if (!BaseController.isJSON(locDto.getOrderNo())) {
                WrkDetl wrkDetl = new WrkDetl();
                wrkDetl.sync(mat);
                wrkDetl.setZpallet(wrkMast.getBarcode());
                wrkDetl.setIoTime(now);
                wrkDetl.setWrkNo(workNo);
                wrkDetl.setBatch(locDto.getBatch());
                wrkDetl.setOrderNo(locDto.getOrderNo());
                wrkDetl.setAnfme(locDto.getAnfme()); // 数量
                wrkDetl.setAppeTime(now);
                wrkDetl.setAppeUser(userId);
                wrkDetl.setModiTime(now);
                wrkDetl.setModiUser(userId);
                wrkDetl.setSuppCode(locDto.getContainerCode());
                wrkDetl.setThreeCode(locDto.getCsocode());
                wrkDetl.setDeadTime(locDto.getIsoseq());
                if (!wrkDetlService.insert(wrkDetl)) {
                    throw new CoolException("保存工作档明细失败");
                }
                //补货单则生成AGV入库通知档
                generateAgvWaitpakin(wrkDetl);
            }else {
                List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
                orderDtoList.forEach(orderDto -> {
                    WrkDetl wrkDetl = new WrkDetl();
                    wrkDetl.sync(mat);
                    wrkDetl.setZpallet(wrkMast.getBarcode());
                    wrkDetl.setIoTime(now);
                    wrkDetl.setWrkNo(workNo);
                    wrkDetl.setBatch(locDto.getBatch());
                    wrkDetl.setOrderNo(orderDto.getOrderNo());
                    wrkDetl.setAnfme(orderDto.getAnfme()); // 数量
                    wrkDetl.setAppeTime(now);
                    wrkDetl.setAppeUser(userId);
                    wrkDetl.setModiTime(now);
                    wrkDetl.setModiUser(userId);
                    wrkDetl.setSuppCode(locDto.getContainerCode());
                    wrkDetl.setThreeCode(locDto.getCsocode());
                    wrkDetl.setDeadTime(locDto.getIsoseq());
                    if (!wrkDetlService.insert(wrkDetl)) {
                        throw new CoolException("保存工作档明细失败");
                    }
                    //补货单则生成AGV入库通知档
                    generateAgvWaitpakin(wrkDetl);
                });
            }
            //补货单则生成AGV入库通知档
            generateAgvWaitpakin(wrkDetl);
            // 修改订单明细
            if (!BaseController.isJSON(locDto.getOrderNo())) {
@@ -573,8 +600,9 @@
                        orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null,locDto.getCsocode(),locDto.getIsoseq());
                    }
                    if(locAnfme > orderDetl.getAnfme()){
                        orderAnfme = orderDetl.getAnfme();
                    orderAnfme = orderDetl.getAnfme() - orderDetl.getQty();
                    if(locAnfme > orderAnfme){
                        locAnfme -= orderAnfme;
                    }else {
                        orderAnfme = locAnfme;