权限相关调整
This commit is contained in:
@@ -5,6 +5,13 @@
|
||||
/// </summary>
|
||||
public class OnboardingDepartmentService : DbRepository<ObDepartment>, IOnboardingDepartmentService
|
||||
{
|
||||
private readonly IOnboardingDataPermissionService _dataPermission;
|
||||
|
||||
public OnboardingDepartmentService(IOnboardingDataPermissionService dataPermission)
|
||||
{
|
||||
_dataPermission = dataPermission;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 分页查询入职业务部门。
|
||||
/// </summary>
|
||||
@@ -78,6 +85,10 @@ public class OnboardingDepartmentService : DbRepository<ObDepartment>, IOnboardi
|
||||
{
|
||||
NormalizeInput(input);
|
||||
var department = await Detail(new BaseIdInput { Id = input.Id });
|
||||
await _dataPermission.EnsureCanManage(
|
||||
department.CreateUserId,
|
||||
OnboardingPermissionCodes.SetupManageAll,
|
||||
"部门");
|
||||
await EnsureCompanyCanChange(department, input.CompanyId);
|
||||
await EnsureCompanyExists(input.CompanyId);
|
||||
await EnsureCodeUnique(input.CompanyId, input.DepartmentCode, input.Id);
|
||||
@@ -92,6 +103,16 @@ public class OnboardingDepartmentService : DbRepository<ObDepartment>, IOnboardi
|
||||
if (input.Ids.Count == 0)
|
||||
return;
|
||||
|
||||
var departments = await Context.Queryable<ObDepartment>()
|
||||
.Where(item => input.Ids.Contains(item.Id))
|
||||
.ToListAsync();
|
||||
if (departments.Count != input.Ids.Distinct().Count())
|
||||
throw Oops.Bah("部门不存在");
|
||||
await _dataPermission.EnsureCanManage(
|
||||
departments.Select(item => item.CreateUserId),
|
||||
OnboardingPermissionCodes.SetupManageAll,
|
||||
"部门");
|
||||
|
||||
var hasPositions = await Context.Queryable<ObPosition>()
|
||||
.AnyAsync(it => it.DepartmentId.HasValue && input.Ids.Contains(it.DepartmentId.Value));
|
||||
if (hasPositions)
|
||||
|
||||
Reference in New Issue
Block a user