diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Controllers/DeviceUploadLogsController.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Controllers/DeviceUploadLogsController.cs index 82583bba..d4560546 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Controllers/DeviceUploadLogsController.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Controllers/DeviceUploadLogsController.cs @@ -37,9 +37,9 @@ public class DeviceUploadLogsController : ControllerBase } [HttpGet("userpage")] - public async Task> GetUserPageAsync([FromQuery] DeviceUploadLogPageRequest request) + public async Task> GetUserPageAsync(DeviceUploadLogUserPageRequest request) { - return await _deviceUploadLogService.GetPageAsync(request); + return await _deviceUploadLogService.GetUserPageAsync(request); } /// diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs index ceaa7902..90804d8e 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs @@ -29,4 +29,12 @@ public class DeviceUploadLogPageRequest : PageDto /// [EnumDataType(typeof(GainfoUserTypeEnumType))] public GainfoUserTypeEnumType UserType { get; set; } +} + +public class DeviceUploadLogUserPageRequest : PageDto +{ + /// + /// 日期范围查询 + /// + public DateTimePeriod SearchDateTimePeriod { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Response/DeviceUploadLogResponse.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Response/DeviceUploadLogResponse.cs index 61c2ffae..d432eac4 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Response/DeviceUploadLogResponse.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Response/DeviceUploadLogResponse.cs @@ -58,6 +58,73 @@ public class DeviceUploadLogResponse public string SerialNo { get; set; } + [JsonIgnore] + public string OriginUserUniqueNo { get; set; } + + /// + /// 是否同步sap + /// + public bool Sync { get; set; } + + /// + /// 是否需要上传 + /// + public bool NeedUpload { get; set; } + + /// + /// 是否有效 + /// + public bool Status { get; set; } +} + + + +public class DeviceUploadLogUserResponse +{ + public long Id { get; set; } + + /// + /// 设备号 + /// + public string DeviceUniqueNo { get; set; } + + /// + /// 设备部署点 + /// + public string DeployPlace { get; set; } + + /// + /// 用户档案号 + /// + public string UserNo { get; set; } + + /// + /// 用户学工号 + /// + public string UserCode { get; set; } + + + /// + /// 用户名称 + /// + public string UserName { get; set; } + + /// + /// 上传时间 + /// + public DateTime RaiseDateTime { get; set; } + + /// + /// 记录创建时间 + /// + public DateTime CreateTime { get; set; } + + /// + /// 序列号 + /// + public string SerialNo { get; set; } + + [JsonIgnore] public string OriginUserUniqueNo { get; set; } diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/IDeviceUploadLogService.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/IDeviceUploadLogService.cs index 791e06ee..89e5bf53 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/IDeviceUploadLogService.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/IDeviceUploadLogService.cs @@ -20,6 +20,8 @@ public interface IDeviceUploadLogService : IScopeDependency /// /// Task> GetPageAsync(DeviceUploadLogPageRequest request); + + Task> GetUserPageAsync(DeviceUploadLogUserPageRequest request); /// /// 获取我个人的通行记录 diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs index 844e29d4..9103918b 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs @@ -217,6 +217,45 @@ public class DeviceUploadLogService : IDeviceUploadLogService }; } + public async Task> GetUserPageAsync(DeviceUploadLogUserPageRequest request) + { + var r = await _dbContext.Queryable() + .LeftJoin((x, device) => x.DeviceUniqueNo == device.UniqueNo) + .LeftJoin((x, device, ga) => x.UserUniqueNo == ga.Code) + .WhereIF(request.SearchDateTimePeriod.HasValue(), x => x.RaiseDateTime >= request.SearchDateTimePeriod.Start + && x.RaiseDateTime <= request.SearchDateTimePeriod.End) + .Where((x, device) => x.NeedUpload) + .WhereIF(request.Search.IsPresent(), (x, device, ga) => + x.UserUniqueNo == request.Search + || x.DeviceUniqueNo == request.Search + ) + .OrderBy(x => x.RaiseDateTime, OrderByType.Desc) + .Select((x, device, ga) => new DeviceUploadLogUserResponse + { + Id = x.Id, + OriginUserUniqueNo = x.UserUniqueNo, + DeviceUniqueNo = x.DeviceUniqueNo, + RaiseDateTime = x.RaiseDateTime, + CreateTime = x.CreateTime, + SerialNo = x.SerialNo, + UserNo = ga.No, + UserCode = ga.Code, + UserName = ga.Name, + DeployPlace = device.DeployPlace, + NeedUpload = x.NeedUpload, + Sync = x.Sync, + Status = x.Status, + }).ToPageListAsync(request.PageIndex, request.PageSize); + + return new Pagination + { + PageIndex = request.PageIndex, + PageSize = request.PageSize, + Total = 0, + Data = r + }; + } + public async Task> GetPageAsync(DeviceUploadLogPageRequest request) { DeviceUploadLogTypeEnumType? type = request.Type switch