package com.hw.ems.base.service;

import com.hw.common.core.domain.Ztree;
import com.hw.ems.base.domain.BaseBuildInfo;
import com.hw.ems.base.domain.BaseBusinessType;
import com.hw.ems.base.domain.BaseMonitorInfo;
import com.hw.ems.base.domain.vo.TreeSelect;

import java.util.List;

/**
 * 业态类型管理Service接口
 *
 * @author YinQ
 * @date 2023-05-05
 */
public interface IBaseBusinessTypeService
{
    /**
     * 查询业态类型管理
     *
     * @param objid 业态类型管理主键
     * @return 业态类型管理
     */
    public BaseBusinessType selectBaseBusinessTypeByObjid(Long objid);

    /**
     * 查询业态类型管理列表
     *
     * @param baseBusinessType 业态类型管理
     * @return 业态类型管理集合
     */
    public List<BaseBusinessType> selectBaseBusinessTypeList(BaseBusinessType baseBusinessType);

    /**
     * 新增业态类型管理
     *
     * @param baseBusinessType 业态类型管理
     * @return 结果
     */
    public int insertBaseBusinessType(BaseBusinessType baseBusinessType);

    /**
     * 修改业态类型管理
     *
     * @param baseBusinessType 业态类型管理
     * @return 结果
     */
    public int updateBaseBusinessType(BaseBusinessType baseBusinessType);

    /**
     * 批量删除业态类型管理
     *
     * @param objids 需要删除的业态类型管理主键集合
     * @return 结果
     */
    public int deleteBaseBusinessTypeByObjids(Long[] objids);

    /**
     * 删除业态类型管理信息
     *
     * @param objid 业态类型管理主键
     * @return 结果
     */
    public int deleteBaseBusinessTypeByObjid(Long objid);

    public List<BaseBusinessType> selectSubentryList(BaseMonitorInfo baseMonitorInfo);
    public List<TreeSelect> buildTreeSelect(List<BaseBusinessType> business);
    public List<BaseBusinessType> buildTree(List<BaseBusinessType> menus);

    List<Ztree> selectBaseBusinessTypeTree();
}
