feat 增加查询其他类型人员数量
This commit is contained in:
@@ -114,6 +114,18 @@ public class DevicePermissionsController : ControllerBase
|
|||||||
return await _devicePermissionService.GetDeviceUserCodesAsync(deviceUniqueNo);
|
return await _devicePermissionService.GetDeviceUserCodesAsync(deviceUniqueNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设备其他类型人员
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="deviceUniqueNo"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet("gainfo/others")]
|
||||||
|
[IgnoreTenant]
|
||||||
|
public async Task<object> ExternalAndManuallyUserNoAsync(string deviceUniqueNo)
|
||||||
|
{
|
||||||
|
return await _devicePermissionService.ExternalAndManuallyUserNoAsync(deviceUniqueNo);
|
||||||
|
}
|
||||||
|
|
||||||
[HttpGet("userPermissionCodes")]
|
[HttpGet("userPermissionCodes")]
|
||||||
[IgnoreTenant]
|
[IgnoreTenant]
|
||||||
public async Task<List<Guid>> GetAssignDeviceCodesAsync(string userCode)
|
public async Task<List<Guid>> GetAssignDeviceCodesAsync(string userCode)
|
||||||
|
|||||||
@@ -53,4 +53,6 @@ public interface IDevicePermissionService : IScopeDependency
|
|||||||
|
|
||||||
|
|
||||||
Task<List<string>> GetDeviceUserCodesAsync(string deviceUniqueNo);
|
Task<List<string>> GetDeviceUserCodesAsync(string deviceUniqueNo);
|
||||||
|
|
||||||
|
Task<object> ExternalAndManuallyUserNoAsync(string deviceUniqueNo);
|
||||||
}
|
}
|
||||||
@@ -468,6 +468,26 @@ public class DevicePermissionService : IDevicePermissionService
|
|||||||
return ids.Distinct().ToList();
|
return ids.Distinct().ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<object> ExternalAndManuallyUserNoAsync(string deviceUniqueNo)
|
||||||
|
{
|
||||||
|
var device = await _dbContext.Queryable<DeviceEntity>().SingleAsync(x => x.UniqueNo == deviceUniqueNo);
|
||||||
|
device.ThrowIfNull("设备不存在");
|
||||||
|
|
||||||
|
var devicePermissionManuallyUserNoCount = await _dbContext.Queryable<GainfoEntity>()
|
||||||
|
.Where(x => SqlFunc.Subqueryable<DevicePermissionManuallyEntity>()
|
||||||
|
.Where(p => p.DeviceCode == device.Code)
|
||||||
|
.Where(p => p.UserNo == x.No).Any())
|
||||||
|
.CountAsync();
|
||||||
|
|
||||||
|
var userNos = await GetDeviceUserNosFromVisitorAsync(device.Code);
|
||||||
|
|
||||||
|
return new
|
||||||
|
{
|
||||||
|
ManuallyUserCount = devicePermissionManuallyUserNoCount,
|
||||||
|
VisitorCount = userNos.Count
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<List<string>> GetDeviceUserCodesAsync(string deviceUniqueNo)
|
public async Task<List<string>> GetDeviceUserCodesAsync(string deviceUniqueNo)
|
||||||
{
|
{
|
||||||
var device = await _dbContext.Queryable<DeviceEntity>().SingleAsync(x => x.UniqueNo == deviceUniqueNo);
|
var device = await _dbContext.Queryable<DeviceEntity>().SingleAsync(x => x.UniqueNo == deviceUniqueNo);
|
||||||
|
|||||||
Reference in New Issue
Block a user