xf 1 year ago
parent
commit
0bce6d56e2

+ 7 - 7
src/Hotline.Application/FlowEngine/WorkflowApplication.cs

@@ -431,7 +431,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
         //        .ToList();
         return new NextStepsDto
         {
-            Steps = await CreateConfigStepsAsync(firstStepDefines, cancellationToken)
+            Steps = await CreateConfigStepsAsync(startStep.StepType, firstStepDefines, cancellationToken)
         };
         //dto.Steps = steps;
         //return dto;
@@ -496,7 +496,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
         if (!nextDefines.Any())
             throw new UserFriendlyException("未正确配置下一节点");
 
-        dto.Steps = await CreateConfigStepsAsync(nextDefines, cancellationToken);
+        dto.Steps = await CreateConfigStepsAsync(currentStep.StepType, nextDefines, cancellationToken);
 
         if (currentStep.IsInCountersign() && currentStep.IsTopCountersignEndStep(workflow.TopCountersignStepId))
         {
@@ -526,7 +526,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
         var stepDefines = workflow.WorkflowDefinition.FindStepDefines(stepCodes);
         return new NextStepsDto
         {
-            Steps = await CreateConfigStepsAsync(stepDefines, cancellationToken)
+            Steps = await CreateConfigStepsAsync(null, stepDefines, cancellationToken)
         };
     }
 
@@ -538,7 +538,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
         var workflow = await _workflowDomainService.GetWorkflowAsync(workflowId, true, cancellationToken: cancellationToken);
         return new NextStepsDto
         {
-            Steps = await CreateConfigStepsAsync(workflow.WorkflowDefinition.Steps, cancellationToken)
+            Steps = await CreateConfigStepsAsync(null, workflow.WorkflowDefinition.Steps, cancellationToken)
         };
     }
 
@@ -552,7 +552,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
         var stepDefines = workflow.WorkflowDefinition.FindStepDefines(steps.Select(d => d.Code));
         return new NextStepsDto
         {
-            Steps = await CreateConfigStepsAsync(stepDefines, cancellationToken)
+            Steps = await CreateConfigStepsAsync(null, stepDefines, cancellationToken)
         };
     }
 
@@ -569,7 +569,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
         await _workflowDomainService.RejectAsync(workflow, basicDto, cancellationToken);
     }
 
-    private async Task<List<NextStepOption>> CreateConfigStepsAsync(List<StepDefine> stepDefines, CancellationToken cancellationToken)
+    private async Task<List<NextStepOption>> CreateConfigStepsAsync(EStepType? currentStepType, List<StepDefine> stepDefines, CancellationToken cancellationToken)
     {
         var stepOptions = new List<NextStepOption>();
         foreach (var stepDefine in stepDefines)
@@ -638,7 +638,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
             {
                 Key = stepDefine.Code,
                 Value = stepDefine.Name,
-                InputRealHandler = stepDefine.StepType == EStepType.Summary,
+                InputRealHandler = currentStepType.HasValue && (currentStepType != EStepType.Summary && stepDefine.StepType == EStepType.Summary),
                 BusinessType = stepDefine.BusinessType,
                 Items = handlers
             });

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

@@ -886,6 +886,15 @@ namespace Hotline.FlowEngine.Workflows
             await _mediator.Publish(new CancelWorkflowNotify(workflow), cancellationToken);
         }
 
+        /// <summary>
+        /// 更新期满时间
+        /// </summary>
+        public async Task UpdateExpiredTimeAsync(DateTime expiredTime, string timelimitText, int? timelimie, ETimeType? timelimitUnit,
+            CancellationToken cancellationToken)
+        {
+            throw new NotImplementedException();
+        }
+
         #region private method
 
         /// <summary>