package com.aucma.production.service;

import java.util.List;
import com.aucma.production.domain.BaseBomInfo;

/**
 * 生产BOMService接口
 * 
 * @author Yinq
 * @date 2023-09-28
 */
public interface IBaseBomInfoService 
{
    /**
     * 查询生产BOM
     * 
     * @param objId 生产BOM主键
     * @return 生产BOM
     */
    public BaseBomInfo selectBaseBomInfoByObjId(Long objId);

    /**
     * 查询生产BOM列表
     * 
     * @param baseBomInfo 生产BOM
     * @return 生产BOM集合
     */
    public List<BaseBomInfo> selectBaseBomInfoList(BaseBomInfo baseBomInfo);

    /**
     * 新增生产BOM
     * 
     * @param baseBomInfo 生产BOM
     * @return 结果
     */
    public int insertBaseBomInfo(BaseBomInfo baseBomInfo);

    /**
     * 修改生产BOM
     * 
     * @param baseBomInfo 生产BOM
     * @return 结果
     */
    public int updateBaseBomInfo(BaseBomInfo baseBomInfo);

    /**
     * 批量删除生产BOM
     * 
     * @param objIds 需要删除的生产BOM主键集合
     * @return 结果
     */
    public int deleteBaseBomInfoByObjIds(Long[] objIds);

    /**
     * 删除生产BOM信息
     * 
     * @param objId 生产BOM主键
     * @return 结果
     */
    public int deleteBaseBomInfoByObjId(Long objId);


    /**
     * 检查生产BOM是否满足下计划条件
     * @param baseBomInfoList
     */
    void checkBomInfo(List<BaseBomInfo> baseBomInfoList);
}
