自动化立体仓库 - WMS系统
#
whycq
2024-06-13 e6d092d364c5f11f864b34a7dfe81977e65fb232
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -271,7 +271,14 @@
            throw new CoolException("保存订单主档失败");
        }
        List<DetlDto> list = new ArrayList<>();
        Boolean flag = false;
        for (OrderDetl orderDetl : param.getOrderDetlList()) {
            if (Cools.isEmpty(orderDetl.getProcessSts())) {
                orderDetl.setProcessSts(3);
            }
            if (orderDetl.getProcessSts() == 1) {
                flag = true;
            }
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
            if (DetlDto.has(list, dto)) {
                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime());
@@ -360,9 +367,79 @@
                    }
                }
            }
        }
        // 工序为1:待加工 生成加工单
        if (flag) {
            if (param.getDocType().intValue() == 32) {
                order = new Order(
                        String.valueOf(snowflakeIdWorker.nextId()),    // 编号[非空]
                        "JG" + param.getOrderNo(),    // 订单编号
                        DateUtils.convert(now),    // 单据日期
                        35L,    // 单据类型
                        null,    // 项目编号
                        null,    //
                        null,    // 调拨项目编号
                        null,    // 初始票据号
                        null,    // 票据号
                        null,    // 客户编号
                        null,    // 客户
                        null,    // 联系方式
                        null,    // 操作人员
                        null,    // 合计金额
                        null,    // 优惠率
                        null,    // 优惠金额
                        null,    // 销售或采购费用合计
                        null,    // 实付金额
                        null,    // 付款类型
                        null,    // 业务员
                        null,    // 结算天数
                        null,    // 邮费支付类型
                        null,    // 邮费
                        null,    // 付款时间
                        null,    // 发货时间
                        null,    // 物流名称
                        null,    // 物流单号
                        1L,    // 订单状态
                        1,    // 状态
                        getUserId(),    // 添加人员
                        now,    // 添加时间
                        getUserId(),    // 修改人员
                        now,    // 修改时间
                        null    // 备注
                );
                if (!orderService.insert(order)) {
                    throw new CoolException("生成半成品调拨单失败");
                }
                List<DetlDto> dbList = new ArrayList<>();
                for (OrderDetl orderDetl : param.getOrderDetlList()) {
                    if (orderDetl.getProcessSts() != 1) continue;
                    DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
                    if (DetlDto.has(dbList, dto)) {
                        OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime());
                        item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                        if (!orderDetlService.updateById(item)) {
                            throw new CoolException("生成半成品调拨单明细档失败");
                        }
                    } else {
                        dbList.add(dto);
                        orderDetl.setOrderId(order.getId());
                        orderDetl.setOrderNo(order.getOrderNo());
                        orderDetl.setSource(35);
                        orderDetl.setCreateBy(getUserId());
                        orderDetl.setCreateTime(now);
                        orderDetl.setUpdateBy(getUserId());
                        orderDetl.setUpdateTime(now);
                        orderDetl.setStatus(1);
                        orderDetl.setQty(0.0D);
                        if (!orderDetlService.insert(orderDetl)) {
                            throw new CoolException("生成半成品调拨单明细档失败");
                        }
                    }
        }
            }
        }
        return R.ok("订单添加成功");
    }