|
@@ -1953,13 +1953,15 @@ namespace Hotline.FlowEngine.Workflows
|
|
private void HandleStepsByTerminalCs(WorkflowStep step, List<WorkflowStep> steps, List<WorkflowTrace> traces,
|
|
private void HandleStepsByTerminalCs(WorkflowStep step, List<WorkflowStep> steps, List<WorkflowTrace> traces,
|
|
ref List<WorkflowStep> updateSteps, ref List<WorkflowTrace> updateTraces)
|
|
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);
|
|
EndStepByTerminalCs(step, traces, ref updateSteps, ref updateTraces);
|