/// <summary>
/// 查询所有部门和人员树形数据
/// </summary>
public class Tree
{
public long? id { get; set; }
public string label { get; set; }
public List<Tree> children { get; set; }
}
/// <summary>
/// 查询所有部门和人员树形数据
/// </summary>
/// <returns></returns>
public List<Tree> GetDepartmentUserTree()
{
var DepartmentIdList = _repository.Change<Department>().AsQueryable().ToList();
return CreateTree(DepartmentIdList, 0);
}
public List<Tree> CreateTree(List<Department> DepartmentIdList, long? ParentId)
{
List<Tree> nodes = new List<Tree>();
var children = DepartmentIdList.Where(p => p.ParentId == ParentId).ToList();
foreach (var item in children)
{
Tree tree = new Tree();
tree.id = item.Id;
tree.label = item.Name;
if (item.HasChildren == 1)
{
List<Tree> tr = CreateTree(DepartmentIdList, item.Id);
tree.children = tr;
nodes.Add(tree);
}
else
{
if (_repository.Change<SystemUser>().Where(d => d.DepartmentId == item.Id).Count() > 0)
{
tree.children = new List<Tree>();
var userlist = _repository.Change<SystemUser>().Where(d => d.DepartmentId == item.Id).ToList();
foreach (var u in userlist)
{
tree.children.Add(new Tree { id = u.Id, label = u.Name, children = new List<Tree>() });
}
nodes.Add(tree);
}
else
{
tree.children = new List<Tree>();
nodes.Add(tree);
}
}
}
return nodes;
}
/// <summary>
/// 部门
/// </summary>
[Table("department")]
public class Department : EntityBase
{
/// <summary>
/// 名称
/// </summary>
/// <value></value>
[Column("name")]
public string Name { get; set; }
/// <summary>
/// 上级部门编号
/// </summary>
/// <value></value>
[Column("parent_id")]
public long? ParentId { get; set; }
/// <summary>
/// 下级部门编号
/// </summary>
/// <value></value>
[Column("superior_id")]
public string SuperiorId { get; set; }
/// <summary>
/// 部门负责人
/// </summary>
[Column("principal")]
public long? Principal { get; set; }
/// <summary>
/// 部门负责人姓名
/// </summary>
[Column("principal_name")]
public string PrincipalName { get; set; }
/// <summary>
/// 状态 1-启用 2-停用
/// </summary>
[Column("status")]
public int Status { get; set; }
/// <summary>
/// 顺序
/// </summary>
/// <value></value>
[Column("sort")]
public int? Sort { get; set; }
/// <summary>
/// 是否有子项 1-有 2-无
/// </summary>
[Column("has_children")]
public int? HasChildren { get; set; }
}
/// <summary>
/// 系统用户
/// </summary>
[Table("system_user")]
public class SystemUser : EntityBase
{
/// <summary>
/// 用户名
/// </summary>
[Column("user_name")]
public string UserName { get; set; }
/// <summary>
/// 密码
/// </summary>
[Column("password")]
public string Password { get; set; }
/// <summary>
/// 姓名
/// </summary>
[Column("name")]
public string Name { get; set; }
/// <summary>
/// 部门名称
/// </summary>
/// <value></value>
[Column("department_name")]
public string DepartmentName { get; set; }
/// <summary>
/// 部门编号
/// </summary>
/// <value></value>
[Column("department_id")]
public long? DepartmentId { get; set; }
/// <summary>
/// 角色名称
/// </summary>
/// <value></value>
[Column("role_name")]
public string RoleName { get; set; }
/// <summary>
/// 角色编号
/// </summary>
/// <value></value>
[Column("role_id")]
public long? RoleId { get; set; }
/// <summary>
/// 职务名称
/// </summary>
/// <value></value>
[Column("position_name")]
public string PositionName { get; set; }
/// <summary>
/// 职位编号
/// </summary>
/// <value></value>
[Column("position_id")]
public long? PositionId { get; set; }
/// <summary>
/// 最后登录时间
/// </summary>
/// <value></value>
[Column("last_login_time")]
public long? LastLoginTime { get; set; }
/// <summary>
/// 状态 1-正常 2-停用
/// </summary>
[Column("status")]
public int? Status { get; set; }
}