package com.aucma.base.service;

import java.util.List;

import com.aucma.base.domain.BaseMonitorInfo;
import com.aucma.base.domain.BaseWorkUnit;
import com.aucma.base.domain.TreeSelects;

/**
 * 统计单元信息Service接口
 *
 * @author Yinq
 * @date 2023-10-12
 */
public interface IBaseWorkUnitService
{
    /**
     * 查询统计单元信息
     *
     * @param objId 统计单元信息主键
     * @return 统计单元信息
     */
    public BaseWorkUnit selectBaseWorkUnitByObjId(Long objId);

    /**
     * 查询统计单元信息列表
     *
     * @param baseWorkUnit 统计单元信息
     * @return 统计单元信息集合
     */
    public List<BaseWorkUnit> selectBaseWorkUnitList(BaseWorkUnit baseWorkUnit);

    /**
     * 新增统计单元信息
     *
     * @param baseWorkUnit 统计单元信息
     * @return 结果
     */
    public int insertBaseWorkUnit(BaseWorkUnit baseWorkUnit);

    /**
     * 修改统计单元信息
     *
     * @param baseWorkUnit 统计单元信息
     * @return 结果
     */
    public int updateBaseWorkUnit(BaseWorkUnit baseWorkUnit);

    /**
     * 批量删除统计单元信息
     *
     * @param objIds 需要删除的统计单元信息主键集合
     * @return 结果
     */
    public int deleteBaseWorkUnitByObjIds(Long[] objIds);

    /**
     * 删除统计单元信息信息
     *
     * @param objId 统计单元信息主键
     * @return 结果
     */
    public int deleteBaseWorkUnitByObjId(Long objId);

    List<TreeSelects> selectBaseWorkUnitTreeList(BaseWorkUnit baseWorkUnit);

    public List<TreeSelects> buildWorkUnitTreeSelect(List<BaseWorkUnit> baseWorkUnits);

    public List<BaseWorkUnit> buildWorkUnitTree(List<BaseWorkUnit> baseWorkUnits);

}
