xf 6 months ago
parent
commit
e5b27eeae3
1 changed files with 40 additions and 4 deletions
  1. 40 4
      src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

+ 40 - 4
src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

@@ -1108,10 +1108,19 @@ namespace Hotline.FlowEngine.Workflows
                 NextStepName = startStep.Name,
                 BusinessType = startStep.BusinessType,
                 StepType = startStep.StepType,
-                HandlerType = targetStepDefine.HandlerType
+                HandlerType = targetStepDefine.HandlerType,
+                NextHandlers = new List<FlowStepHandler>
+                {
+                    new FlowStepHandler
+                    {
+                        RoleId = startStep.RoleId,
+                        RoleName = startStep.RoleName
+                    }
+                }
             };
             var flowAssignInfo = await GetNextStepFlowAssignInfoByDefineAsync(targetStepDefine, dto.HandlerType, dto.IsStartCountersign,
                 dto.NextHandlers.Select(d => new Kv(d.Key, d.Value)).ToList(), cancellationToken);
+            flowAssignInfo.FlowAssignType = EFlowAssignType.Role;
             await RecallAsync(workflow, dto, targetStepDefine, flowAssignInfo, EWorkflowTraceType.Recall, null, isOrderFiled, cancellationToken);
         }
 
@@ -1137,10 +1146,19 @@ namespace Hotline.FlowEngine.Workflows
                 NextStepName = sendStep.Name,
                 BusinessType = sendStep.BusinessType,
                 StepType = sendStep.StepType,
-                HandlerType = targetStepDefine.HandlerType
+                HandlerType = targetStepDefine.HandlerType,
+                NextHandlers = new List<FlowStepHandler>
+                {
+                    new FlowStepHandler
+                    {
+                        RoleId = sendStep.RoleId,
+                        RoleName = sendStep.RoleName
+                    }
+                }
             };
             var flowAssignInfo = await GetNextStepFlowAssignInfoByDefineAsync(targetStepDefine, dto.HandlerType, dto.IsStartCountersign,
                 dto.NextHandlers.Select(d => new Kv(d.Key, d.Value)).ToList(), cancellationToken);
+            flowAssignInfo.FlowAssignType = EFlowAssignType.Role;
             await RecallAsync(workflow, dto, targetStepDefine, flowAssignInfo, EWorkflowTraceType.Recall, null, isOrderFiled, cancellationToken);
         }
 
@@ -1164,10 +1182,19 @@ namespace Hotline.FlowEngine.Workflows
                     NextStepName = sendStep.Name,
                     BusinessType = sendStep.BusinessType,
                     StepType = sendStep.StepType,
-                    HandlerType = targetStepDefine.HandlerType
+                    HandlerType = targetStepDefine.HandlerType,
+                    NextHandlers = new List<FlowStepHandler>
+                    {
+                        new FlowStepHandler
+                        {
+                            RoleId = sendStep.RoleId,
+                            RoleName = sendStep.RoleName
+                        }
+                    }
                 };
                 var flowAssignInfo = await GetNextStepFlowAssignInfoByDefineAsync(targetStepDefine, dto.HandlerType, dto.IsStartCountersign,
                     dto.NextHandlers.Select(d => new Kv(d.Key, d.Value)).ToList(), cancellationToken);
+                flowAssignInfo.FlowAssignType = EFlowAssignType.Role;
                 await RecallAsync(workflow, dto, targetStepDefine, flowAssignInfo, EWorkflowTraceType.Recall, null, isOrderFiled, cancellationToken);
             }
             else
@@ -1186,10 +1213,19 @@ namespace Hotline.FlowEngine.Workflows
                     NextStepName = startStep.Name,
                     BusinessType = startStep.BusinessType,
                     StepType = startStep.StepType,
-                    HandlerType = targetStepDefine.HandlerType
+                    HandlerType = targetStepDefine.HandlerType,
+                    NextHandlers = new List<FlowStepHandler>
+                    {
+                        new FlowStepHandler
+                        {
+                            RoleId = startStep.RoleId,
+                            RoleName = startStep.RoleName
+                        }
+                    }
                 };
                 var flowAssignInfo = await GetNextStepFlowAssignInfoByDefineAsync(targetStepDefine, dto.HandlerType, dto.IsStartCountersign,
                     dto.NextHandlers.Select(d => new Kv(d.Key, d.Value)).ToList(), cancellationToken);
+                flowAssignInfo.FlowAssignType = EFlowAssignType.Role;
                 await RecallAsync(workflow, dto, targetStepDefine, flowAssignInfo, EWorkflowTraceType.Recall, null, isOrderFiled, cancellationToken);
             }
         }