update 规范化所有区域相关字段
This commit is contained in:
@@ -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]
|
||||||
|
|||||||
@@ -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>
|
||||||
/// 多对多(用户)
|
/// 多对多(用户)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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; }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user