using NCC.System.Entitys.Dto.Permission.Organize;
using NCC.System.Entitys.Permission;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NCC.System.Interfaces.Permission
{
///
/// 机构管理
/// 组织架构:公司》部门》岗位》用户
/// 版 本:V3.0.0
/// 版 权:Wesley(https://www.NCCsoft.com)
/// 作 者:NCC开发平台组
/// 日 期:2021.06.07
///
public interface IOrganizeService
{
///
/// 是否机构主管
///
/// 用户ID
///
Task GetIsManagerByUserId(string userId);
///
/// 获取机构列表
/// 提供给其他服务使用
///
///
Task> GetListAsync();
///
/// 获取公司列表
/// 提供给其他服务使用
///
///
Task> GetCompanyListAsync();
///
/// 下属机构
///
/// 机构ID
/// 是否管理员
///
Task GetSubsidiary(string organizeId, bool isAdmin);
///
/// 下属机构
///
///
///
Task> GetSubsidiary(string organizeId);
///
/// 根据节点Id获取所有子节点Id集合,包含自己
///
///
///
Task> GetChildIdListWithSelfById(string id);
///
/// 获取机构成员列表
///
/// 机构ID
///
Task> GetOrganizeMemberList(string organizeId);
///
/// 部门信息
///
/// 用户ID
///
Task GetInfoById(string Id);
}
}