#
luxiaotao1123
2021-04-28 55dd9862d8736f151c3fcc29257bd4a4ba7595ec
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");
@@ -238,6 +238,11 @@
        List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(param.getOrderNo());
        if (Cools.isEmpty(orderDetls)) {
            return R.error("此单据已失效,请联系管理员");
        }
        for (OrderDetl orderDetl : orderDetls) {
            if (Arith.remainder(orderDetl.getAnfme(), 1) > 0) {
                return R.error(orderDetl.getMaktx() + "数量必须为整数");
            }
        }
        OrderStoDto dto = new OrderStoDto().create(order.getOrderNo(), orderDetls);
        // 开始整理出库数据
@@ -457,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()),    // 编号[非空]
@@ -694,7 +708,7 @@
    @Transactional
    public R stockCheckAuditing(Long checkId, Long userId) {
        Check check = checkService.selectById(checkId);
        if (null == check) {
        if (null == check || check.getStatus() != 1) {
            return R.error("盘点记录已失效");
        }
        Date now = new Date();