From cdb39dc424165d393afac89a46fd1ac1104699da Mon Sep 17 00:00:00 2001 From: liguoyang Date: Fri, 25 Jul 2025 14:41:53 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E9=87=8D=E7=BD=AE=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BA=E9=87=8D=E6=96=B0=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeviceTaskAssignmentsController.cs | 1 + .../Services/IDeviceTaskAssignmentService.cs | 1 - .../Implements/DeviceTaskAssignmentService.cs | 17 +++++++---------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/DeviceTaskAssignmentsController.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/DeviceTaskAssignmentsController.cs index 7e9c6d30..a2ad5146 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/DeviceTaskAssignmentsController.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Controllers/DeviceTaskAssignmentsController.cs @@ -52,6 +52,7 @@ public class DeviceTaskAssignmentsController : ControllerBase /// /// [HttpPost("reset")] + [Transactional] public async Task ResetAsync(DeviceTaskResetRequest request) { await _deviceTaskAssignmentService.ResetAsync(request); diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/IDeviceTaskAssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/IDeviceTaskAssignmentService.cs index 85af7824..c16e56ce 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/IDeviceTaskAssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/IDeviceTaskAssignmentService.cs @@ -10,7 +10,6 @@ public interface IDeviceTaskAssignmentService : IScopeDependency Task> GetPageWarningAsync(DeviceTaskAssignmentRequest request); - Task ResetAsync(DeviceTaskResetRequest request); } diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs index d8b3ab34..4a9ddd27 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs @@ -185,22 +185,19 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService { var tasks = await _dbContext.Queryable() .Where(x => request.Ids.Contains(x.Id)) + .OrderBy(x => x.Id) .ToListAsync(); - //判断process任务时间 - if (!request.Force) - { - var now = DateTime.Now; - tasks.Any(x => x.ModifiedTime.AddMinutes(10) < now && x.Status == DeviceTaskStatusEnumType.Process).ThrowIfTrue("请等待任务处理完成"); - } - + await _dbContext.Client.Deleteable() + .Where(x=> request.Ids.Contains(x.Id)) + .ExecuteCommandAsync(); + tasks.ForEach(x => { x.Status = DeviceTaskStatusEnumType.Wait; x.Version = 0; + x.Id = 0; // Reset Id to allow re-insertion }); - - //更新任务状态 - await _dbContext.UpdateAsync(tasks); + await _dbContext.InsertAsync(tasks); } } \ No newline at end of file