update 规范化所有区域相关字段

This commit is contained in:
2021-04-30 10:53:38 +08:00
parent 73001d5f8a
commit 2cdf62eeb5
13 changed files with 33 additions and 34 deletions

View File

@@ -15,12 +15,12 @@ namespace Ewide.Core
public class SysAreaCode: IEntity public class SysAreaCode: IEntity
{ {
[Key] [Key]
[Comment("系统使用的区域码")] [Comment("系统使用的区域码")]
[MaxLength(50)] [MaxLength(50)]
public string Code { get; set; } public string Code { get; set; }
[Comment("对外使用的区域代码")] [Comment("区域的行政编码")]
[MaxLength(50)] [MaxLength(50)]
public string ShowCode { get; set; } public string AdCode { get; set; }
[Comment("名称")] [Comment("名称")]
[Required] [Required]

View File

@@ -67,12 +67,13 @@ namespace Ewide.Core
[Comment("状态")] [Comment("状态")]
public CommonStatus Status { get; set; } = CommonStatus.ENABLE; public CommonStatus Status { get; set; } = CommonStatus.ENABLE;
[Comment("组织所在区域代码")]
public string AreaNumberCode { get; set; } public string AreaCode { get; set; }
/// <summary> /// <summary>
/// 一对一 一个组织对应一个区域代码 /// 一对一 一个组织对应一个区域代码
/// </summary> /// </summary>
public SysAreaCode AreaCode { get; set; } public SysAreaCode Area { get; set; }
/// <summary> /// <summary>
/// 多对多(用户) /// 多对多(用户)

View File

@@ -104,11 +104,11 @@ namespace Ewide.Core
entityBuilder.HasMany(p => p.AreaCodes) entityBuilder.HasMany(p => p.AreaCodes)
.WithMany(p => p.SysRoles) .WithMany(p => p.SysRoles)
.UsingEntity<SysRoleArea>( .UsingEntity<SysRoleArea>(
u => u.HasOne(c => c.AreaCode).WithMany(c => c.SysRoleAreas).HasForeignKey(c => c.AreaNumberCode), u => u.HasOne(c => c.Area).WithMany(c => c.SysRoleAreas).HasForeignKey(c => c.AreaCode),
u => u.HasOne(c => c.SysRole).WithMany(c => c.SysRoleAreas).HasForeignKey(c => c.SysRoleId), u => u.HasOne(c => c.SysRole).WithMany(c => c.SysRoleAreas).HasForeignKey(c => c.SysRoleId),
u => u =>
{ {
u.HasKey(c => new { c.SysRoleId, c.AreaNumberCode }); u.HasKey(c => new { c.SysRoleId, c.AreaCode });
}); });
entityBuilder.HasMany(p => p.SysMenus) entityBuilder.HasMany(p => p.SysMenus)
.WithMany(p => p.SysRoles) .WithMany(p => p.SysRoles)

View File

@@ -18,13 +18,11 @@ namespace Ewide.Core
/// 角色Id /// 角色Id
/// </summary> /// </summary>
[Comment("角色Id")] [Comment("角色Id")]
[Column("SysRoleId", TypeName = "varchar(36)")]
public string SysRoleId { get; set; } public string SysRoleId { get; set; }
public SysRole SysRole { get; set; } public SysRole SysRole { get; set; }
[Comment("系统使用的区域代码")] [Comment("系统使用的区域代码")]
[MaxLength(10)] public string AreaCode { get; set; }
public string AreaNumberCode { get; set; } public SysAreaCode Area { get; set; }
public SysAreaCode AreaCode { get; set; }
} }
} }

View File

@@ -156,11 +156,11 @@ namespace Ewide.Core
u.HasKey(c => new { c.SysUserId, c.SysOrgId }); u.HasKey(c => new { c.SysUserId, c.SysOrgId });
}); });
entityBuilder.HasMany(p => p.AreaCodes).WithMany(p => p.SysUsers).UsingEntity<SysUserArea>( entityBuilder.HasMany(p => p.AreaCodes).WithMany(p => p.SysUsers).UsingEntity<SysUserArea>(
u => u.HasOne(c => c.AreaCode).WithMany(c => c.SysUserAreas).HasForeignKey(c => c.AreaNumberCode), u => u.HasOne(c => c.Area).WithMany(c => c.SysUserAreas).HasForeignKey(c => c.AreaCode),
u => u.HasOne(c => c.SysUser).WithMany(c => c.SysUserAreas).HasForeignKey(c => c.SysUserId), u => u.HasOne(c => c.SysUser).WithMany(c => c.SysUserAreas).HasForeignKey(c => c.SysUserId),
u => u =>
{ {
u.HasKey(c => new { c.SysUserId, c.AreaNumberCode }); u.HasKey(c => new { c.SysUserId, c.AreaCode });
}); });
} }
} }

