fix: 优化权限不足时,导致无法获取delete任务
This commit is contained in:
@@ -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 })
|
.Select(x => new { UserId = x.Id, UserNo = x.No, UserCode = x.Code, UserName = x.Name, x.CardNo })
|
||||||
.FirstAsync();
|
.FirstAsync();
|
||||||
|
|
||||||
|
userInfo.ThrowIfNull("用户信息不存在");
|
||||||
|
|
||||||
|
//获取用户的设备权限码列表,可以精确到楼层权限(虚拟电梯层级设备)
|
||||||
var deviceCodes = isCurrent ? await _gainfoPermissionApi.GetPermissionsDeviceCodesAsync(userCode) : new List<Guid>();
|
var deviceCodes = isCurrent ? await _gainfoPermissionApi.GetPermissionsDeviceCodesAsync(userCode) : new List<Guid>();
|
||||||
|
|
||||||
|
|
||||||
@@ -235,6 +237,7 @@ public class AssignmentService : IAssignmentService
|
|||||||
.WhereIF(isCurrent, (x, d) => deviceCodes.Contains(d.Code))
|
.WhereIF(isCurrent, (x, d) => deviceCodes.Contains(d.Code))
|
||||||
.Select(x => new { x.VirtualDeviceUniqueNo, x.AcsValue })
|
.Select(x => new { x.VirtualDeviceUniqueNo, x.AcsValue })
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
//虚拟设备号列表
|
//虚拟设备号列表
|
||||||
var virtualDeviceUniqueNos = elevatorAcsFloors.Select(x => x.VirtualDeviceUniqueNo).ToList();
|
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) => deviceTask.UserNo == userInfo.UserNo)
|
||||||
.Where((deviceTask, device) => virtualDeviceUniqueNos.Contains(deviceTask.DeviceUniqueNo))
|
.Where((deviceTask, device) => virtualDeviceUniqueNos.Contains(deviceTask.DeviceUniqueNo))
|
||||||
.Where((deviceTask, device) => device.Enable)
|
.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) })
|
.OrderBy(deviceTask => new { deviceTask.Id, Priority = SqlFunc.Desc(deviceTask.Priority) })
|
||||||
.Select((deviceTask, device) => deviceTask.Id)
|
.Select((deviceTask, device) => deviceTask.Id)
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|||||||
Reference in New Issue
Block a user