using Model;
using Model.Dto.System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Service.Interface
{
///
/// 组织架构管理 服务接口(公司/实验室/部门/班组树)
///
public interface IOrgService
{
/// 完整组织树(嵌套子级)
Task>> GetTreeAsync();
/// 新增组织节点
Task> AddAsync(OrgDto dto);
/// 修改组织节点(系统节点层级类型变更需校验无子级)
Task> UpdateAsync(OrgDto dto);
/// 删除组织节点(有子级或有用户挂靠时不可删)
Task DeleteAsync(long id);
/// 组织下拉选项(平铺)
Task>> GetOptionsAsync();
/// 取指定组织及其全部子孙组织 Id(数据权限过滤用)
Task> GetSubtreeIdsAsync(long orgId);
}
}