|
@@ -275,8 +275,9 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
var currentStepDefine = GetStepDefine(workflow.WorkflowDefinition, currentStep.Code);
|
|
|
|
|
|
//下一节点是否为动态节点
|
|
|
- var isNextDynamic = currentStepDefine.InstanceMode is EInstanceMode.Dynamic &&
|
|
|
- !DynamicShouldTerminal(currentStepDefine, current.OrgLevel);
|
|
|
+ var isNextDynamic = (string.IsNullOrEmpty(dto.NextStepCode) || dto.NextStepCode.ToLower() != "end")
|
|
|
+ && currentStepDefine.InstanceMode is EInstanceMode.Dynamic
|
|
|
+ && !DynamicShouldTerminal(currentStepDefine, current.OrgLevel);
|
|
|
|
|
|
StepDefine nextStepDefine;
|
|
|
if (isNextDynamic
|
|
@@ -1272,9 +1273,9 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
CancellationToken cancellation)
|
|
|
{
|
|
|
return await _workflowStepRepository.Queryable()
|
|
|
- .Where(d => d.WorkflowId == workflowId
|
|
|
- && d.HandlerOrgId == orgId
|
|
|
- && d.StepType != EStepType.End
|
|
|
+ .Where(d => d.WorkflowId == workflowId
|
|
|
+ && d.HandlerOrgId == orgId
|
|
|
+ && d.StepType != EStepType.End
|
|
|
&& d.StepType != EStepType.Summary
|
|
|
&& !d.IsCountersignEndStep)
|
|
|
//.Where(d => d.StepHandlers.Any(sh => sh.OrgId == orgId) && d.WorkflowId == workflowId)
|
|
@@ -2337,7 +2338,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
//var csInnerSteps = workflow.Steps.Where(d => d.PrevStepId == countersignStartStep.Id).ToList();
|
|
|
//if (csInnerSteps.Any(d =>
|
|
|
// d.Status != EWorkflowStepStatus.Handled || (d.IsStartCountersign && !d.IsStartedCountersignEnd)))
|
|
|
- if(!HasStepsAllHandled(workflow.Steps, countersignStartStep))
|
|
|
+ if (!HasStepsAllHandled(workflow.Steps, countersignStartStep))
|
|
|
return nextSteps;
|
|
|
|
|
|
string? opinion = null;
|