package com.bonus.sgzb.base.service;

import com.bonus.sgzb.base.api.domain.MaType;
import com.bonus.sgzb.base.domain.vo.TreeSelect;

import java.util.List;

/**
 * 工机具类型管理服务层
 */
public interface ITypeService {

    List<TreeSelect> getMaTypeList(String typeName, String parentId);
    List<TreeSelect> getMaTypeSelect(String typeName, String parentId);

    List<MaType> getListByMaType(Long typeId,String typeName);

    /**
     * 查询机具类型管理ma_type
     *
     * @param typeId 机具类型管理ma_type主键
     * @return 机具类型管理ma_type
     */
    public MaType selectMaTypeByTypeId(Long typeId);


    /**
     * 新增机具类型管理ma_type
     *
     * @param maType 机具类型管理ma_type
     * @return 结果
     */
    public int insertMaType(MaType maType);

    /**
     * 修改机具类型管理ma_type
     *
     * @param maType 机具类型管理ma_type
     * @return 结果
     */
    public int updateMaType(MaType maType);

    /**
     * 删除机具类型管理ma_type信息
     *
     * @param typeId 机具类型管理ma_type主键
     * @return 结果
     */
    public int deleteMaTypeByTypeId(Long typeId) throws Exception;

    /**
     * 构建前端所需要树结构
     *
     * @param maTypeList 状态列表
     * @return 树结构列表
     */
    public List<MaType> buildDeptTree(List<MaType> maTypeList);


    /**
     * 构建前端所需要下拉树结构
     *
     * @param maTypeList 工机具列表
     * @return 下拉树结构列表
     */
    public List<TreeSelect> buildDeptTreeSelect(List<MaType> maTypeList);

    List<MaType> getListByParentId(Long typeId, String typeName);

    List<MaType> getEquipmentType(Long typeId, String typeName);

}
