田爽 10 сар өмнө
parent
commit
f5586f8790

+ 1 - 1
src/Hotline.Api/Controllers/KnowledgeCommonController.cs

@@ -140,7 +140,7 @@ namespace Hotline.Api.Controllers
         public async Task<List<KnowledgeType>> GetTreeList(bool? IsEnable)
         {
             return await _knowledgeTypeRepository.Queryable().WhereIF(IsEnable.HasValue, p => p.IsEnable == IsEnable)
-				 .Where(x => x.KnowledgeTypeOrgs.Any(to => to.OrgId == _sessionContext.RequiredOrgId)).OrderBy(p => p.Sort).ToTreeAsync(it => it.children, it => it.ParentId, null,it=> it.Id);
+				 .Where(x => x.KnowledgeTypeOrgs.Any(to => to.OrgId == _sessionContext.RequiredOrgId) || x.KnowledgeTypeOrgs.Any() == false).OrderBy(p => p.Sort).ToTreeAsync(it => it.children, it => it.ParentId, null,it=> it.Id);
         }
 
         /// <summary>

+ 2 - 2
src/Hotline.Api/Controllers/KnowledgeController.cs

@@ -515,7 +515,7 @@ namespace Hotline.Api.Controllers
                 .Includes(x=>x.KnowledgeType)
                 //.Includes(x=>x.KnowledgeRelationTypes,t=> t.)
                 .Where(x => x.IsDeleted == false)
-                .Where(x=>x.KnowledgeType.Any(t=>t.KnowledgeType.KnowledgeTypeOrgs.Any(to=>to.OrgId == _sessionContext.RequiredOrgId)))
+                .Where(x=>x.KnowledgeType.Any(t=>t.KnowledgeType.KnowledgeTypeOrgs.Any(to=>to.OrgId == _sessionContext.RequiredOrgId) || t.KnowledgeType.KnowledgeTypeOrgs.Any() == false))
                 .Where(x => (x.Status == EKnowledgeStatus.Drafts && x.CreatorId == _sessionContext.UserId) || (x.Status != EKnowledgeStatus.Drafts))
                 .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), x => x.Title.Contains(pagedDto.Title!))
                 .WhereIF(!string.IsNullOrEmpty(pagedDto.Keyword), x => x.Title.Contains(pagedDto.Keyword!) || x.CreatorName.Contains(pagedDto.Keyword!) || x.CreatorOrgName.Contains(pagedDto.Keyword!) || x.SourceOrganize.Name.Contains(pagedDto.Keyword!))
@@ -562,7 +562,7 @@ namespace Hotline.Api.Controllers
                 .Includes(x => x.HotspotType)
                 .Where(x => x.IsDeleted == false)
                 .Where(x => x.Status == EKnowledgeStatus.OnShelf)
-                .Where(x => x.KnowledgeType.Any(t => t.KnowledgeType.KnowledgeTypeOrgs.Any(to => to.OrgId == _sessionContext.RequiredOrgId)))
+                .Where(x => x.KnowledgeType.Any(t => t.KnowledgeType.KnowledgeTypeOrgs.Any(to => to.OrgId == _sessionContext.RequiredOrgId) || t.KnowledgeType.KnowledgeTypeOrgs.Any() == false))
 				.WhereIF(pagedDto.RetrievalType == EKnowledgeRetrievalType.All && !string.IsNullOrEmpty(pagedDto.Keyword), d => d.Title.Contains(pagedDto.Keyword!) || d.Content.Contains(pagedDto.Keyword!))// || d.Additions.Contains(pagedDto.Keyword)
                 .WhereIF(pagedDto.RetrievalType == EKnowledgeRetrievalType.Title && !string.IsNullOrEmpty(pagedDto.Keyword), d => d.Title.Contains(pagedDto.Keyword!))
                 .WhereIF(pagedDto.RetrievalType == EKnowledgeRetrievalType.Content && !string.IsNullOrEmpty(pagedDto.Keyword), d => d.Content.Contains(pagedDto.Keyword!))

+ 2 - 2
src/Hotline/KnowledgeBase/KnowledgeTypeDomainService.cs

@@ -86,9 +86,9 @@ namespace Hotline.KnowledgeBase
 	        //如果修改了名称,对应修改子分类全称
 	        if (result)
 		        await UpdateChildNode(type.Id);
-	        if (dto.TypeOrgDtos != null && dto.TypeOrgDtos.Any())
+	        await _knowledgeTypeOrgRepository.RemoveAsync(x => x.TypeId == type.Id, false, cancellationToken);
+			if (dto.TypeOrgDtos != null && dto.TypeOrgDtos.Any())
 	        {
-                await _knowledgeTypeOrgRepository.RemoveAsync(x => x.TypeId == type.Id,false,cancellationToken);
 		        List<KnowledgeTypeOrg> orgs = _mapper.Map<List<KnowledgeTypeOrg>>(dto.TypeOrgDtos);
 		        orgs.ForEach(x => x.TypeId = type.Id);
 				await _knowledgeTypeOrgRepository.AddRangeAsync(orgs, cancellationToken);