diff --git a/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs
index 1b244029..79118133 100644
--- a/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs
+++ b/Src/Dlhis.Basic/Device/Services/IDevicePermissionService.cs
@@ -12,5 +12,5 @@ public interface IDevicePermissionService : IScopeDependency
///
Task AssignmentAsync(List reuqests);
- Task> GetAssignmentsAsync(string userId, DeviceAssignmentTypeEnumType uniqueType, Guid? uniqueValue);
+ Task> GetAssignmentsAsync(string userNo, DeviceAssignmentTypeEnumType uniqueType, Guid? uniqueValue);
}
diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs
index 504a19f2..418b2241 100644
--- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs
+++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs
@@ -36,12 +36,12 @@ public class DevicePermissionService : IDevicePermissionService
}
}
- public async Task> GetAssignmentsAsync(string userId, DeviceAssignmentTypeEnumType uniqueType, Guid? uniqueValue)
+ public async Task> GetAssignmentsAsync(string userNo, DeviceAssignmentTypeEnumType uniqueType, Guid? uniqueValue)
{
var assignments = await _dbContext.Queryable()
.Where(x => x.UniqueType == uniqueType)
.WhereIF(uniqueValue.HasValue, x => x.UniqueValue == uniqueValue)
- .Where(x => x.UserNo == userId)
+ .Where(x => x.UserNo == userNo)
.Select(x => x.UniqueValue)
.ToListAsync();
diff --git a/Src/Dlhis.Entity/Device/Entities/DeviceUploadLogEntity.cs b/Src/Dlhis.Entity/Device/Entities/DeviceUploadLogEntity.cs
index 25d87232..a82b818d 100644
--- a/Src/Dlhis.Entity/Device/Entities/DeviceUploadLogEntity.cs
+++ b/Src/Dlhis.Entity/Device/Entities/DeviceUploadLogEntity.cs
@@ -1,12 +1,17 @@
using Kurisu.Core.DataAccess.Entity;
-using Kurisu.SqlSugar;
using SqlSugar;
namespace Dlhis.Entity.Device.Entities;
[SugarTable(TableName = "DeviceUploadLog", TableDescription = "设备上传记录")]
-public class DeviceUploadLogEntity : SugarBaseEntity, ITenantId
+public class DeviceUploadLogEntity : ITenantId
{
+ ///
+ /// id
+ ///
+ [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
+ public long Id { get; set; }
+
///
/// 设备号
///
@@ -27,5 +32,10 @@ public class DeviceUploadLogEntity : SugarBaseEntity, ITenantId
///
public string Ip { get; set; }
+ ///
+ /// 上传时间
+ ///
+ public DateTime UploadTime { get; set; }
+
public string TenantId { get; set; }
}
diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Controllers/DeviceUploadLogsController.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Controllers/DeviceUploadLogsController.cs
index d7809b21..c98178a5 100644
--- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Controllers/DeviceUploadLogsController.cs
+++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Controllers/DeviceUploadLogsController.cs
@@ -32,4 +32,15 @@ public class DeviceUploadLogsController : ControllerBase
{
return await _deviceUploadLogService.GetPageAsync(request);
}
+
+ ///
+ /// 上传记录
+ ///
+ ///
+ ///
+ [HttpPost("record")]
+ public async Task UploadLogAsync(DeviceUploadLogUploadRequest request)
+ {
+ await _deviceUploadLogService.UploadLogAsync(request);
+ }
}
diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogUploadRequest.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogUploadRequest.cs
new file mode 100644
index 00000000..df39165a
--- /dev/null
+++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogUploadRequest.cs
@@ -0,0 +1,23 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace Dlhis.ScheduledTask.DeviceUploadLog.Request;
+
+public class DeviceUploadLogUploadRequest
+{
+ ///
+ /// 设备唯一号
+ ///
+ [Required(ErrorMessage = "设备唯一号不能为空")]
+ public string DeviceUniqueNo { get; set; }
+
+ ///
+ /// 用户学工号
+ ///
+ [Required(ErrorMessage = "用户学工号不能为空")]
+ public string UserCode { get; set; }
+
+ ///
+ /// 上传时间
+ ///
+ public DateTime UploadTime { get; set; }
+}
diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/IDeviceUploadLogService.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/IDeviceUploadLogService.cs
index 8ff42806..b3793541 100644
--- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/IDeviceUploadLogService.cs
+++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/IDeviceUploadLogService.cs
@@ -7,4 +7,6 @@ namespace Dlhis.ScheduledTask.DeviceUploadLog.Services;
public interface IDeviceUploadLogService : IScopeDependency
{
Task> GetPageAsync(DeviceUploadLogPageRequest request);
+
+ Task UploadLogAsync(DeviceUploadLogUploadRequest request);
}
diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs
index 795cd81e..a2411af6 100644
--- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs
+++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs
@@ -2,7 +2,9 @@
using Dlhis.Entity.Device.Entities;
using Dlhis.ScheduledTask.DeviceUploadLog.Request;
using Dlhis.ScheduledTask.DeviceUploadLog.Response;
+using Kurisu.AspNetCore.Utils.Extensions;
using Kurisu.Core.DataAccess.Dto;
+using Kurisu.SqlSugar.Attributes;
using Kurisu.SqlSugar.Extensions;
using Kurisu.SqlSugar.Services;
@@ -21,14 +23,14 @@ public class DeviceUploadLogService : IDeviceUploadLogService
{
var page = await _dbContext.Queryable()
.LeftJoin((deviceUp, ga) => deviceUp.UserNo == ga.No)
- .WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true, deviceUp => deviceUp.CreateTime >= request.SearchDateTimePeriod.Start)
- .WhereIF(request.SearchDateTimePeriod?.End.HasValue == true, deviceUp => deviceUp.CreateTime <= request.SearchDateTimePeriod.End)
+ .WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true, deviceUp => deviceUp.UploadTime >= request.SearchDateTimePeriod.Start)
+ .WhereIF(request.SearchDateTimePeriod?.End.HasValue == true, deviceUp => deviceUp.UploadTime <= request.SearchDateTimePeriod.End)
.Select((deviceUp, ga) => new DeviceUploadLogResponse
{
DeviceUniqueNo = deviceUp.DeviceUniqueNo,
Id = deviceUp.Id,
Ip = deviceUp.Ip,
- UploadTime = deviceUp.CreateTime,
+ UploadTime = deviceUp.UploadTime,
UserNo = deviceUp.UserNo,
UserCode = deviceUp.UserCode,
UserName = ga.Name,
@@ -37,4 +39,25 @@ public class DeviceUploadLogService : IDeviceUploadLogService
return page;
}
+
+ [IgnoreTenant]
+ public async Task UploadLogAsync(DeviceUploadLogUploadRequest request)
+ {
+ var device = await _dbContext.Queryable().Where(x => x.UniqueNo == request.DeviceUniqueNo).SingleAsync();
+ device.ThrowIfNull("设备信息不存在");
+
+ var gainfo = await _dbContext.Queryable().Where(x => x.Code == request.UserCode).FirstAsync();
+ device.ThrowIfNull("人员信息不存在");
+
+ var entity = new DeviceUploadLogEntity
+ {
+ DeviceUniqueNo = request.DeviceUniqueNo,
+ UploadTime = request.UploadTime,
+ UserCode = request.UserCode,
+ UserNo = gainfo.No,
+ TenantId = device.TenantId,
+ };
+
+ await _dbContext.InsertAsync(entity);
+ }
}