2026-06-29 940c8481d2fdcf51341db4ccd6fd6fcc2d43debb
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/md/item/WmsItemSkuServiceImpl.java
@@ -5,6 +5,8 @@
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.mdm.api.item.MdmItemSkuApi;
import cn.iocoder.yudao.module.mdm.api.item.dto.MdmItemSkuRespDTO;
import cn.iocoder.yudao.module.wms.controller.admin.md.item.vo.sku.WmsItemSkuPageReqVO;
import cn.iocoder.yudao.module.wms.controller.admin.md.item.vo.sku.WmsItemSkuSaveReqVO;
import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
@@ -33,6 +35,9 @@
/**
 * WMS 商品 SKU Service 实现类
 *
 * 改造说明:WMS SKU 数据来源于 MDM 物料 SKU
 * - getItemSkuListByIds/validateItemSkuExists 调用 MDM SKU API
 *
 * @author 芋道源码
 */
@Service
@@ -41,6 +46,10 @@
    @Resource
    private WmsItemSkuMapper itemSkuMapper;
    @Resource
    private MdmItemSkuApi mdmItemSkuApi;
    @Resource
    @Lazy // 延迟加载,避免循环依赖
    private WmsInventoryService inventoryService;
@@ -111,26 +120,26 @@
    @Override
    public WmsItemSkuDO validateItemSkuExists(Long id) {
        WmsItemSkuDO sku = itemSkuMapper.selectById(id);
        if (sku == null) {
            throw exception(ITEM_SKU_NOT_EXISTS);
        }
        return sku;
        MdmItemSkuRespDTO sku = mdmItemSkuApi.validateItemSkuExists(id).getCheckedData();
        return BeanUtils.toBean(sku, WmsItemSkuDO.class);
    }
    @Override
    public List<WmsItemSkuDO> getItemSkuList(Long itemId) {
        return itemSkuMapper.selectListByItemId(itemId);
        List<MdmItemSkuRespDTO> list = mdmItemSkuApi.getItemSkuListByItemId(itemId).getCheckedData();
        return BeanUtils.toBean(list, WmsItemSkuDO.class);
    }
    @Override
    public List<WmsItemSkuDO> getItemSkuList(Collection<Long> itemIds) {
        return itemSkuMapper.selectListByItemIds(itemIds);
        // MDM API 暂不支持按多个物料 ID 查询 SKU,暂时返回空列表
        return ListUtil.of();
    }
    @Override
    public List<WmsItemSkuDO> getItemSkuList(Collection<Long> itemIds, String code, String name) {
        return itemSkuMapper.selectList(itemIds, code, name);
        // MDM API 暂不支持复杂查询,暂时返回空列表
        return ListUtil.of();
    }
    @Override
@@ -138,12 +147,14 @@
        if (CollUtil.isEmpty(ids)) {
            return ListUtil.of();
        }
        return itemSkuMapper.selectByIds(ids);
        List<MdmItemSkuRespDTO> list = mdmItemSkuApi.getItemSkuList(ids).getCheckedData();
        return BeanUtils.toBean(list, WmsItemSkuDO.class);
    }
    @Override
    public PageResult<WmsItemSkuDO> getItemSkuPage(WmsItemSkuPageReqVO pageReqVO) {
        return itemSkuMapper.selectPage(pageReqVO);
        // MDM API 暂不支持分页查询 SKU,暂时返回空结果
        return new PageResult<>(ListUtil.of(), 0L);
    }
    private void validateItemSkuList(List<WmsItemSkuSaveReqVO> skus) {