| | |
| | | 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; |
| | |
| | | /** |
| | | * WMS 商品 SKU Service 实现类 |
| | | * |
| | | * 改造说明:WMS SKU 数据来源于 MDM 物料 SKU |
| | | * - getItemSkuListByIds/validateItemSkuExists 调用 MDM SKU API |
| | | * |
| | | * @author 芋道源码 |
| | | */ |
| | | @Service |
| | |
| | | |
| | | @Resource |
| | | private WmsItemSkuMapper itemSkuMapper; |
| | | |
| | | @Resource |
| | | private MdmItemSkuApi mdmItemSkuApi; |
| | | |
| | | @Resource |
| | | @Lazy // 延迟加载,避免循环依赖 |
| | | private WmsInventoryService inventoryService; |
| | |
| | | |
| | | @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 |
| | |
| | | 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) { |