fix 优化同步速度

This commit is contained in:
2024-12-25 15:10:10 +08:00
parent 27ea53134c
commit 3586a456d2
2 changed files with 48 additions and 51 deletions

View File

@@ -125,12 +125,12 @@ public class MyDataPermissionService : IDataPermissionService
{
var codes = new List<Guid>();
var disableFilter = _currentUser.GetRole() is "admin" or "tenant-admin";
if (!disableFilter)
var hasAllPermission = _currentUser.GetRole() is "admin" or "tenant-admin";
if (!hasAllPermission)
{
codes = _getDataPermissions.GetData<DeviceGroupEntity>().FirstOrDefault().Value ?? new List<Guid>();
}
return (!disableFilter, codes);
return (!hasAllPermission, codes);
}
}

View File

@@ -1,7 +1,7 @@
using Dlhis.Basic.Device.Services;
using Dlhis.Basic.Organization.Comparers;
using Dlhis.Basic.Organization.Comparers;
using Dlhis.Entity.Basic.Entity;
using Dlhis.Entity.Basic.Enums;
using Dlhis.Entity.Device.Enums;
using Dlhis.Entity.Sys.Entities;
using Dlhis.Entity.Sys.Enums;
using Dlhis.Jip.Api.Dto;
@@ -18,7 +18,7 @@ public class GainfoUpdateService : IGainfoUpdateService
private readonly ILogger<GainfoUpdateService> _logger;
private readonly ITenantApi _tenantApi;
private readonly IJinkoSapService _jinkoSapService;
private readonly IDevicePermissionAnalyzeService _devicePermissionAnalyzeService;
private readonly IGainfoPermissionService _gainfoPermissionService;
private readonly IIdentityUserSyncService _identityUserSyncService;
private List<TenantResponse> _tenants;
@@ -27,7 +27,7 @@ public class GainfoUpdateService : IGainfoUpdateService
ILogger<GainfoUpdateService> logger,
ITenantApi tenantApi,
IJinkoSapService jinkoSapService,
IDevicePermissionAnalyzeService devicePermissionAnalyzeService,
IGainfoPermissionService gainfoPermissionService,
IIdentityUserSyncService identityUserSyncService)
{
_dbContext = dbContext;
@@ -35,7 +35,7 @@ public class GainfoUpdateService : IGainfoUpdateService
_logger = logger;
_tenantApi = tenantApi;
_jinkoSapService = jinkoSapService;
_devicePermissionAnalyzeService = devicePermissionAnalyzeService;
_gainfoPermissionService = gainfoPermissionService;
_identityUserSyncService = identityUserSyncService;
}
@@ -170,12 +170,11 @@ public class GainfoUpdateService : IGainfoUpdateService
var info = GainfoSapToGainfo(item);
if (item.isowner == "T")
{
await _devicePermissionAnalyzeService.GenerateDeviceTasksAsync(async () =>
{
await _dbContext.InsertAsync(info);
await _identityUserSyncService.SyncAccountAsync(info.Code, info.Name, info.IdNo, info.Factory);
}, new List<string> { info.No }, "入职生成");
await _gainfoPermissionService.ResetPermissionsAsync(info.No, DeviceTaskEnumType.Add, null, "入职生成");
}
else
{
@@ -259,8 +258,6 @@ public class GainfoUpdateService : IGainfoUpdateService
if (gainfo != null)
{
if (item.isowner == "T")
{
await _devicePermissionAnalyzeService.GenerateDeviceTasksAsync(async () =>
{
await _dbContext.Updateable<GainfoEntity>().SetColumns(g => new GainfoEntity
{
@@ -283,15 +280,16 @@ public class GainfoUpdateService : IGainfoUpdateService
}).Where(x => x.Code == item.ename).ExecuteCommandAsync();
await _identityUserSyncService.SyncAccountAsync(gainfo.Code, gainfo.Name, gainfo.IdNo, factory);
}, new List<string> { gainfo.No }, "人员数据变更");
await _gainfoPermissionService.ResetPermissionsAsync(info.No, DeviceTaskEnumType.Update, null, "人员数据变更");
}
else
{
await _dbContext.Client.Ado.BeginTranAsync();
try
{
await _devicePermissionAnalyzeService.GenerateDeviceTasksAsync(async () =>
{
await _gainfoPermissionService.ResetPermissionsAsync(info.No, DeviceTaskEnumType.Delete, null, "人员离职生成");
//先写入离职表
gainfo.IdentityUserId = (int)gainfo.Id; //记录原始id
gainfo.Id = 0;
@@ -307,7 +305,6 @@ public class GainfoUpdateService : IGainfoUpdateService
gainfo.Id = gainfo.IdentityUserId;
await _dbContext.DeleteReallyAsync(gainfo);
}, new List<string> { gainfo.No }, "人员离职生成");
await _dbContext.Client.Ado.CommitTranAsync();
}