diff --git a/Src/Dlhis.Entity/Device/Entities/DeviceTaskEntity.cs b/Src/Dlhis.Entity/Device/Entities/DeviceTaskEntity.cs
index 18c42cbe..1399d6d4 100644
--- a/Src/Dlhis.Entity/Device/Entities/DeviceTaskEntity.cs
+++ b/Src/Dlhis.Entity/Device/Entities/DeviceTaskEntity.cs
@@ -65,6 +65,12 @@ public class DeviceTaskEntity : SugarBaseEntity, ITenantId, IVersion
[SugarColumn(DefaultValue = "0")]
public long CancellationId { get; set; } = 0;
+ ///
+ /// 优先级
+ ///
+ [SugarColumn(DefaultValue = "0")]
+ public int Priority { get; set; } = 0;
+
public string TenantId { get; set; }
}
diff --git a/Src/Dlhis.ScheduledTask/Jobs/CreateGetUploadRecordJob.cs b/Src/Dlhis.ScheduledTask/Jobs/CreateGetUploadRecordJob.cs
index b945a4ae..1208a47f 100644
--- a/Src/Dlhis.ScheduledTask/Jobs/CreateGetUploadRecordJob.cs
+++ b/Src/Dlhis.ScheduledTask/Jobs/CreateGetUploadRecordJob.cs
@@ -40,6 +40,7 @@ public class CreateGetUploadRecordJob : BaseJob
Version = 0,
Type = DeviceTaskEnumType.UploadRecord,
CancellationId = 0,
+ Priority = 50,
CreatedBy = 1,
CreateTime = DateTime.Now,
diff --git a/Src/Dlhis.ScheduledTask/Jobs/CreateSyncServerDateTimeJob.cs b/Src/Dlhis.ScheduledTask/Jobs/CreateSyncServerDateTimeJob.cs
index a80f2e60..c4d5145d 100644
--- a/Src/Dlhis.ScheduledTask/Jobs/CreateSyncServerDateTimeJob.cs
+++ b/Src/Dlhis.ScheduledTask/Jobs/CreateSyncServerDateTimeJob.cs
@@ -41,6 +41,7 @@ public class CreateSyncServerDateTimeJob : BaseJob
UserNo = string.Empty,
Type = DeviceTaskEnumType.SyncDateTime,
DeviceType = x.Type,
+ Priority = 49,
CreatedBy = 1,
CreateTime = DateTime.Now,
diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs
index e619304b..76dd1ac0 100644
--- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs
+++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs
@@ -51,9 +51,20 @@ public class AssignmentService : IAssignmentService
.WhereIF(request.DeviceUniqueNo.IsPresent(), (deviceTask, deivce) => deviceTask.DeviceUniqueNo == request.DeviceUniqueNo)
.WhereIF(request.Types.IsPresent(), deviceTask => request.Types.Contains(deviceTask.Type))
.WhereIF(!request.IsProcess, deviceTask => deviceTask.Status == DeviceTaskStatusEnumType.Wait)
- .WhereIF(request.IsProcess, deviceTask => deviceTask.Status == DeviceTaskStatusEnumType.Process && SqlFunc.DateDiff(DateType.Minute, deviceTask.CreateTime, deviceTask.ModifiedTime) > 30)
+ .WhereIF(request.IsProcess, deviceTask => deviceTask.Status == DeviceTaskStatusEnumType.Process
+ && SqlFunc.DateDiff(DateType.Minute, deviceTask.CreateTime, deviceTask.ModifiedTime) > 30)
//.Where(deviceTask => heartbeatDeviceNos.Contains(deviceTask.DeviceUniqueNo))
- .OrderBy(deviceTask => deviceTask.CreateTime)
+ .OrderBy(deviceTask => new List
+ {
+ new()
+ {
+ FieldName = nameof(DeviceTaskEntity.Priority), OrderByType = OrderByType.Desc,
+ },
+ new()
+ {
+ FieldName = nameof(DeviceTaskEntity.CreateTime), OrderByType = OrderByType.Asc,
+ },
+ })
.Select((deviceTask, deivce, deivceTamplate, ga, galeave, department) => new
{
UserId = SqlFunc.IsNull(SqlFunc.IsNull(deviceTask.UserId, ga.Id), galeave.IdentityUserId),