fix 根据实际字段单独查询
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Dlhis.Jip.Api.ClientHandlers;
|
||||
using Kurisu.AspNetCore.Cache.Extensions;
|
||||
using Kurisu.AspNetCore.Startup;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user