fix 优先级

This commit is contained in:
2024-04-14 10:34:31 +08:00
parent c527389390
commit 69981e1627
4 changed files with 21 additions and 2 deletions

View File

@@ -65,6 +65,12 @@ public class DeviceTaskEntity : SugarBaseEntity, ITenantId, IVersion
[SugarColumn(DefaultValue = "0")]
public long CancellationId { get; set; } = 0;
/// <summary>
/// 优先级
/// </summary>
[SugarColumn(DefaultValue = "0")]
public int Priority { get; set; } = 0;
public string TenantId { get; set; }
}

View File

@@ -40,6 +40,7 @@ public class CreateGetUploadRecordJob : BaseJob
Version = 0,
Type = DeviceTaskEnumType.UploadRecord,
CancellationId = 0,
Priority = 50,
CreatedBy = 1,
CreateTime = DateTime.Now,

View File

@@ -41,6 +41,7 @@ public class CreateSyncServerDateTimeJob : BaseJob
UserNo = string.Empty,
Type = DeviceTaskEnumType.SyncDateTime,
DeviceType = x.Type,
Priority = 49,
CreatedBy = 1,
CreateTime = DateTime.Now,

View File

@@ -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<OrderByModel>
{
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),