fix code/no包含查找
This commit is contained in:
@@ -109,7 +109,11 @@ public class DevicePermissionService : IDevicePermissionService
|
||||
//保存配置的权限
|
||||
if (request.Values.IsPresent())
|
||||
{
|
||||
var gainfoNos = await _dbContext.Queryable<GainfoEntity>().Where(x => request.Values.Contains(x.Code)).Select(x => x.No).ToListAsync();
|
||||
var gainfoNos = await _dbContext.Queryable<GainfoEntity>()
|
||||
.Where(x => request.Values.Contains(x.Code) || request.Values.Contains(x.No))
|
||||
.Select(x => x.No)
|
||||
.ToListAsync();
|
||||
|
||||
(gainfoNos.Count != request.Values.Count).ThrowIfTrue("存在非当前权限访问的人员,操作禁止!");
|
||||
|
||||
var devicePermissions = gainfoNos.Select(v => new DevicePermissionEntity
|
||||
@@ -409,23 +413,23 @@ public class DevicePermissionService : IDevicePermissionService
|
||||
ids.Add(await _dbContext.Queryable<GainfoEntity>().Where(x => x.No == permission.AssignValue).Select(x => x.Id).SingleAsync());
|
||||
break;
|
||||
case AssignTypeEnumType.Group:
|
||||
{
|
||||
var code = Guid.Parse(permission.AssignValue);
|
||||
ids.AddRange(await _dbContext.Queryable<GainfoGroupEntity>().Where(x => x.Code == code)
|
||||
.LeftJoin<GainfoGroupRelationshipEntity>((a, b) => a.Code == b.GroupCode)
|
||||
.LeftJoin<GainfoEntity>((a, b, c) => b.UserNo == c.No)
|
||||
.Select((a, b, c) => c.Id).ToListAsync());
|
||||
}
|
||||
{
|
||||
var code = Guid.Parse(permission.AssignValue);
|
||||
ids.AddRange(await _dbContext.Queryable<GainfoGroupEntity>().Where(x => x.Code == code)
|
||||
.LeftJoin<GainfoGroupRelationshipEntity>((a, b) => a.Code == b.GroupCode)
|
||||
.LeftJoin<GainfoEntity>((a, b, c) => b.UserNo == c.No)
|
||||
.Select((a, b, c) => c.Id).ToListAsync());
|
||||
}
|
||||
break;
|
||||
case AssignTypeEnumType.Department:
|
||||
{
|
||||
ids.AddRange(await _dbContext.Queryable<GainfoEntity>().Where(x => x.DepartmentNo == permission.AssignValue).Select(x => x.Id).ToListAsync());
|
||||
}
|
||||
{
|
||||
ids.AddRange(await _dbContext.Queryable<GainfoEntity>().Where(x => x.DepartmentNo == permission.AssignValue).Select(x => x.Id).ToListAsync());
|
||||
}
|
||||
break;
|
||||
case AssignTypeEnumType.Tenant:
|
||||
{
|
||||
ids.AddRange(await _dbContext.Queryable<GainfoEntity>().Where(x => x.Factory == permission.AssignValue).Select(x => x.Id).ToListAsync());
|
||||
}
|
||||
{
|
||||
ids.AddRange(await _dbContext.Queryable<GainfoEntity>().Where(x => x.Factory == permission.AssignValue).Select(x => x.Id).ToListAsync());
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException();
|
||||
|
||||
Reference in New Issue
Block a user