田爽 9 hónapja
szülő
commit
e213b710ad

+ 6 - 3
src/Hotline.Api/Controllers/KnowledgeController.cs

@@ -148,9 +148,12 @@ namespace Hotline.Api.Controllers
             }
             if (dto.Data.KnowledgeType.Any())
             {
-                List<KnowledgeRelationType> types = _mapper.Map<List<KnowledgeRelationType>>(dto.Data.KnowledgeType);
-                types.ForEach(x => x.KnowledgeId = kn.Id);
-				await _knowledgeRelationTypeRepository.AddRangeAsync(types, HttpContext.RequestAborted);
+	            foreach (var item in dto.Data.KnowledgeType)
+	            {
+					KnowledgeRelationType type = _mapper.Map<KnowledgeRelationType>(item);
+                    type.KnowledgeId = kn.Id;
+                    await _knowledgeRelationTypeRepository.AddAsync(type, HttpContext.RequestAborted);
+				}
 			}
             return kn.Id;
         }

+ 2 - 2
src/Hotline.Application/Handlers/FlowEngine/WorkflowEndHandler.cs

@@ -138,8 +138,8 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
                 case WorkflowModuleConsts.KnowledgeAdd://新增知识库
                 case WorkflowModuleConsts.KnowledgeUpdate://修改知识库
                 case WorkflowModuleConsts.KnowledgeDelete://删除知识库
-                    var knowledgeWork = await _knowledgeWorkFlowRepository.Queryable().Where(x => x.Id == workflow.ExternalId).FirstAsync(cancellationToken);
-                    var knowledge = await _knowledgeRepository.Queryable().Where(x => x.Id == knowledgeWork.KnowledgeId).FirstAsync(cancellationToken);
+                    //var knowledgeWork = await _knowledgeWorkFlowRepository.Queryable().Where(x => x.Id == workflow.ExternalId).FirstAsync(cancellationToken);
+                    var knowledge = await _knowledgeRepository.Queryable().Where(x => x.Id == workflow.ExternalId).FirstAsync(cancellationToken);
                     knowledge.Flowed(workflow.FlowedUserIds, workflow.FlowedOrgIds, workflow.HandlerUsers, workflow.HandlerOrgs);
                     await _knowledgeRepository.UpdateAsync(knowledge, cancellationToken);
                     if (isReviewPass)

+ 2 - 2
src/Hotline.Application/Handlers/FlowEngine/WorkflowNextHandler.cs

@@ -235,8 +235,8 @@ public class WorkflowNextHandler : INotificationHandler<NextStepNotify>
                 case WorkflowModuleConsts.KnowledgeAdd:
                 case WorkflowModuleConsts.KnowledgeUpdate:
                 case WorkflowModuleConsts.KnowledgeDelete:
-                    var knowledgeWork = await _knowledgeWorkFlowRepository.Queryable().Where(x => x.Id == workflow.ExternalId).FirstAsync(cancellationToken);
-                    var knowledge = await _knowledgeRepository.Queryable().Where(x => x.Id == knowledgeWork.KnowledgeId).FirstAsync(cancellationToken);
+                    //var knowledgeWork = await _knowledgeWorkFlowRepository.Queryable().Where(x => x.Id == workflow.ExternalId).FirstAsync(cancellationToken);
+                    var knowledge = await _knowledgeRepository.Queryable().Where(x => x.Id == workflow.ExternalId).FirstAsync(cancellationToken);
                     knowledge.Flowed(workflow.FlowedUserIds, workflow.FlowedOrgIds, workflow.HandlerUsers, workflow.HandlerOrgs);
                     await _knowledgeRepository.UpdateAsync(knowledge, cancellationToken);
                     break;

+ 1 - 12
src/Hotline/KnowledgeBase/KnowledgeDomainService.cs

@@ -248,28 +248,17 @@ namespace Hotline.KnowledgeBase
         /// <exception cref="UserFriendlyException"></exception>
         public async Task EndWorkKnowledge(Workflow workflow, CancellationToken cancellationToken)
         {
-            //修改主表审批状态  根据流程ID查询审批主表
-            var workFlow = await _knowledgeWorkFlowRepository.GetAsync(p => p.WorkflowId == workflow.Id, cancellationToken);
-            if (workFlow == null)
-                throw new UserFriendlyException($"知识查询失败, workflowId: {workflow.Id}", "无效流程编号");
-
-            //根据审批主表知识ID查询当前知识
-            //  var knowledge = await _knowledgeRepository.GetAsync(p => p.Id == workFlow.KnowledgeId, cancellationToken);
 
             var knowledge = await _knowledgeRepository.Queryable(false, false, false)
                 .Includes(it => it.SystemOrganize)
                 .Includes(it => it.HotspotType)
                 .Includes(it => it.User)
-                .Where(p => p.Id == workFlow.KnowledgeId)
+                .Where(p => p.Id == workflow.ExternalId)
                 .FirstAsync();
 
             if (knowledge == null)
                 throw new UserFriendlyException($"知识查询失败");
 
-            workFlow.HandleTime = DateTime.Now;
-            workFlow.WorkFlowApplyStatus = EKnowledgeWorkFlowStatus.Success;
-            workFlow.ActualOpinion = workflow.ActualOpinion;
-			await _knowledgeWorkFlowRepository.UpdateAsync(workFlow, cancellationToken);
 
             string isSendType = "";//推送类别:新增0,修改1,删除2