package cn.iocoder.yudao.module.mdm.service.item; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.mdm.controller.admin.item.vo.MdmItemModelPageReqVO; import cn.iocoder.yudao.module.mdm.controller.admin.item.vo.MdmItemModelSaveReqVO; import cn.iocoder.yudao.module.mdm.dal.dataobject.item.MdmItemModelDO; import java.util.Collection; import java.util.List; /** * MDM 物料型号 Service 接口 * * @author 超级管理员 */ public interface MdmItemModelService { /** * 创建物料型号 * * @param createReqVO 创建信息 * @return 型号编号 */ Long createItemModel(MdmItemModelSaveReqVO createReqVO); /** * 更新物料型号 * * @param updateReqVO 更新信息 */ void updateItemModel(MdmItemModelSaveReqVO updateReqVO); /** * 删除物料型号 * * @param id 型号编号 */ void deleteItemModel(Long id); /** * 全量覆盖保存物料的型号列表(先删后插) * * @param itemId 物料编号 * @param modelList 型号列表 */ void saveItemModelList(Long itemId, List modelList); /** * 获得物料型号 * * @param id 型号编号 * @return 物料型号 */ MdmItemModelDO getItemModel(Long id); /** * 获得物料型号列表 * * @param ids 型号编号列表 * @return 物料型号列表 */ List getItemModelList(Collection ids); /** * 获得指定物料的型号列表 * * @param itemId 物料编号 * @return 物料型号列表 */ List getItemModelListByItemId(Long itemId); /** * 获得指定多个物料的型号列表 * * @param itemIds 物料编号列表 * @return 物料型号列表 */ List getItemModelListByItemIds(Collection itemIds); /** * 获得物料型号分页 * * @param pageReqVO 分页查询 * @return 物料型号分页 */ PageResult getItemModelPage(MdmItemModelPageReqVO pageReqVO); /** * 校验物料型号存在 * * @param id 型号编号 * @return 物料型号 */ MdmItemModelDO validateItemModelExists(Long id); /** * 校验物料型号存在且启用 * * @param id 型号编号 * @return 物料型号 */ MdmItemModelDO validateItemModelExistsAndEnable(Long id); /** * 删除指定物料的全部型号 * * @param itemId 物料编号 */ void deleteItemModelListByItemId(Long itemId); }