futian.liu
2023-12-21 a4273f1a1a6e63b7543acb2472b2af806fe44f41
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java
@@ -1,6 +1,7 @@
package com.consum.base.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -97,14 +98,13 @@
        long dealTime = DateUtils.getDateTimeNumber(System.currentTimeMillis());
        // 单据类型。0仓库调拨;1部门分发;2部门物品回退
        Integer businessType = lWhFormTransfer.getBusinessType();
        businessType = businessType == null ? 0 : businessType;
        WhBusinessEnum businessEnum = WhBusinessEnum.DIAOBO;
        if (businessType == 0) {
            businessEnum = WhBusinessEnum.DIAOBO;
        } else if (businessType == 1) {
        WhBusinessEnum businessEnum;
        if (businessType == 1) {
            businessEnum = WhBusinessEnum.BUMENFENFA;
        } else if (businessType == 2) {
            businessEnum = WhBusinessEnum.BUMENTUIHUI;
        } else {
            businessEnum = WhBusinessEnum.DIAOBO;
        }
        // 出库单ID
@@ -227,7 +227,8 @@
            List<Long> outGoodsId = null;
            synchronized (warehouseModelLockObj) {
                // 获得锁后查询该型号的期初数量
                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(outWarehouseType, outWarehouseId,
                List<Long> warehouseIds = new ArrayList<>(Arrays.asList(outWarehouseId));
                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(outWarehouseType, warehouseIds,
                    baseGoodsModelsId, queryModelStatus, buyType);
                if (goodsModelNum < counts) {
                    log.error("出库失败!型号{} 的数量不足,需要调拨{}个,仓库中现存{}个", baseGoodsModelsId, counts, goodsModelNum);
@@ -380,8 +381,9 @@
                    throw new RuntimeException("入库单失败,未查询到物品!");
                }
                // 获得锁后查询该型号的期初数量
                List<Long> warehouseIds = new ArrayList<>(Arrays.asList(inWarehouseId));
                int goodsModelNum =
                    lWhGoodsService.queryGoodsModelNum(inWarehouseType, inWarehouseId, baseGoodsModelsId, 1, null);
                    lWhGoodsService.queryGoodsModelNum(inWarehouseType, warehouseIds, baseGoodsModelsId, 1, null);
                // 库存物品详情(L_WH_GOODS)中 状态设置为1
                lWhGoodsService.modGoodsTransfering(outGoodsIds, inWarehouseType, inWarehouseId, inWarehouseName,