指定机构查询用户时包含拥有扩展机构的用户
This commit is contained in:
parent
4338c38ea6
commit
076985c76f
@ -63,9 +63,12 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
// 获取用户拥有的机构集合
|
||||
var userOrgIdList = await _sysOrgService.GetUserOrgIdList();
|
||||
List<long> orgList = null;
|
||||
List<long> extOrgUserIdList = null;
|
||||
if (input.OrgId > 0) // 指定机构查询时
|
||||
{
|
||||
orgList = await _sysOrgService.GetChildIdListWithSelfById(input.OrgId);
|
||||
var extOrgList = await _sysUserExtOrgService.GetUserExtOrgListForOrg(input.OrgId);
|
||||
extOrgUserIdList = extOrgList.Select(u => u.UserId).ToList();
|
||||
orgList = _userManager.SuperAdmin ? orgList : orgList.Where(u => userOrgIdList.Contains(u)).ToList();
|
||||
}
|
||||
else // 各管理员只能看到自己机构下的用户列表
|
||||
@ -77,7 +80,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
.LeftJoin<SysOrg>((u, a) => u.OrgId == a.Id)
|
||||
.LeftJoin<SysPos>((u, a, b) => u.PosId == b.Id)
|
||||
.Where(u => u.AccountType != AccountTypeEnum.SuperAdmin)
|
||||
.WhereIF(orgList != null, u => orgList.Contains(u.OrgId))
|
||||
.WhereIF(orgList != null || extOrgUserList != null, u => orgList.Contains(u.OrgId) || extOrgUserList.Contains(u.Id))
|
||||
.WhereIF(!string.IsNullOrWhiteSpace(input.Account), u => u.Account.Contains(input.Account))
|
||||
.WhereIF(!string.IsNullOrWhiteSpace(input.RealName), u => u.RealName.Contains(input.RealName))
|
||||
.WhereIF(!string.IsNullOrWhiteSpace(input.PosName), (u, a, b) => b.Name.Contains(input.PosName))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user