自动化立体仓库 - WMS系统
123
zhang
2025-06-06 ac46eaf3e60dedf92c0bd4879d88cf388112417f
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -229,12 +229,14 @@
        Order order = orderService.selectByNo(param.getOrderNo());
        // 如果单据不存在则添加;如果单据存在,作业中无法修改,反之则修改单据
        if (!Cools.isEmpty(order)) {
            if (order.getSettle() > 1L) {
                throw new CoolException(param.getOrderNo() + "正在出库,无法修改单据");
            OrderPakout orderPakout = orderPakoutService.selectByNo(param.getOrderNo());
            if (!Cools.isEmpty(orderPakout)) {
                if (orderPakout.getSettle() > 1L) {
                    throw new CoolException(param.getOrderNo() + "正在出库,无法修改单据");
                }
                orderPakoutService.remove(orderPakout.getId());
            }
            orderService.remove(order.getId());
            OrderPakout orderPakout = orderPakoutService.selectByNo(param.getOrderNo());
            orderPakoutService.remove(orderPakout.getId());
        }
        DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE);
        Date now = new Date();
@@ -250,7 +252,7 @@
                null,    // 初始票据号
                null,    // 票据号
                null,    // 客户编号
                null,    // 客户
                param.getCstmrName(),    // 客户
                null,    // 联系方式
                null,    // 操作人员
                null,    // 合计金额
@@ -286,6 +288,7 @@
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getBrand(), detail.getStandby1(), detail.getStandby2(), detail.getStandby3(), detail.getLineNumber(),
                    detail.getBoxType1(), detail.getBoxType2(), detail.getBoxType3(), detail.getAnfme());
            dto.setRemark(detail.getRemark());
            dto.setWeight(detail.getWeight());
            if (DetlDto.hasLineNumber(list, dto)) {
                DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(), dto.getBrand(), dto.getStandby1(), dto.getStandby2(), dto.getStandby3(), dto.getLineNumber(),
                        dto.getBoxType1(), dto.getBoxType2(), dto.getBoxType3());
@@ -305,6 +308,7 @@
            orderDetl.setLineNumber(detlDto.getLineNumber());
            orderDetl.setBatch(detlDto.getBatch());
            orderDetl.setAnfme(detlDto.getAnfme());
            orderDetl.setWeight(detlDto.getWeight());
            orderDetl.setBrand(detlDto.getBrand());
            orderDetl.setStandby1(detlDto.getStandby1());
            orderDetl.setStandby2(detlDto.getStandby2());