fix 可获取记录设备保存时候自动产生初始日志
This commit is contained in:
@@ -45,4 +45,16 @@ public class DeviceUploadLogsController : ControllerBase
|
||||
{
|
||||
await _deviceUploadLogService.UploadLogsAsync(requests);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置设备获取记录开始时间
|
||||
/// </summary>
|
||||
/// <param name="requests"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("reset-begintime")]
|
||||
[Transactional]
|
||||
public async Task SetUploadLogsBeginDateTime(List<SetUploadLogsBeginDateTimeRequest> requests)
|
||||
{
|
||||
await _deviceUploadLogService.SetUploadLogsBeginDateTimeAsync(requests);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Dlhis.ScheduledTask.DeviceUploadLog.Request;
|
||||
|
||||
public class SetUploadLogsBeginDateTimeRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 设备号不能为空
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "设备号不能为空")]
|
||||
public string DeviceUniqueNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 开始时间
|
||||
/// </summary>
|
||||
public DateTime Begin { get; set; }
|
||||
}
|
||||
@@ -10,4 +10,5 @@ public interface IDeviceUploadLogService : IScopeDependency
|
||||
|
||||
Task UploadLogsAsync(List<DeviceUploadLogUploadRequest> requests);
|
||||
|
||||
Task SetUploadLogsBeginDateTimeAsync(List<SetUploadLogsBeginDateTimeRequest> requests);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Linq.Expressions;
|
||||
using Dlhis.Entity.Basic.Entity;
|
||||
using Dlhis.Entity.Device.Entities;
|
||||
using Dlhis.Entity.Device.Enums;
|
||||
using Dlhis.ScheduledTask.DeviceUploadLog.Request;
|
||||
using Dlhis.ScheduledTask.DeviceUploadLog.Response;
|
||||
using Kurisu.AspNetCore.Utils.Extensions;
|
||||
@@ -95,4 +96,29 @@ public class DeviceUploadLogService : IDeviceUploadLogService
|
||||
await _dbContext.InsertAsync(records);
|
||||
}
|
||||
|
||||
public async Task SetUploadLogsBeginDateTimeAsync(List<SetUploadLogsBeginDateTimeRequest> requests)
|
||||
{
|
||||
var uniqueNos = requests.DistinctBy(x => x.DeviceUniqueNo).Select(x => x.DeviceUniqueNo).ToList();
|
||||
var devices = await _dbContext.Queryable<DeviceEntity>()
|
||||
.Where(x => uniqueNos.Contains(x.UniqueNo))
|
||||
.Where(x => x.Type == DeviceTypeEnumType.Attendance || x.Type == DeviceTypeEnumType.Door)
|
||||
.ToListAsync();
|
||||
|
||||
(uniqueNos.Count != devices.Count).ThrowIfTrue("存在非考勤和门禁的设备");
|
||||
|
||||
var tenantId = devices.FirstOrDefault().TenantId;
|
||||
var logs = new List<DeviceUploadLogEntity>(requests.Count);
|
||||
foreach (var request in requests)
|
||||
{
|
||||
logs.Add(new DeviceUploadLogEntity
|
||||
{
|
||||
DeviceUniqueNo = request.DeviceUniqueNo,
|
||||
Type = DeviceUploadLogTypeEnumType.Raise,
|
||||
RaiseDateTime = request.Begin,
|
||||
TenantId = tenantId
|
||||
});
|
||||
}
|
||||
|
||||
await _dbContext.InsertAsync(logs);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ public class JobPack : BaseAppPack
|
||||
TimeZone = TimeZoneInfo.Local
|
||||
});
|
||||
|
||||
//创建设备获取考勤的任务
|
||||
//创建设备获取的任务
|
||||
RecurringJob.AddOrUpdate<CreateGetUploadRecordJob>("CreateGetUploadRecord", s => s.RunAsync(), "0 0/1 * * * ?", new RecurringJobOptions
|
||||
{
|
||||
TimeZone = TimeZoneInfo.Local
|
||||
|
||||
@@ -25,8 +25,7 @@ public class CreateGetUploadRecordJob
|
||||
{
|
||||
var devices = await _dbContext.Queryable<DeviceEntity>()
|
||||
.Where(x => x.Enable)
|
||||
.Where(x => x.Type == DeviceTypeEnumType.Attendance || (x.Type == DeviceTypeEnumType.Door && x.AsAttendance)
|
||||
|| x.Type == DeviceTypeEnumType.Door)
|
||||
.Where(x => x.Type == DeviceTypeEnumType.Attendance || x.Type == DeviceTypeEnumType.Door)
|
||||
.ToListAsync();
|
||||
|
||||
//过滤处理中的任务
|
||||
|
||||
@@ -315,11 +315,6 @@ public class AssignmentService : IAssignmentService
|
||||
|
||||
requests = requests.Where(x => taskIds.Contains(x.TaskId)).ToList();
|
||||
|
||||
deviceTasks.ForEach(x =>
|
||||
{
|
||||
|
||||
});
|
||||
|
||||
var now = DateTime.Now;
|
||||
var tasks = new List<DeviceTaskEntity>(requests.Count);
|
||||
foreach (var request in requests)
|
||||
|
||||
Reference in New Issue
Block a user