using System.Linq.Expressions;
using JNPF.Systems.Entitys.Dto.Organize;
using JNPF.Systems.Entitys.Permission;
namespace JNPF.Systems.Interfaces.Permission;
///
/// 机构管理
/// 组织架构:公司》部门》岗位》用户
/// 版 本:V3.0.0
/// 版 权:拓通智联科技有限公司(http://www.tuotong-tech.com)
/// 日 期:2021.06.07.
///
public interface IOrganizeService
{
///
/// 是否机构主管.
///
/// 用户ID.
///
Task GetIsManagerByUserId(string userId);
///
/// 获取机构列表
///
///
Task> GetListAsync(Expression> expression = null);
///
/// 获取公司列表
///
///
Task> GetCompanyListAsync();
///
/// 下属机构.
///
/// 机构ID.
/// 是否管理员.
///
Task GetSubsidiary(string organizeId, bool isAdmin);
///
/// 下属机构.
///
/// 组织ID.
///
Task> GetSubsidiary(string organizeId);
///
/// 根据节点Id获取所有子节点Id集合,包含自己.
///
///
///
Task> GetChildIdListWithSelfById(string id);
///
/// 获取机构成员列表.
///
/// 机构ID
///
Task> GetOrganizeMemberList(string organizeId);
///
/// 部门信息.
///
Task GetInfoById(string Id);
///
/// 处理组织树 名称.
///
///
List GetOrgListTreeName();
///
/// 获取组织下所有子组织.
///
///
///
Task> GetChildOrgId(string id);
///
/// 根据工位id获取其任意上级
///
///
///
///
Task GetAnyParentByWorkstationId(string id, string type);
}