package com.bonus.material.ma.service;

import java.util.List;

import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.ma.domain.PartType;
import com.bonus.material.ma.domain.vo.MaTypeVo;

/**
 * 配件类型管理Service接口
 * 
 * @author xsheng
 * @date 2024-09-27
 */
public interface IPartTypeService 
{
    /**
     * 查询配件类型管理
     * 
     * @param id 配件类型管理主键
     * @return 配件类型管理
     */
    public PartType selectPartTypeByPaId(Long id);

    /**
     * 查询配件类型管理列表
     * 
     * @param partType 配件类型管理
     * @return 配件类型管理集合
     */
    public AjaxResult selectPartTypeList(PartType partType);

    /**
     * 新增配件类型管理
     * 
     * @param partType 配件类型管理
     * @return 结果
     */
    public AjaxResult insertPartType(PartType partType);

    /**
     * 修改配件类型管理
     * 
     * @param partType 配件类型管理
     * @return 结果
     */
    public AjaxResult updatePartType(PartType partType);

    /**
     * 删除配件类型管理信息
     * 
     * @param id 配件类型管理主键
     * @return 结果
     */
    public AjaxResult deletePartTypeByPaId(Long id);

    /**
     * 获取配件类型树
     * @param dto
     * @return
     */
    AjaxResult getPartTree(PartType dto);

    /**
     * 导出结果集
     * @param partType
     * @return
     */
    List<PartType> getTypeList(PartType partType);

    List<Integer> selectParentId(PartType partType);

    List<PartType> getListByParentId(Long id, PartType type);
}
