From 5057d88b7e043b6c36995c6d42416e207ef04f05 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 1 Jul 2025 10:18:51 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=A2=9E=E5=8A=A07=E5=A4=A9=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/Implements/AssignmentService.cs | 11 ++++++++--- .../Implements/DeviceTaskAssignmentService.cs | 4 +++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs index 2d1a22e8..ff7a2ec1 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs @@ -241,6 +241,8 @@ public class AssignmentService : IAssignmentService private async Task> GetDataAsync(DeviceTaskGetRequest request) { + var limitTime = DateTime.Now.AddDays(-7); + var data = await CommonHelper.RetryAsync(async () => { var rows = await _dbContext.Queryable() @@ -249,13 +251,16 @@ public class AssignmentService : IAssignmentService .LeftJoin((deviceTask, device, ga, gaLeave) => deviceTask.UserNo == gaLeave.No) .LeftJoin((deviceTask, device, ga, gaLeave, department) => department.No == ga.DepartmentNo) .LeftJoin((deviceTask, device, ga, gaLeave, department, deviceRegistry) => deviceRegistry.DeviceUniqueNo == deviceTask.DeviceUniqueNo) - .Where((deviceTask, device) => device.Enable) + .WhereIF(request.DeviceUniqueNo.IsPresent(), (deviceTask, device) => + deviceTask.DeviceUniqueNo == request.DeviceUniqueNo && + deviceTask.CreateTime >= limitTime && + device.Enable && + deviceTask.Version < 10 + ) .WhereIF(!request.IsProcess, deviceTask => deviceTask.Status == DeviceTaskStatusEnumType.Wait) .WhereIF(request.IsProcess, deviceTask => deviceTask.Status == DeviceTaskStatusEnumType.Process && SqlFunc.DateDiff(DateType.Minute, deviceTask.ModifiedTime, DateTime.Now) > 10) - .WhereIF(request.DeviceUniqueNo.IsPresent(), (deviceTask, device) => deviceTask.DeviceUniqueNo == request.DeviceUniqueNo) .WhereIF(request.Types.IsPresent(), deviceTask => request.Types.Contains(deviceTask.Type)) - .Where((deviceTask, device) => deviceTask.Version < 10) #if !DEBUG .Where((deviceTask, device, ga, gaLeave, department, deviceRegistry) => device.HeartbeatInterval == 0 || SqlFunc.DateAdd(deviceRegistry.LastHeartbeatTime, device.HeartbeatInterval, DateType.Second) > DateTime.Now) diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs index 4d9ed971..18423b25 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs @@ -106,6 +106,8 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService public async Task> GetPageWarningAsync(DeviceTaskAssignmentRequest request) { + var limitTime = DateTime.Now.AddDays(-7); + var page = await _dbContext.Queryable() .LeftJoin((deviceTask, device) => deviceTask.DeviceUniqueNo == device.UniqueNo) .LeftJoin((deviceTask, device, ga) => deviceTask.UserNo == ga.No) @@ -119,7 +121,7 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService || ga.Code == request.Search || deviceTask.DeviceUniqueNo == request.Search ) - .Where(deviceTask => deviceTask.Version >= 10) + .Where(deviceTask => deviceTask.Version >= 10 || deviceTask.CreateTime < limitTime) .OrderBy(deviceTask => deviceTask.ModifiedTime, OrderByType.Desc) .Select((deviceTask, device, ga, gaLeave, deviceRegistry) => new DeviceTaskAssignmentResponse {