View File

@@ -18,7 +18,7 @@ namespace Ewide.Core
public SysUser SysUser { get; set; } public SysUser SysUser { get; set; }
[Comment("系统使用的区域代码")] [Comment("系统使用的区域代码")]
[MaxLength(10)] [MaxLength(10)]
public string AreaNumberCode { get; set; } public string AreaCode { get; set; }
public SysAreaCode AreaCode { get; set; } public SysAreaCode Area { get; set; }
} }
} }

View File

@@ -1353,7 +1353,7 @@
状态(字典 0正常 1停用 2删除 状态(字典 0正常 1停用 2删除
</summary> </summary>
</member> </member>
<member name="P:Ewide.Core.SysOrg.AreaCode"> <member name="P:Ewide.Core.SysOrg.Area">
<summary> <summary>
一对一 一个组织对应一个区域代码 一对一 一个组织对应一个区域代码
</summary> </summary>

View File

@@ -14,9 +14,9 @@ namespace Ewide.Core
{ {
return new[] return new[]
{ {
new SysAreaCode{Code="3302",ShowCode="3302",Name="XX市",Note="XX市",LevelType=1,Sort=0 }, new SysAreaCode{Code="3302",AdCode="3302",Name="XX市",Note="XX市",LevelType=1,Sort=0 },
new SysAreaCode{Code="330266",ShowCode="330266",Name="测试区",Note="测试区",LevelType=2,Sort=100 }, new SysAreaCode{Code="330266",AdCode="330266",Name="测试区",Note="测试区",LevelType=2,Sort=100 },
new SysAreaCode{Code="330266001",ShowCode="330266001",Name="测试街道",Note="测试街道",LevelType=3,Sort=0}, new SysAreaCode{Code="330266001",AdCode="330266001",Name="测试街道",Note="测试街道",LevelType=3,Sort=0},
}; };
} }
} }

View File

