package com.ruoyi.ibs.tabs.mapper;

import com.ruoyi.ibs.tabs.domain.entity.CustTabListInfo;
import com.ruoyi.ibs.tabs.domain.vo.CustTabEditHisVo;
import com.ruoyi.ibs.tabs.domain.vo.CustTabGroupVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 指标层级关系Mapper接口
 * 
 * @author ruoyi
 * @date 2024-12-30
 */
public interface CustTabListInfoMapper 
{
    /**
     * 查询指标层级关系
     * 
     * @param id 指标层级关系主键
     * @return 指标层级关系
     */
    public CustTabListInfo selectCustTabListInfoById(Long id);


    List<CustTabGroupVo> selectTabPotListInfoByTabType(CustTabListInfo custTabListInfo);
    /**
     * 查询指标层级关系列表
     * 
     * @param custTabListInfo 指标层级关系
     * @return 指标层级关系集合
     */
    public List<CustTabListInfo> selectCustTabListInfoList(CustTabListInfo custTabListInfo);


    /**
     * 查询指标层级关系列表
     *
     * @param tabId 指标层级关系
     * @return 指标层级关系集合
     */
    public List<CustTabEditHisVo> selectCustTabListInfoHis(@Param("tabId") String  tabId, @Param("belongOrg3") String belongOrg3);

    /**
     * 新增指标层级关系
     * 
     * @param custTabListInfo 指标层级关系
     * @return 结果
     */
    public int insertCustTabListInfo(CustTabListInfo custTabListInfo);

    /**
     * 修改指标层级关系
     * 
     * @param custTabListInfo 指标层级关系
     * @return 结果
     */
    public int updateCustTabListInfo(CustTabListInfo custTabListInfo);

    /**
     * 删除指标层级关系
     * 
     * @param id 指标层级关系主键
     * @return 结果
     */
    public int deleteCustTabListInfoById(@Param("id")long id, @Param("loginId") String loginId);

    /**
     * 批量删除指标层级关系
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCustTabListInfoByIds(Long[] ids);
}
