diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs
index e3aae39b..ceaa7902 100644
--- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs
+++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs
@@ -19,11 +19,6 @@ public class DeviceUploadLogPageRequest : PageDto
///
public bool? Sync { get; set; }
- ///
- /// 是否为外包
- ///
- public bool? IsOutsource { get; set; }
-
///
/// 日期范围查询
///
@@ -33,5 +28,5 @@ public class DeviceUploadLogPageRequest : PageDto
/// 用户类型
///
[EnumDataType(typeof(GainfoUserTypeEnumType))]
- public GainfoUserTypeEnumType? UserType { get; set; }
+ public GainfoUserTypeEnumType UserType { get; set; }
}
\ No newline at end of file
diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs
index bf9136a9..08fe22b4 100644
--- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs
+++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs
@@ -65,7 +65,7 @@ public class DeviceUploadLogService : IDeviceUploadLogService
var device = devices.First(x => x.UniqueNo == request.DeviceUniqueNo);
var userType = gainfos.FirstOrDefault(x => x.Code == request.UserUniqueNo)?.Type;
- var needUpload = userType == GainfoUserTypeEnumType.Normal && (device.Type == DeviceTypeEnumType.Attendance || (device.Type == DeviceTypeEnumType.Door && device.AsAttendance));
+ var needUpload = userType is GainfoUserTypeEnumType.Normal or GainfoUserTypeEnumType.SecurityWhite && (device.Type == DeviceTypeEnumType.Attendance || (device.Type == DeviceTypeEnumType.Door && device.AsAttendance));
var dataType = device.Type == DeviceTypeEnumType.Attendance
? DeviceUploadLogTypeEnumType.Attendance
: DeviceUploadLogTypeEnumType.Door;
@@ -224,24 +224,13 @@ public class DeviceUploadLogService : IDeviceUploadLogService
_ => throw new UserFriendlyException("不支持当前设备类型")
};
- var userTypes = new List();
- var userType = request.IsOutsource.HasValue && request.IsOutsource.Value
- ? GainfoUserTypeEnumType.Outsource
- : GainfoUserTypeEnumType.Normal;
+ var userTypes = new List { request.UserType };
- if (request.UserType.HasValue)
+ if (request.UserType == GainfoUserTypeEnumType.Normal)
{
- userType = request.UserType.Value;
-
-
- if (request.UserType.Value == GainfoUserTypeEnumType.Normal)
- {
- userTypes.Add(GainfoUserTypeEnumType.SecurityWhite);
- }
+ userTypes.Add(GainfoUserTypeEnumType.SecurityWhite);
}
- userTypes.Add(userType);
-
var r = await _dbContext.Queryable()
.LeftJoin((x, device) => x.DeviceUniqueNo == device.UniqueNo)
.LeftJoin((x, device, ga) => x.UserUniqueNo == ga.Code)
@@ -249,15 +238,15 @@ public class DeviceUploadLogService : IDeviceUploadLogService
.LeftJoin((x, device, ga, os, gaSap) => gaSap.Code == os.SapCode)
.WhereIF(request.SearchDateTimePeriod.HasValue(), x => x.RaiseDateTime >= request.SearchDateTimePeriod.Start
&& x.RaiseDateTime <= request.SearchDateTimePeriod.End)
- .Where((x, device) => x.Type == type && userTypes.Contains(x.UserType))
+ .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() && userType == GainfoUserTypeEnumType.Outsource, (x, device, ga, os) =>
+ .WhereIF(request.Search.IsPresent() && userTypes.Contains(GainfoUserTypeEnumType.Outsource), (x, device, ga, os) =>
x.UserUniqueNo == request.Search
|| x.DeviceUniqueNo == request.Search
|| os.Supplier == request.Search
|| os.SapCode == request.Search
)
- .WhereIF(request.Search.IsPresent() && userType != GainfoUserTypeEnumType.Outsource, (x, device, ga, os) =>
+ .WhereIF(request.Search.IsPresent() && !userTypes.Contains(GainfoUserTypeEnumType.Outsource), (x, device, ga, os) =>
x.UserUniqueNo == request.Search
|| x.DeviceUniqueNo == request.Search
)