fix 重置任务修改为重新创建任务处理
This commit is contained in:
@@ -52,6 +52,7 @@ public class DeviceTaskAssignmentsController : ControllerBase
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost("reset")]
|
[HttpPost("reset")]
|
||||||
|
[Transactional]
|
||||||
public async Task ResetAsync(DeviceTaskResetRequest request)
|
public async Task ResetAsync(DeviceTaskResetRequest request)
|
||||||
{
|
{
|
||||||
await _deviceTaskAssignmentService.ResetAsync(request);
|
await _deviceTaskAssignmentService.ResetAsync(request);
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ public interface IDeviceTaskAssignmentService : IScopeDependency
|
|||||||
|
|
||||||
Task<Pagination<DeviceTaskAssignmentResponse>> GetPageWarningAsync(DeviceTaskAssignmentRequest request);
|
Task<Pagination<DeviceTaskAssignmentResponse>> GetPageWarningAsync(DeviceTaskAssignmentRequest request);
|
||||||
|
|
||||||
|
|
||||||
Task ResetAsync(DeviceTaskResetRequest request);
|
Task ResetAsync(DeviceTaskResetRequest request);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -185,22 +185,19 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService
|
|||||||
{
|
{
|
||||||
var tasks = await _dbContext.Queryable<DeviceTaskEntity>()
|
var tasks = await _dbContext.Queryable<DeviceTaskEntity>()
|
||||||
.Where(x => request.Ids.Contains(x.Id))
|
.Where(x => request.Ids.Contains(x.Id))
|
||||||
|
.OrderBy(x => x.Id)
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
//判断process任务时间
|
await _dbContext.Client.Deleteable<DeviceTaskEntity>()
|
||||||
if (!request.Force)
|
.Where(x=> request.Ids.Contains(x.Id))
|
||||||
{
|
.ExecuteCommandAsync();
|
||||||
var now = DateTime.Now;
|
|
||||||
tasks.Any(x => x.ModifiedTime.AddMinutes(10) < now && x.Status == DeviceTaskStatusEnumType.Process).ThrowIfTrue("请等待任务处理完成");
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.ForEach(x =>
|
tasks.ForEach(x =>
|
||||||
{
|
{
|
||||||
x.Status = DeviceTaskStatusEnumType.Wait;
|
x.Status = DeviceTaskStatusEnumType.Wait;
|
||||||
x.Version = 0;
|
x.Version = 0;
|
||||||
|
x.Id = 0; // Reset Id to allow re-insertion
|
||||||
});
|
});
|
||||||
|
await _dbContext.InsertAsync(tasks);
|
||||||
//更新任务状态
|
|
||||||
await _dbContext.UpdateAsync(tasks);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user