|
@@ -563,8 +563,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
var trace = await PreviousTraceAsync(workflow.Id, dto, currentStep, current, cancellationToken);
|
|
|
|
|
|
//复制上一个节点为待接办
|
|
|
- var newPrevStep = await DuplicateStepWithTraceAsync(workflow, prevStep, EWorkflowTraceType.Previous,
|
|
|
- cancellationToken);
|
|
|
+ var newPrevStep = await DuplicateStepWithTraceAsync(workflow, prevStep, EWorkflowTraceType.Previous, cancellationToken);
|
|
|
|
|
|
//remove workflow.steps
|
|
|
await _workflowStepRepository.RemoveRangeAsync(removeSteps, cancellationToken);
|
|
@@ -1775,11 +1774,21 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
newStep.StartCountersignId = step.StartCountersignId;
|
|
|
newStep.CountersignId = step.CountersignId;
|
|
|
newStep.IsStartedCountersignEnd = step.IsStartedCountersignEnd;
|
|
|
+
|
|
|
+ //退回场景:指派给原办理对象,其余场景:按照原节点原始指派方式复制
|
|
|
+ if (traceType is EWorkflowTraceType.Previous)
|
|
|
+ {
|
|
|
+ newStep.FlowAssignType = EFlowAssignType.User;
|
|
|
+ newStep.Assign(step.HandlerId, step.HandlerName, step.HandlerOrgId, step.HandlerOrgName);
|
|
|
+ }
|
|
|
+
|
|
|
await _workflowStepRepository.AddAsync(newStep, cancellationToken);
|
|
|
//await _workflowStepRepository.AddNav(newStep)
|
|
|
// .Include(d => d.StepHandlers)
|
|
|
// .ExecuteCommandAsync();
|
|
|
|
|
|
+
|
|
|
+
|
|
|
await CreateTraceAsync(workflow, newStep, traceType, cancellationToken);
|
|
|
|
|
|
return newStep;
|