@@ -43,7 +43,7 @@ namespace Ewide.Core.Service.Area
public async Task DeleteAreaCode(DeleteAreaCodeInput input) public async Task DeleteAreaCode(DeleteAreaCodeInput input)
{ {
var AreaCode = await _areaCodeRep.FirstOrDefaultAsync(p => p.Code == input.Code); var AreaCode = await _areaCodeRep.FirstOrDefaultAsync(p => p.Code == input.Code);
if (await _sysOrgRep.DetachedEntities.AnyAsync(o => o.AreaNumberCode == input.Code)) if (await _sysOrgRep.DetachedEntities.AnyAsync(o => o.AreaCode == input.Code))
{ {
throw Oops.Oh("不能删除已包含区域的组织"); throw Oops.Oh("不能删除已包含区域的组织");
} }
@@ -97,7 +97,7 @@ namespace Ewide.Core.Service.Area
var AreaCodes = await _areaCodeRep.DetachedEntities var AreaCodes = await _areaCodeRep.DetachedEntities
.Where(input.LevelType.HasValue, a => a.LevelType == input.LevelType) .Where(input.LevelType.HasValue, a => a.LevelType == input.LevelType)
.Where(!string.IsNullOrEmpty(input.Code), a => a.Code.StartsWith(input.Code)) .Where(!string.IsNullOrEmpty(input.Code), a => a.Code.StartsWith(input.Code))
.Where(!string.IsNullOrEmpty(input.ShowCode), a => a.ShowCode.StartsWith(input.ShowCode)) .Where(!string.IsNullOrEmpty(input.ShowCode), a => a.AdCode.StartsWith(input.ShowCode))
.Where(!string.IsNullOrEmpty(input.Name), a => a.Name.StartsWith(input.Name)) .Where(!string.IsNullOrEmpty(input.Name), a => a.Name.StartsWith(input.Name))
.ToPageData(input); .ToPageData(input);
return XnPageResult<SysAreaCode>.PageResult(AreaCodes); return XnPageResult<SysAreaCode>.PageResult(AreaCodes);

View File

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

View File

@@ -21,7 +21,7 @@ namespace Ewide.Core.Service.Role
public async Task DeleteRoleAreaListByAreaCodeList(List<string> areaCodeList) public async Task DeleteRoleAreaListByAreaCodeList(List<string> areaCodeList)
{ {
var dataScopes = await _sysRoleAreaRep.DetachedEntities.Where(u => areaCodeList.Contains(u.AreaNumberCode)).ToListAsync(); var dataScopes = await _sysRoleAreaRep.DetachedEntities.Where(u => areaCodeList.Contains(u.AreaCode)).ToListAsync();
dataScopes.ForEach(u => dataScopes.ForEach(u =>
{ {
u.Delete(); u.Delete();
@@ -39,7 +39,7 @@ namespace Ewide.Core.Service.Role
public async Task<List<string>> GetRoleAreaCodeList(List<string> roleIdList) public async Task<List<string>> GetRoleAreaCodeList(List<string> roleIdList)
{ {
return await _sysRoleAreaRep.DetachedEntities.Where(u => roleIdList.Contains(u.SysRoleId)).Select(u=>u.AreaNumberCode).Distinct().ToListAsync(); return await _sysRoleAreaRep.DetachedEntities.Where(u => roleIdList.Contains(u.SysRoleId)).Select(u=>u.AreaCode).Distinct().ToListAsync();
} }
@@ -56,7 +56,7 @@ namespace Ewide.Core.Service.Role
new SysRoleArea new SysRoleArea
{ {
SysRoleId = input.Id, SysRoleId = input.Id,
AreaNumberCode = u AreaCode = u
}.Insert(); }.Insert();
}); });
} }

View File

@@ -22,7 +22,7 @@ namespace Ewide.Core.Service.User
public async Task DeleteUserAreaListByAreaCodeList(List<string> areaCodeList) public async Task DeleteUserAreaListByAreaCodeList(List<string> areaCodeList)
{ {
var areaList = await _sysUserAreaRep.DetachedEntities.Where(ua => areaCodeList.Contains(ua.AreaNumberCode)).ToListAsync(); var areaList = await _sysUserAreaRep.DetachedEntities.Where(ua => areaCodeList.Contains(ua.AreaCode)).ToListAsync();
foreach (var area in areaList) foreach (var area in areaList)
{ {
area.Delete(); area.Delete();
@@ -40,7 +40,7 @@ namespace Ewide.Core.Service.User
public async Task<List<string>> GetUserAreaIdList(string userId) public async Task<List<string>> GetUserAreaIdList(string userId)
{ {
return await _sysUserAreaRep.DetachedEntities.Where(ua => ua.SysUserId == userId).Select(ua => ua.AreaNumberCode).ToListAsync(); return await _sysUserAreaRep.DetachedEntities.Where(ua => ua.SysUserId == userId).Select(ua => ua.AreaCode).ToListAsync();
} }
public async Task GrantData(UpdateUserInput input) public async Task GrantData(UpdateUserInput input)
@@ -56,7 +56,7 @@ namespace Ewide.Core.Service.User
new SysUserArea new SysUserArea
{ {
SysUserId = input.Id, SysUserId = input.Id,
AreaNumberCode = u AreaCode = u
}.Insert(); }.Insert();
}); });
} }

View File

@@ -56,7 +56,7 @@ namespace Ewide.Core.Service
new SysUserArea new SysUserArea
{ {
SysUserId = input.Id, SysUserId = input.Id,
AreaNumberCode = u AreaCode = u
}.Insert(); }.Insert();
}); });
@@ -70,12 +70,12 @@ namespace Ewide.Core.Service
/// <returns></returns> /// <returns></returns>
public async Task<List<string>> GetUserDataScopeIdList(string userId) public async Task<List<string>> GetUserDataScopeIdList(string userId)
{ {
var areaList = await _sysUserAreaRep.DetachedEntities.Where(u => u.SysUserId == userId).Select(u => u.AreaNumberCode).ToListAsync(); var areaList = await _sysUserAreaRep.DetachedEntities.Where(u => u.SysUserId == userId).Select(u => u.AreaCode).ToListAsync();
//用户自定义的区域权限所对应的全部组织机构id //用户自定义的区域权限所对应的全部组织机构id
List<string> areaDataScopeIdList = new List<string>(); List<string> areaDataScopeIdList = new List<string>();
foreach (var areaNumberCode in areaList) foreach (var areaNumberCode in areaList)
{ {
areaDataScopeIdList.AddRange(await _sysOrgRep.DetachedEntities.Where(p => p.AreaNumberCode == areaNumberCode).Select(p => p.Id).ToListAsync()); areaDataScopeIdList.AddRange(await _sysOrgRep.DetachedEntities.Where(p => p.AreaCode == areaNumberCode).Select(p => p.Id).ToListAsync());
} }
//用户自定义的组织权限 //用户自定义的组织权限
var orgIdList = await _sysUserDataScopeRep.DetachedEntities var orgIdList = await _sysUserDataScopeRep.DetachedEntities