diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Response/ElevatorAcsDeviceTaskToDeviceByDeviceResponse.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Response/ElevatorAcsDeviceTaskToDeviceByDeviceResponse.cs index f4ef8dc9..0708c60f 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Response/ElevatorAcsDeviceTaskToDeviceByDeviceResponse.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Response/ElevatorAcsDeviceTaskToDeviceByDeviceResponse.cs @@ -10,6 +10,11 @@ public class ElevatorAcsDeviceTaskToDeviceByDeviceResponse public string CardNo { get; set; } + /// + /// 老卡号,换卡时才有值 + /// + public string OldCardNo { get; set; } + public List TaskIds { get; set; } public List FloorAcsValues { get; set; } diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs index 540f6962..b73e388b 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/AssignmentService.cs @@ -271,11 +271,20 @@ public class AssignmentService : IAssignmentService .Select(x => new { UserId = x.Id, UserCode = x.Code, UserName = x.Name, x.CardNo }) .FirstAsync(); + var oldCardNo = await _dbContext.Queryable() + .Where(x => x.UserNo == userInfo.UserCode) + .Where(x => x.CardNo != userInfo.CardNo) + .Where(x => SqlFunc.Subqueryable().Where(p => !string.IsNullOrEmpty(p.CardNo) && p.CardNo == x.CardNo).NotAny()) + .OrderByDescending(x => x.Id) + .Select(x => x.CardNo) + .FirstAsync(); + return new ElevatorAcsDeviceTaskToDeviceByDeviceResponse { DeviceUniqueNo = deviceUniqueNo, UserId = userInfo.UserId, UserCode = userInfo.UserCode, + OldCardNo = oldCardNo, CardNo = userInfo.CardNo, UserName = userInfo.UserName, FloorAcsValues = floorAcsValues,