#
wang..123
2022-03-22 7204baeea8ec45bf90113f7d812db30de65d1229
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -60,7 +60,8 @@
    private ReceiveService receiveService;
    @Autowired
    private ReceiveDetlService receiveDetlService;
    @Autowired
    ReceiveLogService receiveLogService;
    @Override
@@ -116,6 +117,23 @@
            if (!pakinService.insert(pakin)) {
                throw new CoolException("保存入库记录失败");
            }
            /**
             * 上架完成之后,存放数据至上架统计表 man_receive_log
             */
            ReceiveLog receiveLog = new ReceiveLog();
            receiveLog.setOrderNo("");//单号
            receiveLog.setNodeId(node.getId());//库位号id
            receiveLog.setNodeName(node.getName());//库位名称
            receiveLog.setMatnr(dto.getMatnr());//物料编码
            receiveLog.setAnfme(dto.getCount());//数量
            receiveLog.setBatch(dto.getBatch());//批号
            receiveLog.setCreateBy(userId);//添加人员
            receiveLog.setUpdateBy(userId);//修改人员
            receiveLog.setCreateTime(now);
            receiveLog.setUpdateTime(now);
            receiveLog.setIoType(1);
            receiveLogService.insert(receiveLog);
            // 修改库存
            LocDetl locDetl = locDetlService.getLocDetl(node.getId(), dto.getMatnr());
            if (locDetl == null) {
@@ -127,6 +145,7 @@
                locDetl.setZpallet("");
                locDetl.setAnfme(dto.getCount());
                VersionUtils.setLocDetl(locDetl, mat);
                locDetl.setBatch(dto.getBatch());
//                locDetl.setDocId(param.getDocType().longValue());
//                locDetl.setDocNum(docNum);
                locDetl.setStatus(1);
@@ -564,13 +583,11 @@
        }
        return R.ok("拣货单已取消");
    }
    @Override
    @Transactional
    public R initOrder(InitOrderParam param, Long userId, Long hostId) {
     public R  initReceive(InitOrderParam param, Long userId, Long hostId){
        Receive order_no = receiveService.selectOne(new EntityWrapper<Receive>()
                .eq("order_no", param.getOrderNo()));
//        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
        if (order_no != null) {
            return R.error("抱歉单号已存在,请修改单号");
        }
@@ -615,10 +632,116 @@
                now,    // 修改时间
                null    // 备注
        );
        if (!receiveService.insert(order_no)) {
            throw new CoolException("保存订单表头失败!");
        }
        // 遍历商品数量并保存
        for (MatnrDto dto : param.getList()){
            Mat mat = matService.selectByMatnr(hostId, dto.getMatnr());
            if (mat == null) {
                log.error("{}商品不存在。", dto.getMatnr());
                continue;
            }
            ReceiveDetl receiveDetl = new ReceiveDetl();
            receiveDetl.setHostId(hostId);
            receiveDetl.setOrderId(order_no.getId());
            receiveDetl.setOrderNo(param.getOrderNo());
            receiveDetl.setAnfme(dto.getCount());
            receiveDetl.setCreateTime(now);
            receiveDetl.setCreateBy(userId);
            receiveDetl.setUpdateBy(userId);
            receiveDetl.setUpdateTime(now);
            receiveDetl.setStatus(1);
            receiveDetl.setMatnr(mat.getMatnr());
            receiveDetl.setMaktx(mat.getMaktx());
            receiveDetl.setName(mat.getName());
            receiveDetl.setSpecs(mat.getSpecs());
            receiveDetl.setModel(mat.getModel());
            receiveDetl.setBatch(mat.getBatch());
            receiveDetl.setUnit(mat.getUnit());
            receiveDetl.setBarcode(mat.getBarcode());
            receiveDetl.setItemNum(mat.getItemNum());
            receiveDetl.setCount(dto.getCount());
            receiveDetl.setUnitPrice(mat.getPrice());
            receiveDetl.setWeight(mat.getWeight());
            if (!receiveDetlService.insert(receiveDetl)) {
                throw new CoolException("保存订单明细失败");
            }
        }
        return R.ok("创建订单成功");
    }
    @Override
    @Transactional
    public R initOrder(InitOrderParam param, Long userId, Long hostId) {
       // Receive order_no = receiveService.selectOne(new EntityWrapper<Receive>()
        //        .eq("order_no", param.getOrderNo()));
        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
        if (order != null) {
            return R.error("抱歉单号已存在,请修改单号");
        }
        Date now = new Date();
        Item item = itemService.selectByName(param.getItem());
        Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
        // 新增订单表头
        Order order1 = new Order();
        order1.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
        order1.setHostId(hostId);
        order1.setOrderNo(param.getOrderNo());
        order1.setOrderTime(param.getOrderTime());
        order1.setDocType(param.getDocType());
        order1.setItemId(item.getId());
        order1.setItemName(param.getItem());
        order1.setCstmr(cstmr.getId());
        order1.setCstmrName(param.getCstmr());
        order1.setSettle(1L);
        order1.setStatus(1);
        order1.setCreateBy(userId);
        order1.setCreateTime(now);
        order1.setUpdateBy(userId);
        order1.setUpdateTime(now);
//        order_no = new Receive(
//                hostId,
//                String.valueOf(snowflakeIdWorker.nextId()),    // 编号[非空]
//                param.getOrderNo(),    // 订单编号
//                param.getOrderTime(),    // 单据日期
//                param.getDocType(),    // 单据类型
//                item==null?null:item.getId(),    // 项目编号
//                param.getItem(),   // 项目名称
//                null,    // 调拨项目编号
//                null,    // 初始票据号
//                null,    // 票据号
//                cstmr==null?null:cstmr.getId(),    // 客户编号
//                param.getCstmr(),    // 客户
//                null,    // 联系方式
//                null,    // 操作人员
//                null,    // 合计金额
//                null,    // 优惠率
//                null,    // 优惠金额
//                null,    // 销售或采购费用合计
//                null,    // 实付金额
//                null,    // 付款类型
//                null,    // 业务员
//                null,    // 结算天数
//                null,    // 邮费支付类型
//                null,    // 邮费
//                null,    // 付款时间
//                null,    // 发货时间
//                null,    // 物流名称
//                null,    // 物流单号
//                1L,    // 订单状态
//                1,    // 状态
//                userId,    // 添加人员
//                now,    // 添加时间
//                userId,    // 修改人员
//                now,    // 修改时间
//                null    // 备注
//        );
//        if (!orderService.insert(order)) {
//            throw new CoolException("保存订单表头失败!");
//        }
        if (!receiveService.insert(order_no)) {
        if (!orderService.insert(order1)) {
            throw new CoolException("保存订单表头失败!");
        }
@@ -652,7 +775,7 @@
            }
            ReceiveDetl receiveDetl = new ReceiveDetl();
            receiveDetl.setHostId(hostId);
            receiveDetl.setOrderId(order_no.getId());
            receiveDetl.setOrderId(order1.getId());
            receiveDetl.setAnfme(dto.getCount());
            receiveDetl.setCreateTime(now);
            receiveDetl.setCreateBy(userId);