From 249f26fc601ac0682461827afef576dd5247b72b Mon Sep 17 00:00:00 2001 From: liguoyang Date: Thu, 12 Jun 2025 12:10:53 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BC=98=E5=8C=96=E8=8E=B7=E5=8F=96raise?= =?UTF-8?q?DateTime=3F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/Implements/AppointmentService.cs | 16 ++++++---------- .../Implements/GainfoOutsourceService.cs | 12 ++++-------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/Src/Dlhis.Basic/Appointment/Services/Implements/AppointmentService.cs b/Src/Dlhis.Basic/Appointment/Services/Implements/AppointmentService.cs index 61ca2bbd..ea7b561d 100644 --- a/Src/Dlhis.Basic/Appointment/Services/Implements/AppointmentService.cs +++ b/Src/Dlhis.Basic/Appointment/Services/Implements/AppointmentService.cs @@ -354,33 +354,29 @@ public class AppointmentService : IAppointmentService .ToListAsync(); var settings = await _factorySettingService.GetListAsync(false); - //0001/1/1 0:00:00 - var nullDateTime = new DateTime(1, 1, 1); //todo 临时处理循环依赖 var gainfoService = _serviceProvider.GetService(); //人员分组,key为factory - foreach (var grp in externals.GroupBy(x => x.Factory)) + foreach (var exts in externals.GroupBy(x => x.Factory)) { //factory的设置 - var setting = settings.First(x => x.Factory == grp.Key); + var setting = settings.First(x => x.Factory == exts.Key); if (setting.NoRecordAutoResignExternalDays == 0) { continue; } - foreach (var ext in grp) + foreach (var ext in exts) { - var raiseDateTime = await _dbContext.Queryable() + DateTime? raiseDateTime = await _dbContext.Queryable() .Where(x => x.UserUniqueNo == ext.Code) .GroupBy(x => x.UserUniqueNo) - .Select(x => SqlFunc.IsNull(SqlFunc.AggregateMax(x.RaiseDateTime), ext.CreateTime)) + .Select(x => SqlFunc.IsNull(SqlFunc.AggregateMax(x.RaiseDateTime), default(DateTime?))) .SingleAsync(); - raiseDateTime = raiseDateTime == nullDateTime ? ext.CreateTime : raiseDateTime; - - if (raiseDateTime.AddDays(setting.NoRecordAutoResignExternalDays) < DateTime.Now) + if (raiseDateTime.HasValue && raiseDateTime.Value.AddDays(setting.NoRecordAutoResignExternalDays) < DateTime.Now) { try { diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs index 26b76f4a..93bdb9f9 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs @@ -120,8 +120,6 @@ public class GainfoOutsourceService : IGainfoOutsourceService .ToListAsync(); var settings = await _factorySettingService.GetListAsync(false); - //0001/1/1 0:00:00 - var nullDateTime = new DateTime(1, 1, 1); foreach (var grp in outsources.GroupBy(x => x.Factory)) { @@ -133,16 +131,14 @@ public class GainfoOutsourceService : IGainfoOutsourceService foreach (var outsource in grp) { - var raiseDateTime = await _dbContext.Queryable() + DateTime? raiseDateTime = await _dbContext.Queryable() .Where(x => x.UserUniqueNo == outsource.Code) - .Where(x => x.TenantId == grp.Key)//本厂区的 + .Where(x => x.TenantId == grp.Key) //本厂区的 .GroupBy(x => x.UserUniqueNo) - .Select(x => SqlFunc.IsNull(SqlFunc.AggregateMax(x.RaiseDateTime), outsource.CreateTime)) + .Select(x => SqlFunc.IsNull(SqlFunc.AggregateMax(x.RaiseDateTime), default(DateTime?))) .SingleAsync(); - raiseDateTime = raiseDateTime == nullDateTime ? outsource.CreateTime : raiseDateTime; - - if (raiseDateTime.AddDays(setting.NoRecordAutoResignOutsourceDays) < DateTime.Now) + if (raiseDateTime.HasValue && raiseDateTime.Value.AddDays(setting.NoRecordAutoResignOutsourceDays) < DateTime.Now) { try {