diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs index 83a5e73c..b2550c8b 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs @@ -654,6 +654,32 @@ public class DeviceUploadLogService : IDeviceUploadLogService var isNormalSearch = !userTypes.Contains(GainfoUserTypeEnumType.Outsource); var isOutsourceSearch = userTypes.Contains(GainfoUserTypeEnumType.Outsource); + List 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() { request.Search }; + } + } + + List 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() { request.UserCode }; + } + } + var r = await table .LeftJoin((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