Browse Source

fixed: 终止会签删除steps不全

xf 1 year ago
parent
commit
5096a3045f
1 changed files with 7 additions and 5 deletions
  1. 7 5
      src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

+ 7 - 5
src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

@@ -1953,13 +1953,15 @@ namespace Hotline.FlowEngine.Workflows
         private void HandleStepsByTerminalCs(WorkflowStep step, List<WorkflowStep> steps, List<WorkflowTrace> traces,
             ref List<WorkflowStep> updateSteps, ref List<WorkflowTrace> updateTraces)
         {
-            if (step == null) return;
-            var nextSteps = steps.Where(d => d.PrevStepId == step.Id).ToList();
-            if (nextSteps.Any())
+            if (step.IsStartCountersign)
             {
-                foreach (var nextStep in nextSteps)
+                var countersignSteps = steps.Where(d => d.CountersignId == step.StartCountersignId).ToList();
+                if(countersignSteps.Any())
                 {
-                    HandleStepsByTerminalCs(nextStep, steps, traces, ref updateSteps, ref updateTraces);
+                    foreach (var countersignStep in countersignSteps)
+                    {
+                        HandleStepsByTerminalCs(countersignStep,steps,traces,ref updateSteps, ref updateTraces);
+                    }
                 }
             }
             EndStepByTerminalCs(step, traces, ref updateSteps, ref updateTraces);