xf před 2 roky
rodič
revize
04b3fabd8f

+ 1 - 1
src/Hotline/FlowEngine/Workflows/EStepCountersignStatus.cs

@@ -6,7 +6,7 @@
 public enum EStepCountersignStatus
 {
     /// <summary>
-    /// 无会签(未处于会签流程中,包括外层也无会签嵌套)
+    /// 无会签(未处于会签流程中,外层也无会签嵌套)
     /// </summary>
     None = 0,
 

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

@@ -933,18 +933,21 @@ namespace Hotline.FlowEngine.Workflows
                     ? EStepCountersignStatus.InCountersign
                     : EStepCountersignStatus.None
                 : prevStep.GetNextStepCountersignStatus();
+
+            var countersignId = isPrevStartCountersign ? prevStep.StartCountersignId : prevStep.CountersignId;
+
             List<WorkflowStep> subSteps;
             if (stepBoxDefine.HandlerType is EHandlerType.AssignUser or EHandlerType.AssignOrg)
             {
                 subSteps = CreateSubSteps(isPrevStartCountersign, stepBox, stepBox.HandlerClassifies, dto.NextStepCode, dto.NextMainHandler,
-                    prevStep?.Id, prevStep?.StartCountersignId, stepStatus, countersignStatus);
+                    prevStep?.Id, countersignId, stepStatus, countersignStatus);
             }
             else
             {
                 if (stepBoxDefine.HandlerType != EHandlerType.Role && !dto.NextHandlers.Any())
                     throw new UserFriendlyException("未指定节点处理者");
                 subSteps = CreateSubSteps(isPrevStartCountersign, stepBox, dto.NextHandlers, dto.NextStepCode, dto.NextMainHandler,
-                    prevStep?.Id, prevStep?.StartCountersignId, stepStatus, countersignStatus);
+                    prevStep?.Id, countersignId, stepStatus, countersignStatus);
             }
             stepBox.Steps.AddRange(subSteps);
             await _workflowStepRepository.AddRangeAsync(subSteps, cancellationToken);