feature:根据区域获取授权数据

This commit is contained in:
2021-04-27 10:21:25 +08:00
parent d62ca5759b
commit d93ca8b235
18 changed files with 15248 additions and 55 deletions

View File

@@ -18,9 +18,10 @@ namespace Ewide.Core.Service
/// <summary>
/// 根据区域信息获取单位id
/// </summary>
/// <param name="dataScopeType">代表区域范围的类型</param>
/// <param name="areaNumberCode">区域代码</param>
/// <returns></returns>
Task<List<string>> GetAreaDataScopeIdList(string areaNumberCode);
Task<List<string>> GetAreaDataScopeIdList(int dataScopeType,string areaNumberCode);
/// <summary>
/// 当前区域信息不包括子区域
/// </summary>

View File

@@ -346,11 +346,15 @@ namespace Ewide.Core.Service
return await App.GetService<ISysUserService>().GetUserDataScopeIdList();
}
public async Task<List<string>> GetAreaDataScopeIdList(string areaNumberCode)
public async Task<List<string>> GetAreaDataScopeIdList(int dataScopeType, string orgId)
{
return await _sysOrgRep.DetachedEntities.Where(p => p.AreaNumberCode.StartsWith(areaNumberCode)).Select(p=>p.Id).ToListAsync();
var org = await _sysOrgRep.FirstOrDefaultAsync(o => o.Id == orgId);
if (dataScopeType == (int)DataScopeType.AREA_WITH_CHILD)
return await _sysOrgRep.DetachedEntities.Where(p => p.AreaNumberCode.StartsWith(org.Code)).Select(p => p.Id).ToListAsync();
if (dataScopeType == (int)DataScopeType.AREA)
return await _sysOrgRep.DetachedEntities.Where(p => p.AreaNumberCode == org.Code).Select(p => p.Id).ToListAsync();
return new List<string>();
}
public async Task<List<string>> GetAreaDataScopeIdListWithoutChildrenArea(string areaNumberCode)
{
return await _sysOrgRep.DetachedEntities.Where(p => p.AreaNumberCode == areaNumberCode).Select(p => p.Id).ToListAsync();