fix 增加特殊任务处理

This commit is contained in:
2025-07-05 11:43:03 +08:00
parent e9020ed7ec
commit 77b2fdc222

View File

@@ -242,7 +242,7 @@ public class AssignmentService : IAssignmentService
private async Task<List<TaskDto>> GetDataAsync(DeviceTaskGetRequest request)
{
var limitTime = DateTime.Now.AddDays(-3);
var limitData = await _dbContext.Queryable<DeviceTaskEntity>().Where(x => x.ModifiedTime >= limitTime).FirstAsync();
var limitData = await _dbContext.Queryable<DeviceTaskEntity>().Where(x => x.ModifiedTime >= limitTime).OrderBy(x => x.ModifiedTime).FirstAsync();
if (limitData == null)
{
return new List<TaskDto>();
@@ -250,6 +250,12 @@ public class AssignmentService : IAssignmentService
var startId = limitData.Id;
var otherIds = await _dbContext.Queryable<DeviceTaskEntity>().Where(x => x.DeviceUniqueNo == request.DeviceUniqueNo)
.Where(x => x.Type == DeviceTaskEnumType.UploadRecord || x.Type == DeviceTaskEnumType.SyncDateTime)
.Where(x => x.Status == DeviceTaskStatusEnumType.Wait)
.Select(x => x.Id)
.ToListAsync();
var data = await CommonHelper.RetryAsync(async () =>
{
var rows = await _dbContext.Queryable<DeviceTaskEntity>()
@@ -259,8 +265,8 @@ public class AssignmentService : IAssignmentService
.LeftJoin<DepartmentEntity>((deviceTask, device, ga, gaLeave, department) => department.No == ga.DepartmentNo)
.LeftJoin<DeviceRegistryEntity>((deviceTask, device, ga, gaLeave, department, deviceRegistry) => deviceRegistry.DeviceUniqueNo == deviceTask.DeviceUniqueNo)
.Where((deviceTask, device) =>
deviceTask.Id >= startId &&
deviceTask.DeviceUniqueNo == request.DeviceUniqueNo
(deviceTask.Id >= startId || otherIds.Contains(deviceTask.Id))
&& deviceTask.DeviceUniqueNo == request.DeviceUniqueNo
)
.WhereIF(!request.IsProcess, deviceTask => deviceTask.Status == DeviceTaskStatusEnumType.Wait)
.WhereIF(request.IsProcess, deviceTask => deviceTask.Status == DeviceTaskStatusEnumType.Process