cy
2023-11-25 211556339427f512b5e78e009f91bbeee7b5e618
consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.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.LWarehouseFlow;
import com.consum.model.po.LWhFormScrapped;
@@ -9,14 +11,16 @@
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 java.util.stream.Collectors;
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;
import java.util.stream.Collectors;
/**
 * @ClassName LWhFormScrappedCoreService
@@ -35,6 +39,7 @@
    private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService;
    private LWhGoodsRecordService lWhGoodsRecordService;
    private LWarehouseFlowService lWarehouseFlowService;
    private LWhWarningCoreServiceImpl lWhWarningCoreService;
    @Autowired
    public LWhFormScrappedCoreService(GoodsBaseServiceImpl goodsBaseService,
@@ -43,7 +48,8 @@
        LWhGoodsService lWhGoodsService,
        LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService,
        LWhGoodsRecordService lWhGoodsRecordService,
        LWarehouseFlowService lWarehouseFlowService) {
                                      LWarehouseFlowService lWarehouseFlowService,
                                      LWhWarningCoreServiceImpl lWhWarningCoreService) {
//        this.lWhFormScrappedService = lWhFormScrappedService;
        this.lWhFormScrappedGoodsService = lWhFormScrappedGoodsService;
        this.baseGoodsTemplateService = baseGoodsTemplateService;
@@ -52,6 +58,7 @@
        this.lWhGoodsRecordService = lWhGoodsRecordService;
        this.lWarehouseFlowService = lWarehouseFlowService;
        this.goodsBaseService = goodsBaseService;
        this.lWhWarningCoreService = lWhWarningCoreService;
    }
@@ -92,11 +99,14 @@
        }
        // 按型号分组
        ArrayList<Long> allChangModelList = new ArrayList<>();
        Map<Long, List<LWhFormScrappedGoods>> modelGroup = formScrappedGoods.stream()
            .collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsModelsId));
        for (Map.Entry<Long, List<LWhFormScrappedGoods>> entry : modelGroup.entrySet()) {
            //规格型号编号
            Long baseGoodsModelsId = entry.getKey();
            allChangModelList.add(baseGoodsModelsId);
            //对每组中要报废的数量求和
            List<LWhFormScrappedGoods> modelGoodsList = entry.getValue();
            //查询型号信息
@@ -191,6 +201,9 @@
        lWhFormScrapped.setOperatorName(nickName);
        lWhFormScrapped.setDealTime(dealTime);
        goodsBaseService.update(lWhFormScrapped);
        //当库存变动时调用该方法
        lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType,(short) 0), warehouseId, allChangModelList, null, dealTime);
        return lWarehouseFlowId;
    }