diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs index 670a5411..e2f7af01 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs @@ -2,11 +2,19 @@ using Kurisu.Core.CustomClass; using System.ComponentModel.DataAnnotations; using Kurisu.Core.DataAccess.Dto; +using Dlhis.Entity.Device.Enums; namespace Dlhis.ScheduledTask.DeviceUploadLog.Request; public class DeviceUploadLogPageRequest : PageDto, IValidatableObject { + /// + /// 设备类型 + /// + [EnumDataType(typeof(DeviceTypeEnumType))] + public DeviceTypeEnumType? Type { get; set; } + + /// /// 查询日期范围类型 DateTimeSearchEnumType /// diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs index 89ba7f89..015f773c 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs @@ -24,12 +24,18 @@ public class DeviceUploadLogService : IDeviceUploadLogService public async Task> GetPageAsync(DeviceUploadLogPageRequest request) { var page = await _dbContext.Queryable() - .LeftJoin((deviceUp, ga) => deviceUp.UserUniqueNo == ga.Code) + .LeftJoin((deviceUp, device) => deviceUp.DeviceUniqueNo == device.UniqueNo) + .LeftJoin((deviceUp, device, ga) => deviceUp.UserUniqueNo == ga.Code) + .WhereIF(request.Type.HasValue, (deviceUp, device) => device.Type == request.Type) .WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true, deviceUp => deviceUp.RaiseDateTime >= request.SearchDateTimePeriod.Start) .WhereIF(request.SearchDateTimePeriod?.End.HasValue == true, deviceUp => deviceUp.RaiseDateTime <= request.SearchDateTimePeriod.End) - .WhereIF(request.Search.IsPresent(), (deviceUp, ga) => ga.Code.Contains(request.Search) || ga.Name.Contains(request.Search) || deviceUp.DeviceUniqueNo.Contains(request.Search)) + .WhereIF(request.Search.IsPresent(), (deviceUp, device, ga) => + ga.Code.Contains(request.Search) + || ga.Name.Contains(request.Search) + || deviceUp.DeviceUniqueNo.Contains(request.Search) + ) .OrderBy(deviceUp => deviceUp.CreateTime, OrderByType.Desc) - .Select((deviceUp, ga) => new DeviceUploadLogResponse + .Select((deviceUp, device, ga) => new DeviceUploadLogResponse { OriginUserUniqueNo = deviceUp.UserUniqueNo, DeviceUniqueNo = deviceUp.DeviceUniqueNo, @@ -42,17 +48,6 @@ public class DeviceUploadLogService : IDeviceUploadLogService }) .ToPageListAsync(request); - //var gainfos = await _dbContext.Queryable().ToListAsync(); - //page.Data.ForEach(item => - //{ - // _ = int.TryParse(item.OriginUserUniqueNo, out var userId); - - // var gainfo = gainfos.FirstOrDefault(x => x.No == item.OriginUserUniqueNo || x.Id == userId || x.Code == item.OriginUserUniqueNo); - // item.UserNo = gainfo?.No; - // item.UserCode = gainfo?.Code; - // item.UserName = gainfo?.Name; - //}); - return page; }