fix 设备记录上传分页type区分

This commit is contained in:
2024-03-10 11:57:48 +08:00
parent ee2881742b
commit 41a956f1f6
2 changed files with 17 additions and 14 deletions

View File

@@ -2,11 +2,19 @@
using Kurisu.Core.CustomClass; using Kurisu.Core.CustomClass;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Kurisu.Core.DataAccess.Dto; using Kurisu.Core.DataAccess.Dto;
using Dlhis.Entity.Device.Enums;
namespace Dlhis.ScheduledTask.DeviceUploadLog.Request; namespace Dlhis.ScheduledTask.DeviceUploadLog.Request;
public class DeviceUploadLogPageRequest : PageDto, IValidatableObject public class DeviceUploadLogPageRequest : PageDto, IValidatableObject
{ {
/// <summary>
/// 设备类型
/// </summary>
[EnumDataType(typeof(DeviceTypeEnumType))]
public DeviceTypeEnumType? Type { get; set; }
/// <summary> /// <summary>
/// 查询日期范围类型 DateTimeSearchEnumType /// 查询日期范围类型 DateTimeSearchEnumType
/// </summary> /// </summary>

View File

@@ -24,12 +24,18 @@ public class DeviceUploadLogService : IDeviceUploadLogService
public async Task<Pagination<DeviceUploadLogResponse>> GetPageAsync(DeviceUploadLogPageRequest request) public async Task<Pagination<DeviceUploadLogResponse>> GetPageAsync(DeviceUploadLogPageRequest request)
{ {
var page = await _dbContext.Queryable<DeviceUploadLogEntity>() var page = await _dbContext.Queryable<DeviceUploadLogEntity>()
.LeftJoin<GainfoEntity>((deviceUp, ga) => deviceUp.UserUniqueNo == ga.Code) .LeftJoin<DeviceEntity>((deviceUp, device) => deviceUp.DeviceUniqueNo == device.UniqueNo)
.LeftJoin<GainfoEntity>((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?.Start.HasValue == true, deviceUp => deviceUp.RaiseDateTime >= request.SearchDateTimePeriod.Start)
.WhereIF(request.SearchDateTimePeriod?.End.HasValue == true, deviceUp => deviceUp.RaiseDateTime <= request.SearchDateTimePeriod.End) .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) .OrderBy(deviceUp => deviceUp.CreateTime, OrderByType.Desc)
.Select((deviceUp, ga) => new DeviceUploadLogResponse .Select((deviceUp, device, ga) => new DeviceUploadLogResponse
{ {
OriginUserUniqueNo = deviceUp.UserUniqueNo, OriginUserUniqueNo = deviceUp.UserUniqueNo,
DeviceUniqueNo = deviceUp.DeviceUniqueNo, DeviceUniqueNo = deviceUp.DeviceUniqueNo,
@@ -42,17 +48,6 @@ public class DeviceUploadLogService : IDeviceUploadLogService
}) })
.ToPageListAsync(request); .ToPageListAsync(request);
//var gainfos = await _dbContext.Queryable<GainfoEntity>().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; return page;
} }