浏览代码

可以办理的节点不允许结束会签

xf 5 月之前
父节点
当前提交
60c11942d5
共有 1 个文件被更改,包括 9 次插入5 次删除
  1. 9 5
      src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

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

@@ -589,16 +589,20 @@ namespace Hotline.FlowEngine.Workflows
                 d.Status is not EWorkflowStepStatus.Handled
             );
 
-            var unCompletedCountersign = workflow.Countersigns
-                .FirstOrDefault(d => !d.IsCompleted() && d.StarterOrgId == orgId);
-            if (unCompletedCountersign is null)
-                return (workflow, null, canHandle, canPrevious, unhandlePreviousTrace);
+            WorkflowCountersign? unCompletedCountersign = null;
+            if (!canHandle)
+            {
+                unCompletedCountersign = workflow.Countersigns
+                    .FirstOrDefault(d => !d.IsCompleted() && d.StarterOrgId == orgId);
+                if (unCompletedCountersign is null)
+                    return (workflow, null, canHandle, canPrevious, unhandlePreviousTrace);
+            }
 
             //var existCountersignEndStep = workflow.Steps.Exists(d =>
             //    d.IsCountersignEndStep && d.CountersignStartStepId == unCompletedCountersign.StartStepId);
             //return (workflow, existCountersignEndStep ? null : unCompletedCountersign.Id, canPrevious);
 
-            return (workflow, unCompletedCountersign.Id, canHandle, canPrevious, unhandlePreviousTrace);
+            return (workflow, unCompletedCountersign?.Id ?? null, canHandle, canPrevious, unhandlePreviousTrace);
         }
 
         /// <summary>