package com.dcs.hnyz.service;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.dcs.hnyz.domain.EquipmentExtension;
import com.dcs.hnyz.domain.ModelComponent;

/**
 * 模型组件管理Service接口
 * 
 * @author hmy
 * @date 2025-07-04
 */
public interface IModelComponentService 
{
    /**
     * 查询模型组件管理
     * 
     * @param modelId 模型组件管理主键
     * @return 模型组件管理
     */
    public ModelComponent selectModelComponentByModelId(Long modelId);

    /**
     * 查询模型组件管理列表
     * 
     * @param modelComponent 模型组件管理
     * @return 模型组件管理集合
     */
    public List<ModelComponent> selectModelComponentList(ModelComponent modelComponent);

    /**
     * 新增模型组件管理
     * 
     * @param modelComponent 模型组件管理
     * @return 结果
     */
    public int insertModelComponent(ModelComponent modelComponent);

    /**
     * 修改模型组件管理
     * 
     * @param modelComponent 模型组件管理
     * @return 结果
     */
    public int updateModelComponent(ModelComponent modelComponent);

    /**
     * 批量删除模型组件管理
     * 
     * @param modelIds 需要删除的模型组件管理主键集合
     * @return 结果
     */
    public int deleteModelComponentByModelIds(Long[] modelIds);

    /**
     * 删除模型组件管理信息
     * 
     * @param modelId 模型组件管理主键
     * @return 结果
     */
    public int deleteModelComponentByModelId(Long modelId);

    /**
     * 获取模型Map
     * @param modelIds
     * @return
     */
    Map<Long, ModelComponent> getModelMapByIds(Set<Long> modelIds);

    /**
     * 获取模型下拉列表
     * @return
     */
    List<ModelComponent> getModelComponentSelectList();
}
