diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs index 169d89f5..620a56f2 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs @@ -223,13 +223,19 @@ public class AssignmentService : IAssignmentService .FirstAsync(); + + var deviceCodes = await _gainfoPermissionApi.GetPermissionsDeviceCodesAsync(userCode); + + + //通过真实设备号获取对应的虚拟设备号和权限值 var elevatorAcsFloors = await _dbContext.Queryable() - .Where(x => x.RealDeviceUniqueNo == deviceUniqueNo) + .LeftJoin((x, d) => x.VirtualDeviceUniqueNo == d.UniqueNo) + .Where((x, d) => x.RealDeviceUniqueNo == deviceUniqueNo && deviceCodes.Contains(d.Code)) .Select(x => new { x.VirtualDeviceUniqueNo, x.AcsValue }) .ToListAsync(); - + //虚拟设备号列表 var virtualDeviceUniqueNos = elevatorAcsFloors.Select(x => x.VirtualDeviceUniqueNo).ToList(); - + //权限值列表 var floorAcsValues = elevatorAcsFloors.Select(x => x.AcsValue).Distinct().ToList(); var all = await CommonHelper.RetryAsync(async () =>