|
@@ -2077,11 +2077,19 @@ public class OrderController : BaseController
|
|
|
try
|
|
|
{
|
|
|
var workflow = dto.NextWorkflow;
|
|
|
- var delay = await _orderDelayRepository.Queryable().Includes(x => x.Order).Where(x => x.Id == item).FirstAsync(HttpContext.RequestAborted);
|
|
|
- workflow.WorkflowId = delay.WorkflowId;
|
|
|
- var workflowEntuty = await _workflowDomainService.GetWorkflowAsync(workflow.WorkflowId, withDefine: true, withSteps: true, cancellationToken: HttpContext.RequestAborted);
|
|
|
- var currentStep =
|
|
|
- workflowEntuty.Steps.FirstOrDefault(d => d.Status == EWorkflowStepStatus.WaitForAccept || d.Status == EWorkflowStepStatus.WaitForHandle);
|
|
|
+ if (workflow.NextHandlers.Any() && workflow.NextHandlers.Count() == 1)
|
|
|
+ {
|
|
|
+ var handler = workflow.NextHandlers.FirstOrDefault();
|
|
|
+ if (string.IsNullOrEmpty(handler.UserId))
|
|
|
+ {
|
|
|
+ workflow.NextHandlers = new List<FlowStepHandler>();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var delay = await _orderDelayRepository.Queryable().Includes(x=>x.Order).Where(x=>x.Id == item).FirstAsync(HttpContext.RequestAborted);
|
|
|
+ workflow.WorkflowId = delay.WorkflowId;
|
|
|
+ var workflowEntuty = await _workflowDomainService.GetWorkflowAsync(workflow.WorkflowId, withDefine: true, withSteps: true,cancellationToken: HttpContext.RequestAborted);
|
|
|
+ var currentStep =
|
|
|
+ workflowEntuty.Steps.FirstOrDefault(d => d.Status == EWorkflowStepStatus.WaitForAccept || d.Status == EWorkflowStepStatus.WaitForHandle);
|
|
|
|
|
|
NextStepsWithOpinionDto<NextStepOption> next = null;
|
|
|
|