fix 任务分页查看离职和外部人员
This commit is contained in:
@@ -26,8 +26,10 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService
|
|||||||
public async Task<Pagination<DeviceTaskAssignmentResponse>> GetPageAsync(DeviceTaskAssignmentRequest request)
|
public async Task<Pagination<DeviceTaskAssignmentResponse>> GetPageAsync(DeviceTaskAssignmentRequest request)
|
||||||
{
|
{
|
||||||
var page = await _dbContext.Queryable<DeviceTaskEntity>()
|
var page = await _dbContext.Queryable<DeviceTaskEntity>()
|
||||||
.LeftJoin<GainfoEntity>((deviceTask, ga) => deviceTask.UserNo == ga.No)
|
.LeftJoin<DeviceEntity>((deviceTask, device) => deviceTask.DeviceUniqueNo == device.UniqueNo)
|
||||||
.LeftJoin<DeviceEntity>((deviceTask, ga, device) => deviceTask.DeviceUniqueNo == device.UniqueNo)
|
.LeftJoin<GainfoEntity>((deviceTask, device, ga) => deviceTask.UserNo == ga.No)
|
||||||
|
.LeftJoin<GainfoLeaveEntity>((deviceTask, device, ga, gaLeave) => deviceTask.UserNo == gaLeave.No)
|
||||||
|
.LeftJoin<GainfoLeaveEntity>((deviceTask, device, ga, gaLeave, gaEx) => deviceTask.UserNo == gaEx.No)
|
||||||
.Where(deviceTask => deviceTask.TenantId == request.Factory)
|
.Where(deviceTask => deviceTask.TenantId == request.Factory)
|
||||||
.WhereIF(request.Type.HasValue, (deviceTask, ga, device) => deviceTask.DeviceType == request.Type)
|
.WhereIF(request.Type.HasValue, (deviceTask, ga, device) => deviceTask.DeviceType == request.Type)
|
||||||
.WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true && request.SearchDateTimePeriod?.End.HasValue == true,
|
.WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true && request.SearchDateTimePeriod?.End.HasValue == true,
|
||||||
@@ -36,13 +38,13 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService
|
|||||||
.WhereIF(request.TaskTypes.IsPresent(), deviceTask => request.TaskTypes.Contains(deviceTask.Type))
|
.WhereIF(request.TaskTypes.IsPresent(), deviceTask => request.TaskTypes.Contains(deviceTask.Type))
|
||||||
.WhereIF(request.Status.IsPresent(), deviceTask => request.Status.Contains(deviceTask.Status))
|
.WhereIF(request.Status.IsPresent(), deviceTask => request.Status.Contains(deviceTask.Status))
|
||||||
.WhereIF(request.UserNo.IsPresent(), deviceTask => deviceTask.UserNo == request.UserNo)
|
.WhereIF(request.UserNo.IsPresent(), deviceTask => deviceTask.UserNo == request.UserNo)
|
||||||
.WhereIF(!request.Search.IsEmpty(), (deviceTask, ga, device) =>
|
.WhereIF(!request.Search.IsEmpty(), (deviceTask, device, ga) =>
|
||||||
ga.Name == request.Search
|
ga.Name == request.Search
|
||||||
|| ga.Code == request.Search
|
|| ga.Code == request.Search
|
||||||
|| deviceTask.DeviceUniqueNo == request.Search
|
|| deviceTask.DeviceUniqueNo == request.Search
|
||||||
)
|
)
|
||||||
.OrderBy(deviceTask => deviceTask.CreateTime, OrderByType.Desc)
|
.OrderBy(deviceTask => deviceTask.CreateTime, OrderByType.Desc)
|
||||||
.Select((deviceTask, ga, device) => new DeviceTaskAssignmentResponse
|
.Select((deviceTask, device, ga, gaLeave, gaEx) => new DeviceTaskAssignmentResponse
|
||||||
{
|
{
|
||||||
Id = deviceTask.Id,
|
Id = deviceTask.Id,
|
||||||
DeviceUniqueNo = deviceTask.DeviceUniqueNo,
|
DeviceUniqueNo = deviceTask.DeviceUniqueNo,
|
||||||
@@ -50,8 +52,8 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService
|
|||||||
RetryCount = deviceTask.Version,
|
RetryCount = deviceTask.Version,
|
||||||
Status = deviceTask.Status,
|
Status = deviceTask.Status,
|
||||||
UserNo = deviceTask.UserNo,
|
UserNo = deviceTask.UserNo,
|
||||||
UserName = ga.Name,
|
UserName = SqlFunc.IsNull(SqlFunc.IsNull(ga.Name, gaLeave.Name), gaEx.Name),
|
||||||
UserCode = ga.Code,
|
UserCode = SqlFunc.IsNull(SqlFunc.IsNull(ga.Code, gaLeave.Code), gaEx.Code),
|
||||||
Type = deviceTask.Type,
|
Type = deviceTask.Type,
|
||||||
CreateTime = deviceTask.CreateTime,
|
CreateTime = deviceTask.CreateTime,
|
||||||
LastUpdateTime = deviceTask.ModifiedTime,
|
LastUpdateTime = deviceTask.ModifiedTime,
|
||||||
|
|||||||
Reference in New Issue
Block a user