fix 根据实际字段单独查询

This commit is contained in:
2025-06-30 15:45:47 +08:00
parent 221d985850
commit e7c70d7948
3 changed files with 17 additions and 3 deletions

View File

@@ -29,6 +29,16 @@ public class DeviceUploadLogPageRequest : PageDto
/// </summary>
[EnumDataType(typeof(GainfoUserTypeEnumType))]
public GainfoUserTypeEnumType UserType { get; set; }
/// <summary>
/// 工号
/// </summary>
public string UserCode { get; set; }
/// <summary>
/// 设备号
/// </summary>
public string DeviceUniqueNo { get; set; }
}
public class DeviceUploadLogUserPageRequest : PageDto

View File

@@ -469,6 +469,9 @@ public class DeviceUploadLogService : IDeviceUploadLogService
? _dbContext.Queryable<DeviceUploadLogEntity>().AS("deviceuploadlog_20250107")
: _dbContext.Queryable<DeviceUploadLogEntity>();
var isNormalSearch = !userTypes.Contains(GainfoUserTypeEnumType.Outsource);
var isOutsourceSearch = userTypes.Contains(GainfoUserTypeEnumType.Outsource);
var r = await table
.LeftJoin<DeviceEntity>((x, device) => x.DeviceUniqueNo == device.UniqueNo)
.LeftJoin<GainfoEntity>((x, device, ga) => x.UserUniqueNo == ga.Code)
@@ -477,13 +480,15 @@ public class DeviceUploadLogService : IDeviceUploadLogService
.Where(x => x.RaiseDateTime >= request.SearchDateTimePeriod.Start && x.RaiseDateTime <= request.SearchDateTimePeriod.End)
.Where((x, device) => x.Type == type && !SqlFunc.IsNullOrEmpty(x.UserType) && userTypes.Contains(x.UserType))
.WhereIF(request.Sync.HasValue, x => x.Sync == request.Sync)
.WhereIF(request.Search.IsPresent() && userTypes.Contains(GainfoUserTypeEnumType.Outsource), (x, device, ga, os) =>
.WhereIF(isOutsourceSearch && request.Search.IsPresent(), (x, device, ga, os) =>
x.UserUniqueNo == request.Search
|| x.DeviceUniqueNo == request.Search
|| os.Supplier == request.Search
|| os.SapCode == request.Search
)
.WhereIF(request.Search.IsPresent() && !userTypes.Contains(GainfoUserTypeEnumType.Outsource), (x, device, ga, os) =>
.WhereIF(isNormalSearch && request.UserCode.IsPresent(), (x, device, ga, os) => x.UserUniqueNo == request.UserCode)
.WhereIF(isNormalSearch && request.DeviceUniqueNo.IsPresent(), (x, device, ga, os) => x.DeviceUniqueNo == request.DeviceUniqueNo)
.WhereIF(request.Search.IsPresent() && isNormalSearch, (x, device, ga, os) =>
x.UserUniqueNo == request.Search
|| x.DeviceUniqueNo == request.Search
)

View File

@@ -1,4 +1,3 @@
using Dlhis.Jip.Api.ClientHandlers;
using Kurisu.AspNetCore.Cache.Extensions;
using Kurisu.AspNetCore.Startup;