From ef038d1b3e6b8a3c1ca5788fba897cb04e5ee0db Mon Sep 17 00:00:00 2001 From: liguoyang Date: Fri, 22 May 2026 11:22:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E6=9D=83=E9=99=90?= =?UTF-8?q?=E4=B8=8D=E8=B6=B3=E6=97=B6,=E5=AF=BC=E8=87=B4=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E8=8E=B7=E5=8F=96delete=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TaskAssignment/Services/Implements/AssignmentService.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs index beea0d92..f2587dd7 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs @@ -224,7 +224,9 @@ public class AssignmentService : IAssignmentService .Select(x => new { UserId = x.Id, UserNo = x.No, UserCode = x.Code, UserName = x.Name, x.CardNo }) .FirstAsync(); + userInfo.ThrowIfNull("用户信息不存在"); + //获取用户的设备权限码列表,可以精确到楼层权限(虚拟电梯层级设备) var deviceCodes = isCurrent ? await _gainfoPermissionApi.GetPermissionsDeviceCodesAsync(userCode) : new List(); @@ -235,6 +237,7 @@ public class AssignmentService : IAssignmentService .WhereIF(isCurrent, (x, d) => deviceCodes.Contains(d.Code)) .Select(x => new { x.VirtualDeviceUniqueNo, x.AcsValue }) .ToListAsync(); + //虚拟设备号列表 var virtualDeviceUniqueNos = elevatorAcsFloors.Select(x => x.VirtualDeviceUniqueNo).ToList(); //权限值列表 @@ -247,7 +250,8 @@ public class AssignmentService : IAssignmentService .Where((deviceTask, device) => deviceTask.UserNo == userInfo.UserNo) .Where((deviceTask, device) => virtualDeviceUniqueNos.Contains(deviceTask.DeviceUniqueNo)) .Where((deviceTask, device) => device.Enable) - .Where(deviceTask => (deviceTask.Status == DeviceTaskStatusEnumType.Wait || deviceTask.Status == DeviceTaskStatusEnumType.Process) && !string.IsNullOrEmpty(deviceTask.UserNo)) + .Where(deviceTask => (deviceTask.Status == DeviceTaskStatusEnumType.Wait || deviceTask.Status == DeviceTaskStatusEnumType.Process || deviceTask.Type == DeviceTaskEnumType.Delete) + && !string.IsNullOrEmpty(deviceTask.UserNo)) .OrderBy(deviceTask => new { deviceTask.Id, Priority = SqlFunc.Desc(deviceTask.Priority) }) .Select((deviceTask, device) => deviceTask.Id) .ToListAsync();