package com.ruoyi.ems.base.service;

import java.util.List;
import com.ruoyi.ems.base.domain.EmsBaseWorkUnit;
import com.ruoyi.ems.base.domain.TreeSelects;

/**
 * 统计单元信息Service接口
 * 
 * @author Yinq
 * @date 2024-05-09
 */
public interface IEmsBaseWorkUnitService 
{
    /**
     * 查询统计单元信息
     * 
     * @param objId 统计单元信息主键
     * @return 统计单元信息
     */
    public EmsBaseWorkUnit selectEmsBaseWorkUnitByObjId(Long objId);

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

    /**
     * 新增统计单元信息
     * 
     * @param emsBaseWorkUnit 统计单元信息
     * @return 结果
     */
    public int insertEmsBaseWorkUnit(EmsBaseWorkUnit emsBaseWorkUnit);

    /**
     * 修改统计单元信息
     * 
     * @param emsBaseWorkUnit 统计单元信息
     * @return 结果
     */
    public int updateEmsBaseWorkUnit(EmsBaseWorkUnit emsBaseWorkUnit);

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

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

    List<TreeSelects> selectBaseWorkUnitTreeList(EmsBaseWorkUnit baseWorkUnit);

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

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

}
