fix 任务分页查看离职和外部人员

This commit is contained in:
2024-06-17 10:48:44 +08:00
parent a9d9427da6
commit 2c3d5422d3

View File

@@ -26,8 +26,10 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService
public async Task<Pagination<DeviceTaskAssignmentResponse>> GetPageAsync(DeviceTaskAssignmentRequest request)
{
var page = await _dbContext.Queryable<DeviceTaskEntity>()
.LeftJoin<GainfoEntity>((deviceTask, ga) => deviceTask.UserNo == ga.No)
.LeftJoin<DeviceEntity>((deviceTask, ga, device) => deviceTask.DeviceUniqueNo == device.UniqueNo)
.LeftJoin<DeviceEntity>((deviceTask, 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)
.WhereIF(request.Type.HasValue, (deviceTask, ga, device) => deviceTask.DeviceType == request.Type)
.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.Status.IsPresent(), deviceTask => request.Status.Contains(deviceTask.Status))
.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.Code == request.Search
|| deviceTask.DeviceUniqueNo == request.Search
)
.OrderBy(deviceTask => deviceTask.CreateTime, OrderByType.Desc)
.Select((deviceTask, ga, device) => new DeviceTaskAssignmentResponse
.Select((deviceTask, device, ga, gaLeave, gaEx) => new DeviceTaskAssignmentResponse
{
Id = deviceTask.Id,
DeviceUniqueNo = deviceTask.DeviceUniqueNo,
@@ -50,8 +52,8 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService
RetryCount = deviceTask.Version,
Status = deviceTask.Status,
UserNo = deviceTask.UserNo,
UserName = ga.Name,
UserCode = ga.Code,
UserName = SqlFunc.IsNull(SqlFunc.IsNull(ga.Name, gaLeave.Name), gaEx.Name),
UserCode = SqlFunc.IsNull(SqlFunc.IsNull(ga.Code, gaLeave.Code), gaEx.Code),
Type = deviceTask.Type,
CreateTime = deviceTask.CreateTime,
LastUpdateTime = deviceTask.ModifiedTime,