liyong
8 天以前 1ab2b329a40decba8ff7eefbeb158ff259aceb6d
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/item/MdmItemService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,134 @@
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.MdmItemPageReqVO;
import cn.iocoder.yudao.module.mdm.controller.admin.item.vo.MdmItemSaveReqVO;
import cn.iocoder.yudao.module.mdm.dal.dataobject.item.MdmItemDO;
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 ç‰©æ–™ä¸»æ•°æ® Service æŽ¥å£
 *
 * @author èŠ‹é“æºç 
 */
public interface MdmItemService {
    /**
     * åˆ›å»ºç‰©æ–™
     *
     * @param createReqVO åˆ›å»ºä¿¡æ¯
     * @return ç¼–号
     */
    Long createItem(@Valid MdmItemSaveReqVO createReqVO);
    /**
     * æ›´æ–°ç‰©æ–™
     *
     * @param updateReqVO æ›´æ–°ä¿¡æ¯
     */
    void updateItem(@Valid MdmItemSaveReqVO updateReqVO);
    /**
     * æ›´æ–°ç‰©æ–™çŠ¶æ€
     *
     * @param id     ç¼–号
     * @param status çŠ¶æ€
     */
    void updateItemStatus(Long id, Integer status);
    /**
     * åˆ é™¤ç‰©æ–™
     *
     * @param id ç¼–号
     */
    void deleteItem(Long id);
    /**
     * èŽ·å¾—ç‰©æ–™
     *
     * @param id ç¼–号
     * @return ç‰©æ–™
     */
    MdmItemDO getItem(Long id);
    /**
     * æ ¡éªŒç‰©æ–™å­˜åœ¨
     *
     * @param id ç¼–号
     * @return ç‰©æ–™
     */
    MdmItemDO validateItemExists(Long id);
    /**
     * æ ¡éªŒç‰©æ–™å­˜åœ¨ä¸”启用
     *
     * @param id ç¼–号
     * @return ç‰©æ–™
     */
    MdmItemDO validateItemExistsAndEnable(Long id);
    /**
     * èŽ·å¾—ç‰©æ–™åˆ†é¡µ
     *
     * @param pageReqVO åˆ†é¡µæŸ¥è¯¢
     * @return ç‰©æ–™åˆ†é¡µ
     */
    PageResult<MdmItemDO> getItemPage(MdmItemPageReqVO pageReqVO);
    /**
     * èŽ·å¾—ç‰©æ–™åˆ—è¡¨
     *
     * @param ids ç¼–号数组
     * @return ç‰©æ–™åˆ—表
     */
    List<MdmItemDO> getItemList(Collection<Long> ids);
    /**
     * èŽ·å¾—ç‰©æ–™ Map
     *
     * @param ids ç¼–号数组
     * @return ç‰©æ–™ Map
     */
    default Map<Long, MdmItemDO> getItemMap(Collection<Long> ids) {
        return convertMap(getItemList(ids), MdmItemDO::getId);
    }
    /**
     * åŸºäºŽç‰©æ–™åˆ†ç±»ç¼–号,获得物料数量
     *
     * @param categoryId ç‰©æ–™åˆ†ç±»ç¼–号
     * @return ç‰©æ–™æ•°é‡
     */
    Long getItemCountByCategoryId(Long categoryId);
    /**
     * åŸºäºŽè®¡é‡å•位编号,获得物料数量
     *
     * @param unitMeasureId è®¡é‡å•位编号
     * @return ç‰©æ–™æ•°é‡
     */
    Long getItemCountByUnitMeasureId(Long unitMeasureId);
    /**
     * åŸºäºŽå“ç‰Œç¼–号,获得物料数量
     *
     * @param brandId å“ç‰Œç¼–号
     * @return ç‰©æ–™æ•°é‡
     */
    Long getItemCountByBrandId(Long brandId);
    /**
     * æ ¹æ®ç¼–码获取物料
     *
     * @param code ç‰©æ–™ç¼–码
     * @return ç‰©æ–™
     */
    MdmItemDO getItemByCode(String code);
}