Files
jinko.yikatong/Src/Dlhis.Basic/Device/Services/Implements/PermissionAnalyze/DepartmentPermissionAnalyzeService.cs

31 lines
1.1 KiB
C#

using Dlhis.Basic.Organization.Dto;
using Dlhis.Basic.Utils;
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();
}
}