fix 离职人员

This commit is contained in:
2026-05-15 09:50:59 +08:00
parent 074e4919fd
commit 137481aa42

View File

@@ -215,22 +215,24 @@ public class AssignmentService : IAssignmentService
var userInfo = await _dbContext.Queryable<GainfoEntity>()
.Where(x => x.Code == userCode)
.Select(x => new { UserId = x.Id, UserNo = x.No, UserCode = x.Code, UserName = x.Name, x.CardNo })
.FirstAsync()
??
await _dbContext.Queryable<GainfoLeaveEntity>()
.FirstAsync();
var isCurrent = userInfo != null;
userInfo ??= await _dbContext.Queryable<GainfoLeaveEntity>()
.Where(x => x.Code == userCode)
.Select(x => new { UserId = x.Id, UserNo = x.No, UserCode = x.Code, UserName = x.Name, x.CardNo })
.FirstAsync();
var deviceCodes = await _gainfoPermissionApi.GetPermissionsDeviceCodesAsync(userCode);
var deviceCodes = isCurrent ? await _gainfoPermissionApi.GetPermissionsDeviceCodesAsync(userCode) : new List<Guid>();
//通过真实设备号获取对应的虚拟设备号和权限值
var elevatorAcsFloors = await _dbContext.Queryable<ElevatorAcsFloorEntity>()
.LeftJoin<DeviceEntity>((x, d) => x.VirtualDeviceUniqueNo == d.UniqueNo)
.Where((x, d) => x.RealDeviceUniqueNo == deviceUniqueNo && deviceCodes.Contains(d.Code))
.Where((x, d) => x.RealDeviceUniqueNo == deviceUniqueNo)
.WhereIF(isCurrent, (x, d) => deviceCodes.Contains(d.Code))
.Select(x => new { x.VirtualDeviceUniqueNo, x.AcsValue })
.ToListAsync();
//虚拟设备号列表