fix 调整时间范围,创建同步时间任务

This commit is contained in:
2025-07-01 12:01:00 +08:00
parent d9a21b385a
commit df0d7efbe7
4 changed files with 37 additions and 26 deletions

View File

@@ -32,7 +32,7 @@ public class CreateGetUploadRecordJob : BaseJob
if (deviceTask == null)
{
deviceTask = new DeviceTaskEntity
await DbContext.InsertAsync(new DeviceTaskEntity
{
DeviceUniqueNo = device.UniqueNo,
Status = DeviceTaskStatusEnumType.Wait,
@@ -42,9 +42,7 @@ public class CreateGetUploadRecordJob : BaseJob
Type = DeviceTaskEnumType.UploadRecord,
Priority = 50,
Source = "定时任务创建设备获取通行记录任务"
};
await DbContext.InsertAsync(deviceTask);
});
}
else
{

View File

@@ -17,32 +17,45 @@ public class CreateSyncServerDateTimeJob : BaseJob
protected override async Task RunAsync(IServiceProvider serviceProvider)
{
var deviceUniqueNos = await DbContext.Queryable<DeviceTaskEntity>()
.Where(x => x.Status == DeviceTaskStatusEnumType.Wait || x.Status == DeviceTaskStatusEnumType.Process)
.Where(x => x.Type == DeviceTaskEnumType.SyncDateTime)
.Select(x => x.DeviceUniqueNo)
.Distinct()
.ToListAsync();
var devices = await DbContext.Queryable<DeviceEntity>()
.Where(x => !deviceUniqueNos.Contains(x.UniqueNo))
.Where(x => x.Enable)
.ToListAsync();
var tasks = devices.Select(x => new DeviceTaskEntity
foreach (var device in devices)
{
DeviceUniqueNo = x.UniqueNo,
Status = DeviceTaskStatusEnumType.Wait,
var deviceTask = await DbContext.Queryable<DeviceTaskEntity>()
.Where(x => x.DeviceUniqueNo == device.UniqueNo)
.Where(x => x.Type == DeviceTaskEnumType.SyncDateTime)
.OrderByDescending(x => x.ModifiedTime)
.FirstAsync();
TenantId = x.TenantId,
Version = 0,
UserNo = string.Empty,
Type = DeviceTaskEnumType.SyncDateTime,
DeviceType = x.Type,
Priority = 49,
Source = "定时任务创建设备同步时间任务"
}).ToList();
if (deviceTask == null)
{
await DbContext.InsertAsync(new DeviceTaskEntity
{
DeviceUniqueNo = device.UniqueNo,
Status = DeviceTaskStatusEnumType.Wait,
TenantId = device.TenantId,
Version = 0,
UserNo = string.Empty,
Type = DeviceTaskEnumType.SyncDateTime,
DeviceType = device.Type,
Priority = 49,
Source = "定时任务创建设备同步时间任务"
});
}
else
{
if (deviceTask.Status == DeviceTaskStatusEnumType.Success)
{
deviceTask.Status = DeviceTaskStatusEnumType.Wait;
deviceTask.Version = 0;
deviceTask.CreateTime = DateTime.Now;
deviceTask.ModifiedTime = DateTime.Now;
await DbContext.InsertAsync(tasks);
await DbContext.UpdateAsync(deviceTask);
}
}
}
}
}

View File

@@ -241,7 +241,7 @@ public class AssignmentService : IAssignmentService
private async Task<List<TaskDto>> GetDataAsync(DeviceTaskGetRequest request)
{
var limitTime = DateTime.Now.AddDays(-5);
var limitTime = DateTime.Now.AddDays(-3);
var data = await CommonHelper.RetryAsync(async () =>
{

View File

@@ -106,7 +106,7 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService
public async Task<Pagination<DeviceTaskAssignmentResponse>> GetPageWarningAsync(DeviceTaskAssignmentRequest request)
{
var limitTime = DateTime.Now.AddDays(-5);
var limitTime = DateTime.Now.AddDays(-3);
var page = await _dbContext.Queryable<DeviceTaskEntity>()
.LeftJoin<DeviceEntity>((deviceTask, device) => deviceTask.DeviceUniqueNo == device.UniqueNo)