xf 5 сар өмнө
parent
commit
a3a5fd46c5

+ 6 - 6
src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

@@ -2323,17 +2323,16 @@ namespace Hotline.FlowEngine.Workflows
         private async Task<List<WorkflowStep>> CreateCsEndStepsByTargetPrevAsync(Workflow workflow, WorkflowStep step,
             BasicWorkflowDto dto, DateTime? expiredTime, bool isAutoFillSummaryOpinion = false, CancellationToken cancellationToken = default)
         {
-            //var countersignStartStep = workflow.Steps.FirstOrDefault(d => d.Id == step.PrevStepId);
-            var countersignStartStep = workflow.Steps.FirstOrDefault(d => d.StartCountersignId == step.CountersignId);
+            var countersignStartStep = workflow.Steps.FirstOrDefault(d => d.Id == step.PrevStepId);
+            //var countersignStartStep = workflow.Steps.FirstOrDefault(d => d.StartCountersignId == step.CountersignId);
             if (countersignStartStep is null)
                 throw new UserFriendlyException("未查询到当前节点上级会签开启节点");
             var nextSteps = new List<WorkflowStep>();
             //会签未全部办理则不创建汇总节点
 
-            //var csInnerSteps = workflow.Steps.Where(d => d.PrevStepId == countersignStartStep.Id).ToList();
-            //if (csInnerSteps.Any(d =>
-            //        d.Status != EWorkflowStepStatus.Handled || (d.IsStartCountersign && !d.IsStartedCountersignEnd)))
-            if(countersignStartStep.IsStartCountersign && !countersignStartStep.IsStartedCountersignEnd)
+            var csInnerSteps = workflow.Steps.Where(d => d.PrevStepId == countersignStartStep.Id).ToList();
+            if (csInnerSteps.Any(d =>
+                    d.Status != EWorkflowStepStatus.Handled || (d.IsStartCountersign && !d.IsStartedCountersignEnd)))
                 return nextSteps;
 
             string? opinion = null;
@@ -2369,6 +2368,7 @@ namespace Hotline.FlowEngine.Workflows
             return nextSteps;
         }
 
+
         /// <summary>
         /// 以某一节点作为根节点开始查找最底层办理节点(需求:自动填充汇总节点意见)
         /// </summary>