diff --git a/Src/Dlhis.ScheduledTask/Jobs/CreateGetUploadRecordJob.cs b/Src/Dlhis.ScheduledTask/Jobs/CreateGetUploadRecordJob.cs index f62dcaee..e3da3148 100644 --- a/Src/Dlhis.ScheduledTask/Jobs/CreateGetUploadRecordJob.cs +++ b/Src/Dlhis.ScheduledTask/Jobs/CreateGetUploadRecordJob.cs @@ -32,7 +32,7 @@ public class CreateGetUploadRecordJob : BaseJob if (deviceTask == null) { - deviceTask = new DeviceTaskEntity + await DbContext.InsertAsync(new DeviceTaskEntity { DeviceUniqueNo = device.UniqueNo, Status = DeviceTaskStatusEnumType.Wait, @@ -42,9 +42,7 @@ public class CreateGetUploadRecordJob : BaseJob Type = DeviceTaskEnumType.UploadRecord, Priority = 50, Source = "定时任务创建设备获取通行记录任务" - }; - - await DbContext.InsertAsync(deviceTask); + }); } else { diff --git a/Src/Dlhis.ScheduledTask/Jobs/CreateSyncServerDateTimeJob.cs b/Src/Dlhis.ScheduledTask/Jobs/CreateSyncServerDateTimeJob.cs index 08f60d2e..493518d8 100644 --- a/Src/Dlhis.ScheduledTask/Jobs/CreateSyncServerDateTimeJob.cs +++ b/Src/Dlhis.ScheduledTask/Jobs/CreateSyncServerDateTimeJob.cs @@ -17,32 +17,45 @@ public class CreateSyncServerDateTimeJob : BaseJob protected override async Task RunAsync(IServiceProvider serviceProvider) { - var deviceUniqueNos = await DbContext.Queryable() - .Where(x => x.Status == DeviceTaskStatusEnumType.Wait || x.Status == DeviceTaskStatusEnumType.Process) - .Where(x => x.Type == DeviceTaskEnumType.SyncDateTime) - .Select(x => x.DeviceUniqueNo) - .Distinct() - .ToListAsync(); - var devices = await DbContext.Queryable() - .Where(x => !deviceUniqueNos.Contains(x.UniqueNo)) .Where(x => x.Enable) .ToListAsync(); - var tasks = devices.Select(x => new DeviceTaskEntity + foreach (var device in devices) { - DeviceUniqueNo = x.UniqueNo, - Status = DeviceTaskStatusEnumType.Wait, + var deviceTask = await DbContext.Queryable() + .Where(x => x.DeviceUniqueNo == device.UniqueNo) + .Where(x => x.Type == DeviceTaskEnumType.SyncDateTime) + .OrderByDescending(x => x.ModifiedTime) + .FirstAsync(); - TenantId = x.TenantId, - Version = 0, - UserNo = string.Empty, - Type = DeviceTaskEnumType.SyncDateTime, - DeviceType = x.Type, - Priority = 49, - Source = "定时任务创建设备同步时间任务" - }).ToList(); + if (deviceTask == null) + { + await DbContext.InsertAsync(new DeviceTaskEntity + { + DeviceUniqueNo = device.UniqueNo, + Status = DeviceTaskStatusEnumType.Wait, + TenantId = device.TenantId, + Version = 0, + UserNo = string.Empty, + Type = DeviceTaskEnumType.SyncDateTime, + DeviceType = device.Type, + Priority = 49, + Source = "定时任务创建设备同步时间任务" + }); + } + else + { + if (deviceTask.Status == DeviceTaskStatusEnumType.Success) + { + deviceTask.Status = DeviceTaskStatusEnumType.Wait; + deviceTask.Version = 0; + deviceTask.CreateTime = DateTime.Now; + deviceTask.ModifiedTime = DateTime.Now; - await DbContext.InsertAsync(tasks); + await DbContext.UpdateAsync(deviceTask); + } + } + } } } \ No newline at end of file diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs index 7e0bf49d..36e98b17 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs @@ -241,7 +241,7 @@ public class AssignmentService : IAssignmentService private async Task> GetDataAsync(DeviceTaskGetRequest request) { - var limitTime = DateTime.Now.AddDays(-5); + var limitTime = DateTime.Now.AddDays(-3); var data = await CommonHelper.RetryAsync(async () => { diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs index 368d0bc0..d8b3ab34 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs @@ -106,7 +106,7 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService public async Task> GetPageWarningAsync(DeviceTaskAssignmentRequest request) { - var limitTime = DateTime.Now.AddDays(-5); + var limitTime = DateTime.Now.AddDays(-3); var page = await _dbContext.Queryable() .LeftJoin((deviceTask, device) => deviceTask.DeviceUniqueNo == device.UniqueNo)