#
luxiaotao1123
2021-04-02 8764ded6bcb37fd03806855e15cd0b6da98695e9
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -20,10 +20,7 @@
import zy.cloud.wms.manager.entity.result.StoPrintVo;
import zy.cloud.wms.manager.service.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.*;
/**
 * Created by vincent on 2021/2/25
@@ -58,6 +55,9 @@
    @Transactional
    public R stockPakin(PakinParam param, Long userId) {
        Node node = nodeService.selectByUuid(param.getNodeId());
        if (node == null) {
            node = nodeService.selectById(param.getNodeId());
        }
        if (node == null) {
            return R.error("货位不存在");
        }
@@ -95,7 +95,30 @@
                    throw new CoolException("新增库存明细档失败");
                }
            }
        }
        // 上报给erp
        List<BillDto> dtos = new ArrayList<>();
        for (MatnrDto dto : param.getMats()) {
            BillDto billDto = new BillDto();
            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");
        }
        return R.ok("入库成功");
    }
@@ -256,20 +279,20 @@
        }
        // 采购退货单
//        if (param.getNumber().startsWith("PR-")) {
            // erp单据上传
            Long docId = pakouts.get(0).getDocId();
            if (null != docId) {
                List<BillDto> dtos = new ArrayList<>();
                for (Pakout pakout : pakouts) {
                    BillDto billDto = new BillDto();
                    billDto.setMatnr(pakout.getMatnr());
                    billDto.setQty(pakout.getAnfme());
                    dtos.add(billDto);
                }
                if (!erpService.uploadBill(dtos, docId.intValue() , pakouts.get(0).getDocNum())) {
                    throw new CoolException("无法上报至erp");
                }
            }
            // erp单据上传 todo
//            Long docId = pakouts.get(0).getDocId();
//            if (null != docId) {
//                List<BillDto> dtos = new ArrayList<>();
//                for (Pakout pakout : pakouts) {
//                    BillDto billDto = new BillDto();
//                    billDto.setMatnr(pakout.getMatnr());
//                    billDto.setQty(pakout.getAnfme());
//                    dtos.add(billDto);
//                }
//                if (!erpService.uploadBill(dtos, docId.intValue() , pakouts.get(0).getDocNum())) {
//                    throw new CoolException("无法上报至erp");
//                }
//            }
//        }
        return R.ok();
@@ -412,6 +435,7 @@
                    DateUtils.convert(now),    // 单据日期[非空]
                    param.getCustomerTypeId(),    // 客户编号
                    null,    // 经手人编号[空]
                    null,
                    dto.getMatnr(),    // 商品编号
                    dto.getCount(),    // 商品数量
                    dto.getCount(),    // 总数量