⚡ 优化用户管理根据部门查询
This commit is contained in:
parent
c9d18f12cf
commit
e3517ec21c
@ -51,15 +51,9 @@ namespace ZR.Service
|
|||||||
|
|
||||||
if (user.DeptId != 0)
|
if (user.DeptId != 0)
|
||||||
{
|
{
|
||||||
List<SysDept> depts = Context.Queryable<SysDept>().ToList();
|
var allChildDepts = Context.Queryable<SysDept>().ToChildList(it => it.ParentId, user.DeptId);
|
||||||
|
|
||||||
var newDepts = depts.FindAll(delegate (SysDept dept)
|
exp.And(u => allChildDepts.Select(f => f.DeptId).ToList().Contains(u.DeptId));
|
||||||
{
|
|
||||||
string[] parentDeptId = dept.Ancestors.Split(",", StringSplitOptions.RemoveEmptyEntries);
|
|
||||||
return parentDeptId.Contains(user.DeptId.ToString());
|
|
||||||
});
|
|
||||||
string[] deptArr = newDepts.Select(x => x.DeptId.ToString()).ToArray();
|
|
||||||
exp.AndIF(user.DeptId != 0, u => u.DeptId == user.DeptId || deptArr.Contains(u.DeptId.ToString()));
|
|
||||||
}
|
}
|
||||||
var query = Queryable()
|
var query = Queryable()
|
||||||
.LeftJoin<SysDept>((u, dept) => u.DeptId == dept.DeptId)
|
.LeftJoin<SysDept>((u, dept) => u.DeptId == dept.DeptId)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user