查询支持多工号
This commit is contained in:
@@ -654,6 +654,32 @@ public class DeviceUploadLogService : IDeviceUploadLogService
|
||||
|
||||
var isNormalSearch = !userTypes.Contains(GainfoUserTypeEnumType.Outsource);
|
||||
var isOutsourceSearch = userTypes.Contains(GainfoUserTypeEnumType.Outsource);
|
||||
List<string> searchs = null;
|
||||
if (request.Search.IsPresent())
|
||||
{
|
||||
if (request.Search.IndexOf(",") != -1 || request.Search.IndexOf(",") != -1)
|
||||
{
|
||||
searchs = request.Search.Replace(",", ",").Split(",", StringSplitOptions.None).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
searchs = new List<string>() { request.Search };
|
||||
}
|
||||
}
|
||||
|
||||
List<string> userCodes = null;
|
||||
if (request.UserCode.IsPresent())
|
||||
{
|
||||
if (request.UserCode.IndexOf(",") != -1 || request.UserCode.IndexOf(",") != -1)
|
||||
{
|
||||
userCodes = request.UserCode.Replace(",", ",").Split(",", StringSplitOptions.None).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
userCodes = new List<string>() { request.UserCode };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var r = await table
|
||||
.LeftJoin<DeviceEntity>((x, device) => x.DeviceUniqueNo == device.UniqueNo)
|
||||
@@ -663,13 +689,13 @@ 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(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(isOutsourceSearch && searchs != null, (x, device, ga, os) =>
|
||||
searchs.Contains(x.UserUniqueNo)
|
||||
|| searchs.Contains(x.DeviceUniqueNo)
|
||||
|| searchs.Contains(os.Supplier)
|
||||
|| searchs.Contains(os.SapCode)
|
||||
)
|
||||
.WhereIF(isNormalSearch && request.UserCode.IsPresent(), (x, device, ga, os) => x.UserUniqueNo == request.UserCode)
|
||||
.WhereIF(isNormalSearch && userCodes != null, (x, device, ga, os) => userCodes.Contains(x.DeviceUniqueNo))
|
||||
.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
|
||||
|
||||
Reference in New Issue
Block a user