From 2c3d5422d3c03e25155736a38105defc27eeec76 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Mon, 17 Jun 2024 10:48:44 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BB=BB=E5=8A=A1=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E7=A6=BB=E8=81=8C=E5=92=8C=E5=A4=96=E9=83=A8?= =?UTF-8?q?=E4=BA=BA=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implements/DeviceTaskAssignmentService.cs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs index afba7364..a48e5ac5 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs @@ -26,8 +26,10 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService public async Task> GetPageAsync(DeviceTaskAssignmentRequest request) { var page = await _dbContext.Queryable() - .LeftJoin((deviceTask, ga) => deviceTask.UserNo == ga.No) - .LeftJoin((deviceTask, ga, device) => deviceTask.DeviceUniqueNo == device.UniqueNo) + .LeftJoin((deviceTask, device) => deviceTask.DeviceUniqueNo == device.UniqueNo) + .LeftJoin((deviceTask, device, ga) => deviceTask.UserNo == ga.No) + .LeftJoin((deviceTask, device, ga, gaLeave) => deviceTask.UserNo == gaLeave.No) + .LeftJoin((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,