30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
using Dlhis.Basic.Organization.Dto;
|
|
using Dlhis.Entity.Basic.Entity;
|
|
using Dlhis.Entity.Device.Enums;
|
|
|
|
namespace Dlhis.Basic.Device.Services.Implements.PermissionAnalyze;
|
|
|
|
[Service(PermissionAnalyzeConstants.Department)]
|
|
public class DepartmentPermissionAnalyzeService : BasePermissionAnalyzeService
|
|
{
|
|
/// <inheritdoc />
|
|
public DepartmentPermissionAnalyzeService(IServiceProvider serviceProvider) : base(serviceProvider)
|
|
{
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
protected override async Task<List<string>> GetGainfoNosAsync(string assignValue, DeviceTypeEnumType deviceType)
|
|
{
|
|
var data = assignValue.Split(":");
|
|
var factory = data[0];
|
|
var departmentNo = data[1];
|
|
|
|
var departments = await DbContext.Queryable<DepartmentEntity>().Select<DepartmentDto>().ToListAsync();
|
|
var departmentNos = RecursionHelper.HandlerDepartmentNextCodes(departmentNo, departments);
|
|
|
|
return await DbContext.Queryable<GainfoEntity>()
|
|
.Where(x => x.Factory == factory && departmentNos.Contains(x.DepartmentNo))
|
|
.Select(x => x.No)
|
|
.ToListAsync();
|
|
}
|
|
} |