自动化立体仓库 - WMS系统
ZY
2024-09-18 2718a5f2b9a4b65d257adaa61f436d7ecaed9656
src/main/java/com/zy/third/erp/task/ERPInOrOutService.java
@@ -57,11 +57,11 @@
        // 如果单据不存在则添加;如果单据存在,作业中无法修改,反之则修改单据
        if (!Cools.isEmpty(order)) {
            if (order.getSettle() > 1L) {
                throw new CoolException(inHedTB.getBillNo() + "正在出库,无法修改单据");
                throw new CoolException(inHedTB.getBillNo() + "正在入库,无法修改单据");
            }
            orderService.remove(order.getId());
        }
        DocType docType = docTypeService.selectOrAdd(inHedTB.getIoKindID(), Boolean.FALSE);
        DocType docType = docTypeService.selectOrAdd(inHedTB.getIoKindName(), inHedTB.getIoKindID(), Boolean.TRUE);
        Date now = new Date();
        // 单据主档
        order = new Order(
@@ -100,11 +100,16 @@
                inHedTB.getMakeDate(),    // 修改时间
                inHedTB.getRemark()    // 备注
        );
        order.setTemp1(inHedTB.getTemp1());
        order.setTemp2(inHedTB.getTemp2());
        order.setTemp3(inHedTB.getTemp3());
        order.setWareId(inHedTB.getWareId());
        order.setWareName(inHedTB.getWareName());
        if (!orderService.insert(order)) {
            throw new CoolException("生成单据主档失败,请联系管理员");
        }
        for (InDetTB outDetTB : inDetTBs) {
            Mat mat = matService.selectByMatnr(outDetTB.getItemCode());
            Mat mat = matService.selectByMatnr(outDetTB.getItemId());
            if (Cools.isEmpty(mat)) {
                throw new CoolException(outDetTB.getItemCode() + "编号商品检索失败,请先添加商品");
            }
@@ -120,7 +125,7 @@
            orderDetl.setWareName(outDetTB.getWareName());
            orderDetl.setBatch(outDetTB.getItemBatch());
            orderDetl.setAnfme(outDetTB.getMainNum());
            orderDetl.setINO(outDetTB.getINO());
            orderDetl.setINo(outDetTB.getINO());
            orderDetl.setOrderId(order.getId());
            orderDetl.setTemp1(outDetTB.getTemp1());
            orderDetl.setTemp2(outDetTB.getTemp2());
@@ -132,10 +137,13 @@
            orderDetl.setUpdateBy(9527L);
            orderDetl.setUpdateTime(now);
            orderDetl.setStatus(1);
            orderDetl.setProType(outDetTB.getProtype());
            orderDetl.setQty(0.0D);
            orderDetl.setSPgNO(outDetTB.getSPgNO());
            if (!orderDetlService.insert(orderDetl)) {
                throw new CoolException("生成单据明细失败,请联系管理员");
            }
            log.info("入库单据成功详情,{}", orderDetl);
        }
        return true;
    }
@@ -154,7 +162,7 @@
            }
            orderService.remove(order.getId());
        }
        DocType docType = docTypeService.selectOrAdd(inHedTB.getIoKindID(), Boolean.FALSE);
        DocType docType = docTypeService.selectOrAdd(inHedTB.getIoKindName(),inHedTB.getIoKindID(), Boolean.FALSE);
        Date now = new Date();
        // 单据主档
        order = new Order(
@@ -193,11 +201,17 @@
                inHedTB.getMakeDate(),    // 修改时间
                inHedTB.getRemark()    // 备注
        );
        order.setTemp1(inHedTB.getTemp1());
        order.setTemp2(inHedTB.getTemp2());
        order.setTemp3(inHedTB.getTemp3());
        order.setWareId(inHedTB.getWareId());
        order.setWareName(inHedTB.getWareName());
        if (!orderService.insert(order)) {
            throw new CoolException("生成单据主档失败,请联系管理员");
        }
        for (OutDetTB outDetTB : inDetTBs) {
            Mat mat = matService.selectByMatnr(outDetTB.getItemCode());
            Mat mat = matService.selectByMatnr(outDetTB.getItemId());
            if (Cools.isEmpty(mat)) {
                throw new CoolException(outDetTB.getItemCode() + "编号商品检索失败,请先添加商品");
            }
@@ -213,7 +227,7 @@
            orderDetl.setWareName(outDetTB.getWareName());
            orderDetl.setBatch(outDetTB.getItemBatch());
            orderDetl.setAnfme(outDetTB.getMainNum());
            orderDetl.setINO(outDetTB.getINO());
            orderDetl.setINo(outDetTB.getINO());
            orderDetl.setOrderId(order.getId());
            orderDetl.setTemp1(outDetTB.getTemp1());
            orderDetl.setTemp2(outDetTB.getTemp2());
@@ -226,9 +240,12 @@
            orderDetl.setUpdateTime(now);
            orderDetl.setStatus(1);
            orderDetl.setQty(0.0D);
            orderDetl.setProType(outDetTB.getProType());
            orderDetl.setSPgNO(outDetTB.getSPgNO());
            if (!orderDetlService.insert(orderDetl)) {
                throw new CoolException("生成单据明细失败,请联系管理员");
            }
            log.info("出库单据成功详情,{}", orderDetl);
        }
        return true;
    }