|
@@ -138,7 +138,7 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="IsEnable">不传查询所有</param>
|
|
|
/// <returns></returns>
|
|
|
[HttpGet("treelist")]
|
|
|
- public async Task<List<KnowledgeTypeDto>> GetTreeList(bool? IsEnable)
|
|
|
+ public async Task<List<KnowledgeTypeDto>> GetTreeList(bool? IsEnable,string? Attribution)
|
|
|
{
|
|
|
return await _knowledgeTypeRepository.Queryable().WhereIF(IsEnable.HasValue, x =>x.IsEnable == IsEnable)
|
|
|
//.Where(x => x.KnowledgeTypeOrgs.Any(to => to.OrgId == _sessionContext.RequiredOrgId) || x.KnowledgeTypeOrgs.Any() == false)
|
|
@@ -146,7 +146,9 @@ namespace Hotline.Api.Controllers
|
|
|
.Select(x=> new KnowledgeTypeDto()
|
|
|
{
|
|
|
Id = x.Id.SelectAll(),
|
|
|
- KnowledgeNum = SqlFunc.Subqueryable<KnowledgeRelationType>().Where(kr=>kr.KnowledgeTypeId == x.Id).DistinctCount(kr=>kr.KnowledgeId)
|
|
|
+ KnowledgeNum = SqlFunc.Subqueryable<KnowledgeRelationType>().LeftJoin<Knowledge>((kr,k)=> kr.KnowledgeId == k.Id)
|
|
|
+ .Where((kr, k)=>kr.KnowledgeTypeSpliceName.StartsWith(x.SpliceName))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(Attribution),(kr,k)=>k.Attribution == Attribution).DistinctCount(kr=>kr.KnowledgeId)
|
|
|
|
|
|
})
|
|
|
.OrderBy(x => x.Sort).ToTreeAsync(it => it.children, it => it.ParentId, null,it=> it.Id);
|