#
luxiaotao1123
2021-04-22 e2544894b3b10187a838e16af6dff02166658511
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -75,6 +75,18 @@
        if (Cools.isEmpty(param.getMats())) {
            return R.error("入库物料不能为空");
        }
        Integer docId = Optional.ofNullable(param.getDocType()).orElse(34);
        String docNum = String.valueOf(snowflakeIdWorker.nextId());
        switch (docId) {
            case 34:    // 采购单
                docNum = "PU-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
                break;
            case 45:    // 销售退货单
                docNum = "SR-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
                break;
            default:
                break;
        }
        Date now = new Date();
        for (MatnrDto dto : param.getMats()) {
            Mat mat = matService.selectByMatnr(dto.getMatnr());
@@ -90,8 +102,8 @@
                locDetl.setZpallet("");
                locDetl.setAnfme(dto.getCount());
                VersionUtils.setLocDetl(locDetl, mat);
//                locDetl.setDocId(param.getDocType().longValue());
//                locDetl.setDocNum(docNum);
                locDetl.setDocId(docId.longValue());
                locDetl.setDocNum(docNum);
                locDetl.setStatus(1);
                locDetl.setCreateBy(userId);
                locDetl.setCreateTime(now);
@@ -115,18 +127,6 @@
            billDto.setMatnr(dto.getMatnr());
            billDto.setQty(dto.getCount());
            dtos.add(billDto);
        }
        Integer docId = Optional.ofNullable(param.getDocType()).orElse(34);
        String docNum = String.valueOf(snowflakeIdWorker.nextId());
        switch (docId) {
            case 34:    // 采购单
                docNum = "PU-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
                break;
            case 45:    // 销售退货单
                docNum = "SR-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
                break;
            default:
                break;
        }
        if (!erpService.uploadBill(dtos, docId, docNum)) {
            throw new CoolException("无法上报至erp");
@@ -462,6 +462,15 @@
        Date now = new Date();
        Item item = itemService.selectByName(param.getItem());
        Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
        // 采购退货单检验
        if (param.getDocType() == 6) {
            for (MatnrDto dto : param.getList()) {
                if (locDetlService.getStockByDocType34(dto.getMatnr()) < dto.getCount()) {
                    return R.error(dto.getMatnr() + "采购量不足以生成退货单!");
                }
            }
        }
        // 新增订单表头
        order = new Order(
                String.valueOf(snowflakeIdWorker.nextId()),    // 编号[非空]