using Learun.Util;
using System.Collections.Generic;
using System.Data;
namespace Learun.Application.Organization
{
///
/// 版 本 PIT-ADMS V7.0.3 敏捷开发框架
/// Copyright (c) 2013-2018 Hexagon PPM
/// 创建人:研发部
/// 日 期:2017.03.04
/// 描 述:岗位管理
///
public interface PostIBLL
{
#region 获取数据
///
/// 获取岗位数据列表(根据公司列表)
///
/// 公司主键
///
List GetList(string companyId);
///
/// 关键词
///
///
List GetPostList(Pagination paginationobj, string queryJson);
///
/// 获取岗位数据列表(根据主键串)
///
/// 根据主键串
///
IEnumerable GetListByPostIds(string postIds);
///
/// 获取树形结构数据
///
/// 公司主键
///
List GetTree(string companyId);
///
/// 获取单位级树形结构数据
///
///
List GetCompanyTree();
///
/// 获取项目组织树形结构数据
///
///
List GetOrganizationTree(string ProjectId);
///
/// 获取岗位实体数据
///
/// 主键
///
PostEntity GetEntity(string keyValue);
//查找具体项目下公司人员对应的岗位
DataTable GetPostByProjectId(string ProjectId);
#endregion
#region 提交数据
///
/// 虚拟删除
///
/// 主键
void VirtualDelete(string keyValue);
///
/// 保存岗位(新增、修改)
///
/// 主键值
/// 岗位实体
///
void SaveEntity(string keyValue, PostEntity postEntity);
#endregion
#region 扩展方法
///
/// 判断是否是上级
///
/// 自己的岗位
/// 对方的岗位
///
bool IsUp(string myId, string otherId);
///
/// 判断是否是下级
///
/// 自己的岗位
/// 对方的岗位
///
bool IsDown(string myId, string otherId);
///
/// 获取上级岗位人员ID
///
/// 岗位id
/// 级数
///
List GetUpIdList(string strPostIds, int level);
///
/// 获取下级岗位人员ID
///
/// 岗位id
/// 级数
///
List GetDownIdList(string strPostIds, int level);
#endregion
}
}