cy
2023-11-27 41dd97a3255d581d4013529730cedfb3f8f8e8ea
consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java
@@ -1,6 +1,8 @@
package com.consum.base.service;
import cn.hutool.core.convert.Convert;
import com.consum.base.core.WhBusinessEnum;
import com.consum.base.core.service.LWhWarningCoreServiceImpl;
import com.consum.base.core.utils.LockManage;
import com.consum.model.po.*;
import com.iplatform.model.po.S_user_core;
@@ -9,6 +11,7 @@
import com.walker.infrastructure.utils.NumberGenerator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -27,7 +30,7 @@
 **/
@Service
@Slf4j
@Transactional(rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
public class LWhFormTransferCoreService {
    @Resource
@@ -48,7 +51,8 @@
    private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService;
    @Resource
    private LGoodsUserRecordServiceImpl lGoodsUserRecordService;
    @Resource
    private LWhWarningCoreServiceImpl lWhWarningCoreService;
    /**
     * 执行调拨出库操作
@@ -99,6 +103,7 @@
        lWhFormTransfer.setOutputTime(dealTime);
        lWhFormTransfer.setOutWarehouseFlowId(lWarehouseFlowId);
        lWhFormTransferService.update(lWhFormTransfer);
        log.info("调拨单:{} 出库完成", whFormTransferId);
        return;
@@ -159,12 +164,14 @@
        inwarehouseFlow.setDealTime(dealTime);
        lWarehouseFlowService.insert(inwarehouseFlow);
        ArrayList<Long> allChangModelList = new ArrayList<>();
        LWhGoodsRecord lWhGoodsRecord = new LWhGoodsRecord();
        lWhGoodsRecord.setWarehouseFlowId(outWarehouseFlowId);
        List<LWhGoodsRecord> whGoodsRecordList = lWhGoodsRecordService.select(lWhGoodsRecord);
        for (LWhGoodsRecord whGoodsRecord : whGoodsRecordList) {
            Long oldRecordId = whGoodsRecord.getId();
            Long baseGoodsModelsId = whGoodsRecord.getBaseGoodsModelsId();
            allChangModelList.add(baseGoodsModelsId);
            whGoodsRecord.setId(NumberGenerator.getLongSequenceNumber());
            whGoodsRecord.setWarehouseType(inWarehouseType);
            whGoodsRecord.setWarehouseId(inWarehouseId);
@@ -176,7 +183,7 @@
                List<Long> outGoodsIds = getGoodsidByFlowId(outWarehouseFlowId, oldRecordId);
                // 库存物品详情(L_WH_GOODS)中 状态设置为1
                lWhGoodsService.modGoodsTransfering(outGoodsIds, inWarehouseType, inWarehouseId, inWarehouseName, goodsStatus);
                if (businessType == 1){
                if (businessType == 1) {
                    // 1部门分发 此时要往 物品使用记录【L_GOODS_USER_RECORD】添加数据
                    //查询部门分发使用人
                    LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser();
@@ -228,7 +235,7 @@
                lGoodsWhRecordService.insertNewRecord(outGoodsIds, inWarehouseFlowId, dealTime);
                // 获得锁后查询该型号的期初数量
                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(inWarehouseType, inWarehouseId, baseGoodsModelsId, (short) 1, null);
                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(inWarehouseType, inWarehouseId, baseGoodsModelsId, 1, null);
                whGoodsRecord.setInitialCount(goodsModelNum);
                whGoodsRecord.setEndCount(goodsModelNum + whGoodsRecord.getThisCount());
            }
@@ -246,12 +253,16 @@
        // 更新调拨单
        lWhFormTransfer = new LWhFormTransfer(whFormTransferId);
        lWhFormTransfer.setInWarehouseFormId(inWarehouseFlowId);
        lWhFormTransfer.setInWarehouseFlowId(inWarehouseFlowId);
        lWhFormTransfer.setInWarehouseFormId(null);
        lWhFormTransfer.setStates(2);
        lWhFormTransfer.setInOperatorId(userId);
        lWhFormTransfer.setInOperatorName(nickName);
        lWhFormTransfer.setInTime(dealTime);
        lWhFormTransferService.update(lWhFormTransfer);
        //当库存变动时调用该方法
        lWhWarningCoreService.updateKuCun(Convert.toShort(inWarehouseType, (short) 0), inWarehouseId, allChangModelList, null, dealTime);
        log.info("调拨单:{} 入库完成", whFormTransferId);
        return;
    }