package com.platform.service;

import com.platform.entity.SysDeptEntity;
import com.platform.entity.UserWindowDto;
import com.platform.page.Page;
import com.platform.vos.SysDeptEntityVo;

import java.util.List;
import java.util.Map;

/**
 * 部门管理
 *
 * @author liepngjun
 * @email 939961241@qq.com
 * @date 2017-09-17 23:58:47
 */
public interface SysDeptService {

    SysDeptEntity queryObject(Long deptId);

    SysDeptEntity getDeptByParentDeptId(Long parentDeptId);

    int queryTotal();


    List<SysDeptEntity> queryList(Map<String, Object> map);

    List<SysDeptEntity> queryListByName(String name , List<Long> deptIdList);

    int countQueryListByName(String name , List<Long> deptIdList);

    void save(SysDeptEntityVo sysDept);

    void save(SysDeptEntity sysDept);

    void update(SysDeptEntity sysDept);

    void update(SysDeptEntityVo dept);

    void delete(Long deptId);

    /**
     * 查询子部门ID列表
     *
     * @param parentId 上级部门ID
     */
    List<Long> queryDetpIdList(Long parentId);

    /**
     * 获取子部门ID(包含本部门ID)，用于数据过滤
     */
    String getSubDeptIdList(Long deptId);

    List<Long> getSubDeptIdLongList(Long deptId);

}
