fix 修复已知问题
This commit is contained in:
@@ -23,17 +23,6 @@ public class GainfoPermissionsController : ControllerBase
|
||||
_gainfoPermissions = gainfoPermissions;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据用户查看餐饮点
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("placesByGainfo")]
|
||||
public async Task<Pagination<BusinessPlaceResponse>> GetPlaceByGainfoAsync([FromQuery] DeviceAssRequest request)
|
||||
{
|
||||
return await _gainfoPermissions.GetPlaceByGainfoAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据档案号 设备组查询设备
|
||||
/// </summary>
|
||||
@@ -57,16 +46,6 @@ public class GainfoPermissionsController : ControllerBase
|
||||
return await _gainfoPermissions.GetAssignDeviceCodesAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 当前绑定的设备组信息
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet("assignGroups")]
|
||||
public async Task<List<DeviceGroupTreeResponse>> GetAssignGroupAsync(string userNo)
|
||||
{
|
||||
return await _gainfoPermissions.GetAssignGroupAsync(userNo);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 权限重置
|
||||
/// </summary>
|
||||
|
||||
@@ -9,13 +9,9 @@ namespace Dlhis.Basic.Organization.Services;
|
||||
|
||||
public interface IGainfoPermissionService : IScopeDependency
|
||||
{
|
||||
Task<Pagination<BusinessPlaceResponse>> GetPlaceByGainfoAsync(DeviceAssRequest request);
|
||||
|
||||
Task<List<GetDevicesUnderGroupByUserNoResponse>> GetDevicesUnderGroupByUserNoAsync(string userNo, Guid deviceGroupCode);
|
||||
|
||||
Task<Pagination<GainfoDevicePermissionResponse>> GetAssignDeviceCodesAsync(DeviceAssRequest request);
|
||||
|
||||
Task<List<DeviceGroupTreeResponse>> GetAssignGroupAsync(string userNo);
|
||||
|
||||
Task<DevicePermissionAssignResponse> ResetPermissionsAsync(string userNo, DeviceTaskEnumType type, List<Guid> deviceCodes);
|
||||
}
|
||||
@@ -29,44 +29,6 @@ public class GainfoPermissionService : IGainfoPermissionService
|
||||
_dbContext = dbContext;
|
||||
}
|
||||
|
||||
public async Task<Pagination<BusinessPlaceResponse>> GetPlaceByGainfoAsync(DeviceAssRequest request)
|
||||
{
|
||||
var gainfo = await _gainfoStore.Queryable()
|
||||
.Where(x => x.No == request.UserNo)
|
||||
.SingleAsync();
|
||||
|
||||
if (gainfo == null)
|
||||
{
|
||||
return new Pagination<BusinessPlaceResponse>();
|
||||
}
|
||||
|
||||
//用户所有deviceCode权限
|
||||
var deviceCodes = await _devicePermissionAnalyzeService.GetAssignDeviceCodesAsync(gainfo.Code);
|
||||
|
||||
return await _dbContext.Queryable<DeviceEntity>()
|
||||
.LeftJoin<DeviceRegistryEntity>((x, dr) => x.UniqueNo == dr.DeviceUniqueNo)
|
||||
.LeftJoin<BusinessPlaceEntity>((x, dr, place) => dr.BusinessPlaceCode == place.Code)
|
||||
.LeftJoin<BusinessPlaceShiftRelationshipEntity>((x, dr, place, ps) => place.Code == ps.PlaceCode)
|
||||
.LeftJoin<BusinessShiftEntity>((x, dr, place, ps, s) => s.Code == ps.ShiftCode)
|
||||
.Where(x => x.Type == DeviceTypeEnumType.Meal)
|
||||
.Where(x => deviceCodes.Contains(x.Code))
|
||||
.Where((x, dr) => dr.BusinessPlaceCode.HasValue)
|
||||
.Select((x, dr, place, ps, s) => new BusinessPlaceResponse
|
||||
{
|
||||
Id = place.Id,
|
||||
Code = place.Code,
|
||||
Status = place.Status,
|
||||
Name = place.Name,
|
||||
Catalog = place.Catalog,
|
||||
CustomCode = place.CustomCode,
|
||||
Source = place.Source,
|
||||
|
||||
ShiftCode = s.Code,
|
||||
ShiftName = s.Name
|
||||
})
|
||||
.Distinct()
|
||||
.ToPageListAsync(request);
|
||||
}
|
||||
|
||||
public async Task<List<GetDevicesUnderGroupByUserNoResponse>> GetDevicesUnderGroupByUserNoAsync(string userNo, Guid deviceGroupCode)
|
||||
{
|
||||
@@ -129,6 +91,7 @@ public class GainfoPermissionService : IGainfoPermissionService
|
||||
var page = await _dbContext.Queryable<DeviceEntity>()
|
||||
.LeftJoin<DeviceRegistryEntity>((d, dr) => d.UniqueNo == dr.DeviceUniqueNo)
|
||||
.WhereIF(request.DeviceType.HasValue, d => d.Type == request.DeviceType)
|
||||
.WhereIF(request.Search.IsPresent(), d => d.UniqueNo == request.Search)
|
||||
.Where(d => codes.Contains(d.Code))
|
||||
.Select((d, dr) => new GainfoDevicePermissionResponse { Factory = d.TenantId }, true)
|
||||
.ToPageListAsync(request);
|
||||
@@ -239,21 +202,4 @@ public class GainfoPermissionService : IGainfoPermissionService
|
||||
var deleteCount = type == DeviceTaskEnumType.Delete ? tasks.Count : 0;
|
||||
return new DevicePermissionAssignResponse(addCount, deleteCount);
|
||||
}
|
||||
|
||||
|
||||
public async Task<List<DeviceGroupTreeResponse>> GetAssignGroupAsync(string userNo)
|
||||
{
|
||||
//(DeviceAssignmentTypeEnumType.Group, AssignTypeEnumType.User, userNo
|
||||
var groups = await _devicePermissionAnalyzeService.GetAssignmentsAsync(new DeviceGetAssignmentsRequest
|
||||
{
|
||||
UniqueType = DeviceAssignmentTypeEnumType.Group,
|
||||
AssignType = AssignTypeEnumType.User,
|
||||
AssignValue = userNo
|
||||
});
|
||||
|
||||
return await _dbContext.Queryable<DeviceGroupEntity>()
|
||||
.Where(x => groups.Contains(x.Code))
|
||||
.Select<DeviceGroupTreeResponse>()
|
||||
.ToListAsync();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user