소스 검색

fixed: 终止会签删除steps不全

xf 1 년 전
부모
커밋
5096a3045f
1개의 변경된 파일7개의 추가작업 그리고 5개의 파일을 삭제
  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);