cy
2023-12-09 7fc948e6ddc958a2c7379b8eb3b240f77350ce4b
consum-base/src/main/java/com/consum/base/service/impl/LWhFormScrappedCoreService.java
@@ -1,35 +1,28 @@
package com.consum.base.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
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.IdUtil;
import com.consum.base.core.utils.LockManage;
import com.consum.base.service.BaseGoodsTemplateService;
import com.consum.base.service.GoodsBaseServiceImpl;
import com.consum.base.service.LWarehouseFlowService;
import com.consum.base.service.LWhFormScrappedGoodsService;
import com.consum.base.service.LWhGoodsRecordService;
import com.consum.base.service.LWhGoodsService;
import com.consum.base.service.*;
import com.consum.model.po.LWarehouseFlow;
import com.consum.model.po.LWhFormScrapped;
import com.consum.model.po.LWhFormScrappedGoods;
import com.consum.model.po.LWhGoodsRecord;
import com.iplatform.model.po.S_user_core;
import com.walker.infrastructure.utils.CollectionUtils;
import cn.hutool.core.convert.Convert;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
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
@@ -147,9 +140,11 @@
                    // 报废单编号
                    Long transBusinessId = formScrappedGood.getTransBusinessId();
                    // 获得锁后查询该型号的期初数量
                    int goodsModelNum = 0;
                    List<Long> srappedGoodsIds = null;
                    if (warehouseType == null || warehouseType == 0) {
                        goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 1, null);
                        srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, null, null,
                            baseGoodsModelsId, (short)1, counts);
                    } else {
@@ -158,6 +153,14 @@
                        // 根据分发单、规格型号编号、使用人员名称,进行报废
                        srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId,
                            transBusinessId, userName, baseGoodsModelsId, (short)2, counts);
                        goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 2, null);
                    }
                    if (goodsModelNum < counts) {
                        log.error("要报废的物品数量不足");
                        // 手动回滚
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        throw new RuntimeException("出库失败!型号数量不足");
                    }
                    if (CollectionUtils.isEmpty(srappedGoodsIds) || srappedGoodsIds.size() < counts) {