cy
2023-11-25 211556339427f512b5e78e009f91bbeee7b5e618
consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java
@@ -1,25 +1,25 @@
package com.consum.base.service;
import cn.hutool.core.convert.Convert;
import com.consum.base.core.CodeGeneratorEnum;
import com.consum.base.core.CodeGeneratorService;
import com.consum.base.core.WhBusinessEnum;
import com.consum.base.core.param.BaseWarehouseParam1;
import com.consum.base.core.service.LWhWarningCoreServiceImpl;
import com.consum.base.core.utils.LockManage;
import com.consum.model.po.LWarehouseFlow;
import com.consum.model.po.LWhFormOutput;
import com.consum.model.po.LWhFormTransfer;
import com.consum.model.po.LWhGoodsRecord;
import com.consum.model.po.LWhProcureModel;
import com.consum.model.po.*;
import com.iplatform.model.po.S_user_core;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.infrastructure.utils.NumberGenerator;
import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * @ClassName WhFormOutputCoreService
@@ -37,19 +37,21 @@
    private CodeGeneratorService codeGeneratorService;
    private LWhProcureModelService lWhProcureModelService;
    private LWhFormOutputService lWhFormOutputService;
    private LWhWarningCoreServiceImpl lWhWarningCoreService;
    private LWarehouseFlowService lWarehouseFlowService;
    private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService;
    private LWhGoodsRecordService lWhGoodsRecordService;
    @Autowired
    public LWhFormOutputCoreService(BaseGoodsTemplateServiceImpl baseGoodsTemplateService,
        LWhGoodsService lWhGoodsService,
        CodeGeneratorService codeGeneratorService,
        LWhProcureModelService lWhProcureModelService,
        LWhFormOutputService lWhFormOutputService,
        LWarehouseFlowService lWarehouseFlowService,
        LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService,
        LWhGoodsRecordService lWhGoodsRecordService) {
                                    LWhGoodsService lWhGoodsService,
                                    CodeGeneratorService codeGeneratorService,
                                    LWhProcureModelService lWhProcureModelService,
                                    LWhFormOutputService lWhFormOutputService,
                                    LWarehouseFlowService lWarehouseFlowService,
                                    LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService,
                                    LWhGoodsRecordService lWhGoodsRecordService,
                                    LWhWarningCoreServiceImpl lWhWarningCoreService) {
        this.baseGoodsTemplateService = baseGoodsTemplateService;
        this.lWhGoodsService = lWhGoodsService;
        this.codeGeneratorService = codeGeneratorService;
@@ -58,6 +60,7 @@
        this.lWarehouseFlowService = lWarehouseFlowService;
        this.lWhGoodsRecordDetailsService = lWhGoodsRecordDetailsService;
        this.lWhGoodsRecordService = lWhGoodsRecordService;
        this.lWhWarningCoreService = lWhWarningCoreService;
    }
@@ -206,9 +209,11 @@
        Integer buyType = buyTypeT;
        Integer modGoodsTransferingStatus = modGoodsTransferingStatusT;
        ArrayList<Long> allChangModelList = new ArrayList<>();
        goodsModelNumList.forEach(itemModelInfo -> {
            // 需要调拨的物品的某个型号
            Long baseGoodsModelsId = itemModelInfo.getBaseGoodsModelsId();
            allChangModelList.add(baseGoodsModelsId);
            // 需要调拨的物品某个型号的数量
            Integer counts = itemModelInfo.getCounts();
@@ -258,7 +263,7 @@
                //出库时候,按 先入库的先出库,同时入库的,按价格高的先出库
                outGoodsId = lWhGoodsService.queryOutGoodsId(outWarehouseType, outWarehouseId, baseGoodsModelsId, queryModelStatus, buyType,
                    counts);
                        counts);
                lWhGoodsService.modGoodsTransfering(outGoodsId, inWarehouseType, inWarehouseId, inWarehouseName, modGoodsTransferingStatus);
                // 批量插入 进出库流水明细[L_WH_GOODS_RECORD_DETAILS]
                lWhGoodsRecordDetailsService.sameGoodsInsertMore(outGoodsId, whGoodsRecordId, (short) 0);
@@ -292,6 +297,8 @@
        lWhFormOutput.setWarehouseFlowId(lWarehouseFlowId);
        lWhFormOutputService.update(lWhFormOutput);
        //当库存变动时调用该方法
        lWhWarningCoreService.updateKuCun(Convert.toShort(outWarehouseType, (short) 0), outWarehouseId, allChangModelList, null, dealTime);
        return lWarehouseFlowId;
    }