diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs
index 87349ff1..e3aae39b 100644
--- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs
+++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs
@@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
+using Dlhis.Entity.Basic.Enums;
using Dlhis.Entity.Device.Enums;
using Kurisu.AspNetCore.CustomClass;
using Kurisu.AspNetCore.DataAccess.Dto;
@@ -27,4 +28,10 @@ public class DeviceUploadLogPageRequest : PageDto
/// 日期范围查询
///
public DateTimePeriod SearchDateTimePeriod { get; set; }
-}
+
+ ///
+ /// 用户类型
+ ///
+ [EnumDataType(typeof(GainfoUserTypeEnumType))]
+ 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 2298cd68..2d166f8b 100644
--- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs
+++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs
@@ -223,94 +223,53 @@ public class DeviceUploadLogService : IDeviceUploadLogService
_ => throw new UserFriendlyException("不支持当前设备类型")
};
- if (request.IsOutsource.HasValue && request.IsOutsource.Value)
- {
- var r = await _dbContext.Queryable()
- .LeftJoin((os, x) => os.Code == x.UserUniqueNo)
- .LeftJoin((os, x, device) => x.DeviceUniqueNo == device.UniqueNo)
- .LeftJoin((os, x, device, ga) => os.Code == ga.Code)
- .LeftJoin((os, x, device, ga, gaSap) => gaSap.Code == os.SapCode)
- .WhereIF(request.SearchDateTimePeriod.HasValue(), (os, x) => x.RaiseDateTime >= request.SearchDateTimePeriod.Start
- && x.RaiseDateTime <= request.SearchDateTimePeriod.End)
- .Where((os, x) => x.Type == type)
- .WhereIF(request.Search.IsPresent(), (os, x, device, ga, gaSap) =>
- x.UserUniqueNo == request.Search
- || x.DeviceUniqueNo == request.Search
- || os.Supplier == request.Search
- || os.SapCode == request.Search
- ).OrderBy((os, x, device, ga, gaSap) => x.ModifiedTime, OrderByType.Desc)
- .Select((os, x, device, ga, gaSap) => new DeviceUploadLogResponse
- {
- Id = x.Id,
- OriginUserUniqueNo = x.UserUniqueNo,
- OutsourceSupplier = os.Supplier,
- SapUserCode = os.SapCode,
- SapUserName = gaSap.Name,
- DeviceUniqueNo = x.DeviceUniqueNo,
- RaiseDateTime = x.RaiseDateTime,
- CreateTime = x.CreateTime,
- SerialNo = x.SerialNo,
- UserNo = ga.No,
- UserCode = ga.Code,
- UserName = ga.Name,
- DeployPlace = device.DeployPlace,
- Sync = x.Sync,
- Status = x.Status,
- }).ToPageListAsync(request.PageIndex, request.PageSize);
+ var userType = request.IsOutsource.HasValue && request.IsOutsource.Value
+ ? GainfoUserTypeEnumType.Outsource
+ : GainfoUserTypeEnumType.Normal;
- return new Pagination
- {
- PageIndex = request.PageIndex,
- PageSize = request.PageSize,
- Total = 0,
- Data = r
- };
- }
- else
+ if (request.UserType.HasValue)
{
- var r = await _dbContext.Queryable()
- .LeftJoin((x, device) => x.DeviceUniqueNo == device.UniqueNo)
- .LeftJoin((x, device, ga) => x.UserUniqueNo == ga.Code)
- .LeftJoin((x, device, ga, os) => x.UserUniqueNo == os.Code)
- .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 && !SqlFunc.IsNullOrEmpty(x.UserUniqueNo))
- .WhereIF(request.Sync.HasValue, x => x.Sync == request.Sync)
- .WhereIF(request.IsOutsource.HasValue && request.IsOutsource.Value,
- x => SqlFunc.Subqueryable().Where(p => p.Code == x.UserUniqueNo).Any())
- .WhereIF(request.IsOutsource.HasValue && !request.IsOutsource.Value,
- x => SqlFunc.Subqueryable().Where(p => p.Code == x.UserUniqueNo).NotAny())
- .WhereIF(request.Search.IsPresent(), (x, device, ga, os) =>
- x.UserUniqueNo == request.Search || x.DeviceUniqueNo == request.Search
- )
- .OrderBy(x => x.ModifiedTime, OrderByType.Desc)
- .Select((x, device, ga, os, gaSap) => new DeviceUploadLogResponse
- {
- Id = x.Id,
- OriginUserUniqueNo = x.UserUniqueNo,
- OutsourceSupplier = os.Supplier,
- SapUserCode = os.SapCode,
- SapUserName = gaSap.Name,
- DeviceUniqueNo = x.DeviceUniqueNo,
- RaiseDateTime = x.RaiseDateTime,
- CreateTime = x.CreateTime,
- SerialNo = x.SerialNo,
- UserNo = ga.No,
- UserCode = ga.Code,
- UserName = ga.Name,
- DeployPlace = device.DeployPlace,
- Sync = x.Sync,
- Status = x.Status,
- }).ToPageListAsync(request.PageIndex, request.PageSize);
-
- return new Pagination
- {
- PageIndex = request.PageIndex,
- PageSize = request.PageSize,
- Total = 0,
- Data = r
- };
+ userType = request.UserType.Value;
}
+
+ var r = await _dbContext.Queryable()
+ .LeftJoin((x, device) => x.DeviceUniqueNo == device.UniqueNo)
+ .LeftJoin((x, device, ga) => x.UserUniqueNo == ga.Code)
+ .LeftJoin((x, device, ga, os) => x.UserUniqueNo == os.Code)
+ .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 && x.UserType == userType)
+ .WhereIF(request.Sync.HasValue, x => x.Sync == request.Sync)
+ .WhereIF(request.Search.IsPresent(), (x, device, ga, os) =>
+ x.UserUniqueNo == request.Search || x.DeviceUniqueNo == request.Search
+ )
+ .OrderBy(x => x.ModifiedTime, OrderByType.Desc)
+ .Select((x, device, ga, os, gaSap) => new DeviceUploadLogResponse
+ {
+ Id = x.Id,
+ OriginUserUniqueNo = x.UserUniqueNo,
+ OutsourceSupplier = os.Supplier,
+ SapUserCode = os.SapCode,
+ SapUserName = gaSap.Name,
+ DeviceUniqueNo = x.DeviceUniqueNo,
+ RaiseDateTime = x.RaiseDateTime,
+ CreateTime = x.CreateTime,
+ SerialNo = x.SerialNo,
+ UserNo = ga.No,
+ UserCode = ga.Code,
+ UserName = ga.Name,
+ DeployPlace = device.DeployPlace,
+ Sync = x.Sync,
+ Status = x.Status,
+ }).ToPageListAsync(request.PageIndex, request.PageSize);
+
+ return new Pagination
+ {
+ PageIndex = request.PageIndex,
+ PageSize = request.PageSize,
+ Total = 0,
+ Data = r
+ };
}
}
\ No newline at end of file