浏览代码

fix: 退回场景:节点指派给原办理对象

xf 10 月之前
父节点
当前提交
070d09238c
共有 1 个文件被更改,包括 11 次插入2 次删除
  1. 11 2
      src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

+ 11 - 2
src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

@@ -563,8 +563,7 @@ namespace Hotline.FlowEngine.Workflows
             var trace = await PreviousTraceAsync(workflow.Id, dto, currentStep, current, cancellationToken);
 
             //复制上一个节点为待接办
-            var newPrevStep = await DuplicateStepWithTraceAsync(workflow, prevStep, EWorkflowTraceType.Previous,
-                cancellationToken);
+            var newPrevStep = await DuplicateStepWithTraceAsync(workflow, prevStep, EWorkflowTraceType.Previous, cancellationToken);
 
             //remove workflow.steps
             await _workflowStepRepository.RemoveRangeAsync(removeSteps, cancellationToken);
@@ -1775,11 +1774,21 @@ namespace Hotline.FlowEngine.Workflows
             newStep.StartCountersignId = step.StartCountersignId;
             newStep.CountersignId = step.CountersignId;
             newStep.IsStartedCountersignEnd = step.IsStartedCountersignEnd;
+
+            //退回场景:指派给原办理对象,其余场景:按照原节点原始指派方式复制
+            if (traceType is EWorkflowTraceType.Previous)
+            {
+                newStep.FlowAssignType = EFlowAssignType.User;
+                newStep.Assign(step.HandlerId, step.HandlerName, step.HandlerOrgId, step.HandlerOrgName);
+            }
+
             await _workflowStepRepository.AddAsync(newStep, cancellationToken);
             //await _workflowStepRepository.AddNav(newStep)
             //    .Include(d => d.StepHandlers)
             //    .ExecuteCommandAsync();
 
+
+
             await CreateTraceAsync(workflow, newStep, traceType, cancellationToken);
 
             return newStep;