|
@@ -167,7 +167,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
/// </summary>
|
|
|
public async Task<(Workflow, WorkflowStep)> StartAsync(StartWorkflowDto dto,
|
|
|
string externalId, DateTime? expiredTime = null,
|
|
|
- Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? stepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default)
|
|
|
{
|
|
|
// var validator = new StartWorkflowDtoValidator();
|
|
@@ -236,7 +236,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
RoleName = defineHandler.Value,
|
|
|
FlowAssignType = EFlowAssignType.User
|
|
|
};
|
|
|
- var startStep = CreateStartStep(workflow, startStepDefine, dto, assigner, handler, expiredTime, stepConfig);
|
|
|
+ var startStep = CreateStartStep(workflow, startStepDefine, dto, assigner, handler, expiredTime, newStepConfig);
|
|
|
|
|
|
if (dto.Files.Any())
|
|
|
startStep.FileJson =
|
|
@@ -286,7 +286,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
public async Task<(Workflow, WorkflowStep, StepDefine, List<WorkflowStep>)> NextAsync(
|
|
|
ISessionContext current, NextWorkflowDto dto,
|
|
|
DateTime? expiredTime = null, bool isAutoFillSummaryOpinion = false,
|
|
|
- Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? stepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default)
|
|
|
{
|
|
|
var workflow = await GetWorkflowAsync(dto.WorkflowId, withDefine: true, withSteps: true,
|
|
@@ -559,7 +559,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
//创建下一/N个节点(会签汇总节点:会签未全部办理时不创建,最后一个会签办理节点创建会签汇总节点)
|
|
|
var nextSteps = await CreateNextStepsAsync(workflow, currentStep, dto,
|
|
|
nextStepDefine, assigner, isNextDynamic, expiredTime, dto.IsStartCountersign,
|
|
|
- isAutoFillSummaryOpinion, stepConfig, cancellationToken);
|
|
|
+ isAutoFillSummaryOpinion, newStepConfig, cancellationToken);
|
|
|
|
|
|
// //更新办理对象(nextSteps无元素表示当前节点为会签办理节点且当前会签没有全部办理完成)
|
|
|
// workflow.UpdateHandlers(current.RequiredUserId, current.RequiredOrgId,
|
|
@@ -598,15 +598,15 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
/// </summary>
|
|
|
public async Task<List<WorkflowStep>> StartToFirstStepAsync(StartWorkflowDto dto,
|
|
|
string externalId, DateTime? expiredTime = null,
|
|
|
- Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? stepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default)
|
|
|
{
|
|
|
- var (workflow, startStep) = await StartAsync(dto, externalId, expiredTime, stepConfig, cancellationToken);
|
|
|
+ var (workflow, startStep) = await StartAsync(dto, externalId, expiredTime, newStepConfig, cancellationToken);
|
|
|
var nextDto = _mapper.Map<NextWorkflowDto>(dto);
|
|
|
nextDto.WorkflowId = workflow.Id;
|
|
|
nextDto.StepId = startStep.Id;
|
|
|
var (_, _, _, nextSteps) =
|
|
|
- await NextAsync(_sessionContextProvider.SessionContext, nextDto, expiredTime, true, stepConfig, cancellationToken);
|
|
|
+ await NextAsync(_sessionContextProvider.SessionContext, nextDto, expiredTime, true, newStepConfig, cancellationToken);
|
|
|
return nextSteps;
|
|
|
}
|
|
|
|
|
@@ -886,7 +886,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
public async Task<(Workflow workflow, WorkflowStep currentStep, StepDefine prevDefine,
|
|
|
WorkflowStep prevStep, WorkflowStep newStep, EFlowDirection flowDirection)>
|
|
|
PreviousAsync(Workflow workflow, PreviousWorkflowDto dto, OperatorInfo operatorInfo,
|
|
|
- Action<Workflow, StepDefine, WorkflowStep, WorkflowStep>? stepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default)
|
|
|
{
|
|
|
//ValidatePermission(workflow, operater.OrgId, operater.Id);
|
|
@@ -971,7 +971,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
var prevStepDefine = workflow.WorkflowDefinition.FindStepDefine(prevStep.Code);
|
|
|
//复制上一个节点为待接办
|
|
|
- var newPrevStep = DuplicateStep(workflow, prevStepDefine, prevStep, EWorkflowTraceType.Previous, dto.ExpiredTime, stepConfig);
|
|
|
+ var newPrevStep = DuplicateStep(workflow, prevStepDefine, prevStep, EWorkflowTraceType.Previous, dto.ExpiredTime);
|
|
|
//退给派单组节点,需按照平均分配原则派给一个派单员 禅道299 TODO
|
|
|
if (dto.Handler != null) //todo 改为按策略判断
|
|
|
{
|
|
@@ -979,6 +979,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
newPrevStep.Assign(handle.UserId, handle.Username, handle.OrgId, handle.OrgName, handle.RoleId, handle.RoleName);
|
|
|
}
|
|
|
|
|
|
+ await Task.Run(() => newStepConfig?.Invoke(workflow, currentStep, prevStepDefine, prevStep, newPrevStep), cancellationToken);
|
|
|
await _workflowStepRepository.AddAsync(newPrevStep, cancellationToken);
|
|
|
await CreateTraceAsync(workflow, newPrevStep, EWorkflowTraceType.Previous, cancellationToken);
|
|
|
|
|
@@ -1526,7 +1527,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
public async Task<(Workflow, StepDefine, WorkflowStep, WorkflowStep, WorkflowStep, bool)> RecallAsync(
|
|
|
RecallDto dto, StepAssignInfo stepAssignInfo,
|
|
|
EWorkflowTraceType traceType, DateTime? expiredTime, bool isOrderFiled, EHandleMode handleMode,
|
|
|
- Func<Workflow, WorkflowStep, StepDefine, WorkflowStep, WorkflowStep, Task<StepAssignInfo?>>? newStepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default)
|
|
|
{
|
|
|
var workflow = await GetWorkflowAsync(dto.WorkflowId, withDefine: true, withSteps: true,
|
|
@@ -1550,7 +1551,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
public Task<(Workflow, StepDefine, WorkflowStep, WorkflowStep, WorkflowStep, bool)> RecallAsync(
|
|
|
Workflow workflow, BasicWorkflowDto dto, StepAssignInfo stepAssignInfo,
|
|
|
StepDefine targetStepDefine, EWorkflowTraceType traceType, DateTime? expiredTime, bool isOrderFiled, EHandleMode handleMode,
|
|
|
- Func<Workflow, WorkflowStep, StepDefine, WorkflowStep, WorkflowStep, Task<StepAssignInfo?>>? newStepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default)
|
|
|
{
|
|
|
var targetStep = workflow.Steps.FirstOrDefault(d => d.Code == dto.NextStepCode && d.IsOrigin);
|
|
@@ -1565,7 +1566,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
public Task<(Workflow, StepDefine, WorkflowStep, WorkflowStep, WorkflowStep, bool)> RecallAsync(
|
|
|
Workflow workflow, BasicWorkflowDto dto, StepAssignInfo stepAssignInfo,
|
|
|
WorkflowStep targetStep, EWorkflowTraceType traceType, DateTime? expiredTime, bool isOrderFiled, EHandleMode handleMode,
|
|
|
- Func<Workflow, WorkflowStep, StepDefine, WorkflowStep, WorkflowStep, Task<StepAssignInfo?>>? newStepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default)
|
|
|
{
|
|
|
var targetStepDefine = GetStepDefine(workflow.WorkflowDefinition, dto.NextStepCode);
|
|
@@ -1588,7 +1589,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
Workflow workflow, BasicWorkflowDto dto, StepAssignInfo stepAssignInfo,
|
|
|
StepDefine targetStepDefine, WorkflowStep targetStep, EWorkflowTraceType traceType,
|
|
|
DateTime? expiredTime, bool isOrderFiled, EHandleMode handleMode,
|
|
|
- Func<Workflow, WorkflowStep, StepDefine, WorkflowStep, WorkflowStep, Task<StepAssignInfo?>>? newStepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default)
|
|
|
{
|
|
|
var targetIsStartStep = targetStepDefine.StepType is EStepType.Start;
|
|
@@ -1703,18 +1704,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
// stepAssignInfo, traceType, expiredTime, stepConfig, cancellationToken);
|
|
|
|
|
|
targetStepNew = CreateStartStep(workflow, targetStepDefine, dto, assigner, stepAssignInfo, expiredTime);
|
|
|
- //stepConfig?.Invoke(workflow, currentStep, targetStepDefine, targetStep, targetStepNew);
|
|
|
- if (newStepConfig is not null)
|
|
|
- {
|
|
|
- var handler = await newStepConfig.Invoke(workflow, currentStep, targetStepDefine, targetStep, targetStepNew);
|
|
|
- if (handler is not null)
|
|
|
- {
|
|
|
- var validator = new StepAssignInfoValidator();
|
|
|
- await validator.ValidateAndThrowAsync(handler, cancellationToken);
|
|
|
- targetStepNew.Assign(handler);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ await Task.Run(() => newStepConfig?.Invoke(workflow, currentStep, targetStepDefine, targetStep, targetStepNew), cancellationToken);
|
|
|
await _workflowStepRepository.AddAsync(targetStepNew, cancellationToken);
|
|
|
workflow.Steps.Add(targetStepNew);
|
|
|
await CreateTraceAsync(workflow, targetStepNew, traceType, cancellationToken);
|
|
@@ -1728,18 +1718,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
targetStepNew = CreateStep(workflow, targetStepDefine, targetPrevStep, stepAssignInfo, assigner,
|
|
|
dto.NextStepCode, null, EWorkflowStepStatus.WaitForAccept, ECountersignPosition.None, expiredTime,
|
|
|
dto.NextStepName, true, true, null, dto.BusinessType, dto.FlowDirection);
|
|
|
- //stepConfig?.Invoke(workflow, currentStep, targetStepDefine, targetStep, targetStepNew);
|
|
|
- if (newStepConfig is not null)
|
|
|
- {
|
|
|
- var handler = await newStepConfig.Invoke(workflow, currentStep, targetStepDefine, targetStep, targetStepNew);
|
|
|
- if (handler is not null)
|
|
|
- {
|
|
|
- var validator = new StepAssignInfoValidator();
|
|
|
- await validator.ValidateAndThrowAsync(handler, cancellationToken);
|
|
|
- targetStepNew.Assign(handler);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ await Task.Run(() => newStepConfig?.Invoke(workflow, currentStep, targetStepDefine, targetStep, targetStepNew), cancellationToken);
|
|
|
await _workflowStepRepository.AddAsync(targetStepNew, cancellationToken);
|
|
|
workflow.Steps.Add(targetStepNew);
|
|
|
await CreateTraceAsync(workflow, targetStepNew, traceType, cancellationToken);
|
|
@@ -2026,7 +2005,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
Workflow workflow, StepDefine startStepDefine,
|
|
|
BasicWorkflowDto dto, UserInfo assigner, StepAssignInfo handler, DateTime? expiredTime,
|
|
|
//EFlowAssignType? flowAssignType = EFlowAssignType.User,
|
|
|
- Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? stepConfig = null)
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? newStepConfig = null)
|
|
|
{
|
|
|
//startstep
|
|
|
var nextSteps = _mapper.Map<List<StepSimple>>(startStepDefine.NextSteps);
|
|
@@ -2060,14 +2039,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
startStep.InitId();
|
|
|
|
|
|
- // if (stepConfig != null)
|
|
|
- // {
|
|
|
- // var stepAssignInfo = stepConfig(workflow, startStepDefine, null);
|
|
|
- // var validator = new StepAssignInfoValidator();
|
|
|
- // validator.ValidateAndThrow(stepAssignInfo);
|
|
|
- // startStep.Assign(stepAssignInfo);
|
|
|
- // }
|
|
|
- stepConfig?.Invoke(workflow, null, startStepDefine, startStep);
|
|
|
+ newStepConfig?.Invoke(workflow, null, startStepDefine, startStep);
|
|
|
|
|
|
return startStep;
|
|
|
}
|
|
@@ -2448,7 +2420,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
private async Task<List<WorkflowStep>> CreateNextStepsAsync(Workflow workflow, WorkflowStep currentStep,
|
|
|
BasicWorkflowDto dto, StepDefine nextStepDefine, UserInfo assigner, bool isNextDynamic,
|
|
|
DateTime? expiredTime, bool isStartCountersign, bool isAutoFillSummaryOpinion = false,
|
|
|
- Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? stepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default)
|
|
|
{
|
|
|
List<WorkflowStep> nextSteps = new();
|
|
@@ -2464,13 +2436,13 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
{
|
|
|
//依据会签策略创建会签下一级节点
|
|
|
nextSteps = await CreateCountersignStepsAsync(workflow, nextStepDefine, currentStep, dto,
|
|
|
- assigner, expiredTime, stepConfig, cancellationToken);
|
|
|
+ assigner, expiredTime, newStepConfig, cancellationToken);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//创建普通节点(根据配置)
|
|
|
nextSteps = await CreateConfigStepsAsync(workflow, nextStepDefine, currentStep, dto, assigner,
|
|
|
- EWorkflowTraceType.Normal, expiredTime, isAutoFillSummaryOpinion, stepConfig, cancellationToken);
|
|
|
+ EWorkflowTraceType.Normal, expiredTime, isAutoFillSummaryOpinion, newStepConfig, cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
@@ -2489,7 +2461,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
{
|
|
|
//依据会签策略创建会签下一级节点
|
|
|
nextSteps = await CreateCountersignStepsAsync(workflow, nextStepDefine, currentStep, dto,
|
|
|
- assigner, expiredTime, stepConfig, cancellationToken);
|
|
|
+ assigner, expiredTime, newStepConfig, cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2505,7 +2477,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
{
|
|
|
//依据会签策略创建会签下一级节点
|
|
|
nextSteps = await CreateCountersignStepsAsync(workflow, nextStepDefine, currentStep, dto,
|
|
|
- assigner, expiredTime, stepConfig, cancellationToken);
|
|
|
+ assigner, expiredTime, newStepConfig, cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2513,19 +2485,19 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
{
|
|
|
//依据会签策略创建会签下一级节点
|
|
|
nextSteps = await CreateCountersignStepsAsync(workflow, nextStepDefine, currentStep, dto,
|
|
|
- assigner, expiredTime, stepConfig, cancellationToken);
|
|
|
+ assigner, expiredTime, newStepConfig, cancellationToken);
|
|
|
}
|
|
|
else if (isNextDynamic)
|
|
|
{
|
|
|
//创建动态下一级节点
|
|
|
nextSteps = await CreateDynamicStepsAsync(workflow, nextStepDefine, currentStep, dto, assigner,
|
|
|
- expiredTime, stepConfig, cancellationToken);
|
|
|
+ expiredTime, newStepConfig, cancellationToken);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//创建普通节点(根据配置)
|
|
|
nextSteps = await CreateConfigStepsAsync(workflow, nextStepDefine, currentStep, dto, assigner,
|
|
|
- EWorkflowTraceType.Normal, expiredTime, isAutoFillSummaryOpinion, stepConfig, cancellationToken);
|
|
|
+ EWorkflowTraceType.Normal, expiredTime, isAutoFillSummaryOpinion, newStepConfig, cancellationToken);
|
|
|
}
|
|
|
|
|
|
return nextSteps;
|
|
@@ -2551,7 +2523,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
BasicWorkflowDto dto,
|
|
|
UserInfo assigner,
|
|
|
DateTime? expiredTime,
|
|
|
- Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? stepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default)
|
|
|
{
|
|
|
var handlerType = nextStepDefine.InstancePolicy switch
|
|
@@ -2573,7 +2545,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
return await CreateStepsAsync(workflow, nextStepDefine, currentStep, dto, assigner,
|
|
|
dto.NextHandlers, null, EWorkflowStepStatus.WaitForAccept,
|
|
|
ECountersignPosition.None, false, EWorkflowTraceType.Normal, handlerType, expiredTime,
|
|
|
- stepConfig: stepConfig, cancellationToken: cancellationToken);
|
|
|
+ newStepConfig: newStepConfig, cancellationToken: cancellationToken);
|
|
|
}
|
|
|
|
|
|
private Task<List<WorkflowStep>> CreateCountersignStepsAsync(
|
|
@@ -2583,7 +2555,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
BasicWorkflowDto dto,
|
|
|
UserInfo assigner,
|
|
|
DateTime? expiredTime,
|
|
|
- Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? stepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default
|
|
|
)
|
|
|
{
|
|
@@ -2599,7 +2571,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
return CreateStepsAsync(workflow, stepDefine, currentStep, dto, assigner, dto.NextHandlers,
|
|
|
countersignId, EWorkflowStepStatus.WaitForAccept, nextStepCountersignPosition,
|
|
|
- false, EWorkflowTraceType.Normal, handlerType, expiredTime, stepConfig: stepConfig, cancellationToken: cancellationToken);
|
|
|
+ false, EWorkflowTraceType.Normal, handlerType, expiredTime, newStepConfig: newStepConfig, cancellationToken: cancellationToken);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -2922,8 +2894,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
//new
|
|
|
private WorkflowStep DuplicateStep(
|
|
|
Workflow workflow, StepDefine stepDefine, WorkflowStep step,
|
|
|
- EWorkflowTraceType traceType, DateTime? expiredTime,
|
|
|
- Action<Workflow, StepDefine, WorkflowStep, WorkflowStep>? stepConfig = null)
|
|
|
+ EWorkflowTraceType traceType, DateTime? expiredTime)
|
|
|
{
|
|
|
var newStep = _mapper.Map<WorkflowStep>(step);
|
|
|
newStep.Reset();
|
|
@@ -2941,17 +2912,6 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
newStep.Assign(step, EFlowAssignType.User);
|
|
|
|
|
|
- stepConfig?.Invoke(workflow, stepDefine, step, newStep);
|
|
|
-
|
|
|
- // if (stepConfig != null)
|
|
|
- // {
|
|
|
- // //workflow, targetStepDefine, targetStep
|
|
|
- // var stepAssignInfo = stepConfig(workflow, stepDefine, step);
|
|
|
- // var validator = new StepAssignInfoValidator();
|
|
|
- // validator.ValidateAndThrow(stepAssignInfo);
|
|
|
- // step.Assign(stepAssignInfo);
|
|
|
- // }
|
|
|
-
|
|
|
// //退回场景:指派给原办理人,其余场景:按照原节点原始指派方式复制 //todo 重构为参数传入办理对象
|
|
|
// if (traceType is EWorkflowTraceType.Previous)
|
|
|
// {
|
|
@@ -3381,7 +3341,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
EWorkflowTraceType traceType,
|
|
|
DateTime? expiredTime,
|
|
|
bool isAutoFillSummaryOpinion = false,
|
|
|
- Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? stepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default)
|
|
|
{
|
|
|
string? opinion = null;
|
|
@@ -3391,7 +3351,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
return await CreateStepsAsync(workflow, stepDefine, currentStep, dto,
|
|
|
assigner, dto.NextHandlers, null,
|
|
|
EWorkflowStepStatus.WaitForAccept, ECountersignPosition.None,
|
|
|
- true, traceType, null, expiredTime, opinion, stepConfig, cancellationToken);
|
|
|
+ true, traceType, null, expiredTime, opinion, newStepConfig, cancellationToken);
|
|
|
}
|
|
|
|
|
|
private async Task<List<WorkflowStep>> CreateStepsAsync(
|
|
@@ -3410,7 +3370,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
EHandlerType? handlerType = null,
|
|
|
DateTime? expiredTime = null,
|
|
|
string? opinion = null,
|
|
|
- Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? stepConfig = null,
|
|
|
+ Action<Workflow, WorkflowStep, StepDefine, WorkflowStep>? newStepConfig = null,
|
|
|
CancellationToken cancellationToken = default
|
|
|
)
|
|
|
{
|
|
@@ -3423,7 +3383,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
dto.NextStepName, isOrigin, isMain, handlerType, dto.BusinessType, dto.FlowDirection, opinion);
|
|
|
|
|
|
//workflow, currentStep, nextStepDefine, nextStep
|
|
|
- stepConfig?.Invoke(workflow, currentStep, stepDefine, step);
|
|
|
+ await Task.Run(() => newStepConfig?.Invoke(workflow, currentStep, stepDefine, step), cancellationToken);
|
|
|
// if (stepConfig != null)
|
|
|
// {
|
|
|
// var stepAssignInfo = stepConfig(workflow, stepDefine, prevStep);
|