diff --git a/Src/Dlhis.ScheduledTask/Jobs/CancelDuplicationTaskJob.cs b/Src/Dlhis.ScheduledTask/Jobs/CancelDuplicationTaskJob.cs
index d686ec38..93b83db4 100644
--- a/Src/Dlhis.ScheduledTask/Jobs/CancelDuplicationTaskJob.cs
+++ b/Src/Dlhis.ScheduledTask/Jobs/CancelDuplicationTaskJob.cs
@@ -1,138 +1,138 @@
-using Dlhis.Entity.Device.Entities;
-using Dlhis.Entity.Device.Enums;
-using Kurisu.AspNetCore.Utils.Extensions;
-using Kurisu.Scheduled;
-using Kurisu.Scheduled.Attributes;
-using SqlSugar;
-using System.Linq.Expressions;
+//using Dlhis.Entity.Device.Entities;
+//using Dlhis.Entity.Device.Enums;
+//using Kurisu.AspNetCore.Utils.Extensions;
+//using Kurisu.Scheduled;
+//using Kurisu.Scheduled.Attributes;
+//using SqlSugar;
+//using System.Linq.Expressions;
-namespace Dlhis.ScheduledTask.Jobs;
+//namespace Dlhis.ScheduledTask.Jobs;
-///
-/// 处理重复下发任务
-///
-[RecurringJob(nameof(CancelDuplicationTaskJob), "0/15 * * * * ?", Name = "处理重复下发任务")]
-public class CancelDuplicationTaskJob : BaseJob
-{
- public CancelDuplicationTaskJob(IServiceProvider serviceProvider) : base(serviceProvider)
- {
- }
+/////
+///// 处理重复下发任务
+/////
+//[RecurringJob(nameof(CancelDuplicationTaskJob), "0/15 * * * * ?", Name = "处理重复下发任务")]
+//public class CancelDuplicationTaskJob : BaseJob
+//{
+// public CancelDuplicationTaskJob(IServiceProvider serviceProvider) : base(serviceProvider)
+// {
+// }
- public override async Task RunAsync(IServiceProvider serviceProvider)
- {
- //人员下发任务相关
- var taskTypes = new List() { DeviceTaskEnumType.Add, DeviceTaskEnumType.Delete, DeviceTaskEnumType.Update };
+// public override async Task RunAsync(IServiceProvider serviceProvider)
+// {
+// //人员下发任务相关
+// var taskTypes = new List() { DeviceTaskEnumType.Add, DeviceTaskEnumType.Delete, DeviceTaskEnumType.Update };
- var deviceTasks = await DbContext.Queryable()
- .Where(x => x.Status == DeviceTaskStatusEnumType.Wait)//没有被获取
- .Where(x => taskTypes.Contains(x.Type))
- .OrderBy(x => x.CreateTime, OrderByType.Desc)
- .ToListAsync();
+// var deviceTasks = await DbContext.Queryable()
+// .Where(x => x.Status == DeviceTaskStatusEnumType.Wait)//没有被获取
+// .Where(x => taskTypes.Contains(x.Type))
+// .OrderBy(x => x.CreateTime, OrderByType.Desc)
+// .ToListAsync();
- var groupData = deviceTasks.GroupBy(x => new { x.TenantId, x.UserNo, x.DeviceUniqueNo });
- foreach (var deviceTaskPack in groupData)
- {
- var uniqueInfo = deviceTaskPack.Key;
- var data = deviceTaskPack.ToList();
+// var groupData = deviceTasks.GroupBy(x => new { x.TenantId, x.UserNo, x.DeviceUniqueNo });
+// foreach (var deviceTaskPack in groupData)
+// {
+// var uniqueInfo = deviceTaskPack.Key;
+// var data = deviceTaskPack.ToList();
- foreach (var item in data)
- {
- try
- {
- Expression> where = LinqExpressionExtensions.False();
- var ignoreData = new List();
- //最新一条更新人员信息
- if (item.Type == DeviceTaskEnumType.Update && item.Status == DeviceTaskStatusEnumType.Wait)
- {
- //获取过往的更新人员任务
- ignoreData = data.Where(x => x.Type == DeviceTaskEnumType.Update)
- .Where(x => x.Status == DeviceTaskStatusEnumType.Wait)
- .Where(x => x.Id != item.Id)
- .Where(x => item.CreateTime > x.CreateTime)
- .Select(x => new IdVersion { Id = x.Id, Version = x.Version }).ToList();
- }
- //最新一条删除人员信息
- else if (item.Type == DeviceTaskEnumType.Delete && item.Status == DeviceTaskStatusEnumType.Wait)
- {
- //存在成功下发的任务,此处可以直接把其他任务取消
- if (await DbContext.Queryable().Where(x => x.UserNo == item.UserNo)
- .Where(x => x.DeviceUniqueNo == item.DeviceUniqueNo)
- .Where(x => x.TenantId == item.TenantId).Where(x => x.Status == DeviceTaskStatusEnumType.Success).AnyAsync())
- {
- ignoreData.AddRange(data.Where(x => x.Type == DeviceTaskEnumType.Add
- || x.Type == DeviceTaskEnumType.Delete
- || x.Type == DeviceTaskEnumType.Update)
- .Where(x => x.Status == DeviceTaskStatusEnumType.Wait)
- .Where(x => x.Id != item.Id)
- .Where(x => item.CreateTime > x.CreateTime)
- .Select(x => new IdVersion { Id = x.Id, Version = x.Version })
- );
- }
- else
- {
- var currentIds = new List { item.Id };
- var beforeTask = data.Where(x => x.Type == DeviceTaskEnumType.Add || x.Type == DeviceTaskEnumType.Update)
- .Where(x => !currentIds.Contains(x.Id))
- .Where(x => x.Status == DeviceTaskStatusEnumType.Wait)
- .Where(x => item.CreateTime > x.CreateTime)
- .FirstOrDefault();
+// foreach (var item in data)
+// {
+// try
+// {
+// Expression> where = LinqExpressionExtensions.False();
+// var ignoreData = new List();
+// //最新一条更新人员信息
+// if (item.Type == DeviceTaskEnumType.Update && item.Status == DeviceTaskStatusEnumType.Wait)
+// {
+// //获取过往的更新人员任务
+// ignoreData = data.Where(x => x.Type == DeviceTaskEnumType.Update)
+// .Where(x => x.Status == DeviceTaskStatusEnumType.Wait)
+// .Where(x => x.Id != item.Id)
+// .Where(x => item.CreateTime > x.CreateTime)
+// .Select(x => new IdVersion { Id = x.Id, Version = x.Version }).ToList();
+// }
+// //最新一条删除人员信息
+// else if (item.Type == DeviceTaskEnumType.Delete && item.Status == DeviceTaskStatusEnumType.Wait)
+// {
+// //存在成功下发的任务,此处可以直接把其他任务取消
+// if (await DbContext.Queryable().Where(x => x.UserNo == item.UserNo)
+// .Where(x => x.DeviceUniqueNo == item.DeviceUniqueNo)
+// .Where(x => x.TenantId == item.TenantId).Where(x => x.Status == DeviceTaskStatusEnumType.Success).AnyAsync())
+// {
+// ignoreData.AddRange(data.Where(x => x.Type == DeviceTaskEnumType.Add
+// || x.Type == DeviceTaskEnumType.Delete
+// || x.Type == DeviceTaskEnumType.Update)
+// .Where(x => x.Status == DeviceTaskStatusEnumType.Wait)
+// .Where(x => x.Id != item.Id)
+// .Where(x => item.CreateTime > x.CreateTime)
+// .Select(x => new IdVersion { Id = x.Id, Version = x.Version })
+// );
+// }
+// else
+// {
+// var currentIds = new List { item.Id };
+// var beforeTask = data.Where(x => x.Type == DeviceTaskEnumType.Add || x.Type == DeviceTaskEnumType.Update)
+// .Where(x => !currentIds.Contains(x.Id))
+// .Where(x => x.Status == DeviceTaskStatusEnumType.Wait)
+// .Where(x => item.CreateTime > x.CreateTime)
+// .FirstOrDefault();
- //逻辑正确,最终beforeTask.type == DeviceTaskEnumType.Add
- while (beforeTask != null && beforeTask.Type == DeviceTaskEnumType.Update)
- {
- ignoreData.Add(new IdVersion() { Id = beforeTask.Id, Version = beforeTask.Version });
- currentIds.Add(beforeTask.Id);
+// //逻辑正确,最终beforeTask.type == DeviceTaskEnumType.Add
+// while (beforeTask != null && beforeTask.Type == DeviceTaskEnumType.Update)
+// {
+// ignoreData.Add(new IdVersion() { Id = beforeTask.Id, Version = beforeTask.Version });
+// currentIds.Add(beforeTask.Id);
- beforeTask = data.Where(x => x.Type == DeviceTaskEnumType.Add || x.Type == DeviceTaskEnumType.Update)
- .Where(x => !currentIds.Contains(x.Id))
- .Where(x => x.Status == DeviceTaskStatusEnumType.Wait)
- .Where(x => item.CreateTime > x.CreateTime)
- .FirstOrDefault();
- }
+// beforeTask = data.Where(x => x.Type == DeviceTaskEnumType.Add || x.Type == DeviceTaskEnumType.Update)
+// .Where(x => !currentIds.Contains(x.Id))
+// .Where(x => x.Status == DeviceTaskStatusEnumType.Wait)
+// .Where(x => item.CreateTime > x.CreateTime)
+// .FirstOrDefault();
+// }
- if (beforeTask != null)
- {
- ignoreData.Add(new IdVersion() { Id = beforeTask.Id, Version = beforeTask.Version });
- ignoreData.Add(new IdVersion() { Id = item.Id, Version = item.Version });
- }
- }
- }
+// if (beforeTask != null)
+// {
+// ignoreData.Add(new IdVersion() { Id = beforeTask.Id, Version = beforeTask.Version });
+// ignoreData.Add(new IdVersion() { Id = item.Id, Version = item.Version });
+// }
+// }
+// }
- if (ignoreData.Any())
- {
- ignoreData.ForEach(p =>
- {
- where = where.Or(x => x.Id == p.Id && x.Version == p.Version && x.Status == DeviceTaskStatusEnumType.Wait);
- });
+// if (ignoreData.Any())
+// {
+// ignoreData.ForEach(p =>
+// {
+// where = where.Or(x => x.Id == p.Id && x.Version == p.Version && x.Status == DeviceTaskStatusEnumType.Wait);
+// });
- await DbContext.Updateable()
- .SetColumns(x => x.Version == x.Version + 1)
- .SetColumns(x => x.Status == DeviceTaskStatusEnumType.Cancel)
- .SetColumns(x => x.CancellationId == item.Id)
- .SetColumns(x => x.ModifiedTime == DateTime.Now)
- .Where(where)
- .ExecuteCommandAsync();
+// await DbContext.Updateable()
+// .SetColumns(x => x.Version == x.Version + 1)
+// .SetColumns(x => x.Status == DeviceTaskStatusEnumType.Cancel)
+// .SetColumns(x => x.CancellationId == item.Id)
+// .SetColumns(x => x.ModifiedTime == DateTime.Now)
+// .Where(where)
+// .ExecuteCommandAsync();
- data.ForEach(x =>
- {
- if (ignoreData.Any(p => p.Id == x.Id))
- x.Status = DeviceTaskStatusEnumType.Cancel;
- });
- }
- }
- catch (Exception ex)
- {
- Logger.LogError(ex, "抵消处理异常:{message}", ex.Message);
- }
- }
- }
- }
+// data.ForEach(x =>
+// {
+// if (ignoreData.Any(p => p.Id == x.Id))
+// x.Status = DeviceTaskStatusEnumType.Cancel;
+// });
+// }
+// }
+// catch (Exception ex)
+// {
+// Logger.LogError(ex, "抵消处理异常:{message}", ex.Message);
+// }
+// }
+// }
+// }
- class IdVersion
- {
- public long Id { get; set; }
- public int Version { get; set; }
- }
-}
+// class IdVersion
+// {
+// public long Id { get; set; }
+// public int Version { get; set; }
+// }
+//}