diff --git a/Src/Dlhis.Basic/Appointment/Services/Implements/AppointmentService.cs b/Src/Dlhis.Basic/Appointment/Services/Implements/AppointmentService.cs index c34e9e0f..6e09aaeb 100644 --- a/Src/Dlhis.Basic/Appointment/Services/Implements/AppointmentService.cs +++ b/Src/Dlhis.Basic/Appointment/Services/Implements/AppointmentService.cs @@ -27,28 +27,28 @@ public class AppointmentService : IAppointmentService private readonly IDataProtectionProvider _dataProtectionProvider; private readonly ICurrentUser _currentUser; private readonly IDhApi _dhApi; - private readonly IGainfoService _gainfoService; private readonly IFactorySettingService _factorySettingService; private readonly ILogger _logger; private readonly IGainfoFaceService _gainfoFaceService; + private readonly IServiceProvider _serviceProvider; public AppointmentService(IDbContext dbContext, IDataProtectionProvider dataProtectionProvider, ICurrentUser currentUser, IDhApi dhApi, - IGainfoService gainfoService, IFactorySettingService factorySettingService, IGainfoFaceService gainfoFaceService, + IServiceProvider serviceProvider, ILogger logger) { _dbContext = dbContext; _dataProtectionProvider = dataProtectionProvider; _currentUser = currentUser; _dhApi = dhApi; - _gainfoService = gainfoService; _factorySettingService = factorySettingService; _logger = logger; _gainfoFaceService = gainfoFaceService; + _serviceProvider = serviceProvider; } public async Task> GetPageAsync(AppointmentPageRequest request) @@ -330,6 +330,9 @@ public class AppointmentService : IAppointmentService //0001/1/1 0:00:00 var nullDateTime = new DateTime(1, 1, 1); + //todo 临时处理循环依赖 + var gainfoService = _serviceProvider.GetService(); + foreach (var grp in outsources.GroupBy(x => x.Factory)) { var setting = settings.First(x => x.Factory == grp.Key); @@ -352,7 +355,7 @@ public class AppointmentService : IAppointmentService { try { - await _gainfoService.ResignAsync(new GainfoResignRequest + await gainfoService.ResignAsync(new GainfoResignRequest { Id = outsource.Id, Reason = $"{setting.NoRecordAutoResignExternalDays}天无通行记录",