futian.liu
2023-11-13 c3324e194441e601d474601bd0f7ac62c120c486
consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java
@@ -6,14 +6,13 @@
import com.consum.model.po.LWhProcureModelUser;
import com.consum.model.po.LWhProcureModelUserRecord;
import com.walker.infrastructure.utils.NumberGenerator;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
 * @ClassName LGoodsUserRecordCoreService
@@ -24,6 +23,7 @@
@Service
@Transactional(rollbackFor = Exception.class)
public class LGoodsUserRecordCoreService {
    @Resource
    private GoodsBaseServiceImpl goodsBaseService;
    @Resource
@@ -54,7 +54,7 @@
        Long inWarehouseId = whFormTransfer.getInWarehouseId();
        // 将所有物品设置为未分发
        List<Long> srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(inWarehouseType, inWarehouseId, transBusinessId, null, null, null, null);
        lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, (short) 3);
        lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 3);
        // 设置旧的LAST_RECORD= 0
        lGoodsUserRecordService.updSetNotLast(srappedGoodsIds);
        //插入新的
@@ -71,7 +71,8 @@
            //通过LockManage获得锁
            Object warehouseModelLockObj = LockManage.acquireLock(inWarehouseType, inWarehouseId, baseGoodsModelsId);
            synchronized (warehouseModelLockObj) {
                List<Long> toUserGoodsIds = lWhGoodsService.queryScrappedGoodsIds(inWarehouseType, inWarehouseId, transBusinessId, null, baseGoodsModelsId, (short) 1, goodsNum);
                List<Long> toUserGoodsIds = lWhGoodsService.queryScrappedGoodsIds(inWarehouseType, inWarehouseId, transBusinessId, null, baseGoodsModelsId,
                    (short) 1, goodsNum);
                if (CollectionUtils.isEmpty(toUserGoodsIds)) {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    throw new RuntimeException("操作失败!型号数量不足");
@@ -90,7 +91,7 @@
                    tmp.setLastRecord(1);
                    goodsUserRecords.add(tmp);
                }
                lWhGoodsService.modGoodsTransfering(toUserGoodsIds, null, null, null, (short) 2);
                lWhGoodsService.modGoodsTransfering(toUserGoodsIds, null, null, null, 2);
                lGoodsUserRecordService.insertBatch(goodsUserRecords);
            }
        }