package cn.iocoder.yudao.module.mdm.service.item;
|
|
import cn.iocoder.yudao.module.mdm.dal.dataobject.item.MdmItemSkuDO;
|
import jakarta.validation.Valid;
|
|
import java.util.Collection;
|
import java.util.List;
|
import java.util.Map;
|
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
|
|
/**
|
* MDM 物料 SKU Service 接口
|
*
|
* @author 芋道源码
|
*/
|
public interface MdmItemSkuService {
|
|
/**
|
* 创建 SKU
|
*
|
* @param sku 创建信息
|
* @return 编号
|
*/
|
Long createItemSku(@Valid MdmItemSkuDO sku);
|
|
/**
|
* 批量创建 SKU
|
*
|
* @param itemId 物料编号
|
* @param skuList SKU 列表
|
*/
|
void createItemSkuList(Long itemId, List<MdmItemSkuDO> skuList);
|
|
/**
|
* 更新 SKU
|
*
|
* @param sku 更新信息
|
*/
|
void updateItemSku(@Valid MdmItemSkuDO sku);
|
|
/**
|
* 批量更新 SKU
|
*
|
* @param itemId 物料编号
|
* @param skuList SKU 列表
|
*/
|
void updateItemSkuList(Long itemId, List<MdmItemSkuDO> skuList);
|
|
/**
|
* 删除 SKU
|
*
|
* @param id 编号
|
*/
|
void deleteItemSku(Long id);
|
|
/**
|
* 删除物料的所有 SKU
|
*
|
* @param itemId 物料编号
|
*/
|
void deleteItemSkuListByItemId(Long itemId);
|
|
/**
|
* 获得 SKU
|
*
|
* @param id 编号
|
* @return SKU
|
*/
|
MdmItemSkuDO getItemSku(Long id);
|
|
/**
|
* 校验 SKU 存在
|
*
|
* @param id 编号
|
* @return SKU
|
*/
|
MdmItemSkuDO validateItemSkuExists(Long id);
|
|
/**
|
* 校验 SKU 存在且启用
|
*
|
* @param id 编号
|
* @return SKU
|
*/
|
MdmItemSkuDO validateItemSkuExistsAndEnable(Long id);
|
|
/**
|
* 获得物料的 SKU 列表
|
*
|
* @param itemId 物料编号
|
* @return SKU 列表
|
*/
|
List<MdmItemSkuDO> getItemSkuListByItemId(Long itemId);
|
|
/**
|
* 获得 SKU 列表
|
*
|
* @param ids 编号数组
|
* @return SKU 列表
|
*/
|
List<MdmItemSkuDO> getItemSkuList(Collection<Long> ids);
|
|
/**
|
* 获得 SKU Map
|
*
|
* @param ids 编号数组
|
* @return SKU Map
|
*/
|
default Map<Long, MdmItemSkuDO> getItemSkuMap(Collection<Long> ids) {
|
return convertMap(getItemSkuList(ids), MdmItemSkuDO::getId);
|
}
|
|
/**
|
* 根据编码获取 SKU
|
*
|
* @param code SKU 编码
|
* @return SKU
|
*/
|
MdmItemSkuDO getItemSkuByCode(String code);
|
|
/**
|
* 根据条码获取 SKU
|
*
|
* @param barCode SKU 条码
|
* @return SKU
|
*/
|
MdmItemSkuDO getItemSkuByBarCode(String barCode);
|
|
}
|