|
@@ -10,6 +10,7 @@ using Hotline.Share.Enums.FlowEngine;
|
|
using MapsterMapper;
|
|
using MapsterMapper;
|
|
using MediatR;
|
|
using MediatR;
|
|
using Microsoft.Extensions.Logging;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
+using System.Diagnostics;
|
|
using System.Threading;
|
|
using System.Threading;
|
|
using XF.Domain.Authentications;
|
|
using XF.Domain.Authentications;
|
|
using XF.Domain.Dependency;
|
|
using XF.Domain.Dependency;
|
|
@@ -110,7 +111,6 @@ namespace Hotline.FlowEngine.Workflows
|
|
};
|
|
};
|
|
_mapper.Map(workflow.WorkflowDefinition, startStep);
|
|
_mapper.Map(workflow.WorkflowDefinition, startStep);
|
|
workflow.Steps.Add(startStep);
|
|
workflow.Steps.Add(startStep);
|
|
- //await _workflowStepRepository.AddAsync(startStep, cancellationToken);
|
|
|
|
|
|
|
|
//firststep
|
|
//firststep
|
|
var firstStep = new WorkflowStep
|
|
var firstStep = new WorkflowStep
|
|
@@ -123,27 +123,26 @@ namespace Hotline.FlowEngine.Workflows
|
|
};
|
|
};
|
|
_mapper.Map(workflow.WorkflowDefinition, firstStep);
|
|
_mapper.Map(workflow.WorkflowDefinition, firstStep);
|
|
workflow.Steps.Add(firstStep);
|
|
workflow.Steps.Add(firstStep);
|
|
- //await _workflowStepRepository.AddAsync(firstStep, cancellationToken);
|
|
|
|
|
|
+
|
|
await _workflowStepRepository.AddRangeAsync(workflow.Steps, cancellationToken);
|
|
await _workflowStepRepository.AddRangeAsync(workflow.Steps, cancellationToken);
|
|
|
|
|
|
//starttrace
|
|
//starttrace
|
|
var startTrace = _mapper.Map<WorkflowTrace>(startStep);
|
|
var startTrace = _mapper.Map<WorkflowTrace>(startStep);
|
|
startTrace.StepId = startStep.Id;
|
|
startTrace.StepId = startStep.Id;
|
|
startTrace.Status = EWorkflowTraceStatus.Normal;
|
|
startTrace.Status = EWorkflowTraceStatus.Normal;
|
|
|
|
+ _mapper.Map(dto, startTrace);
|
|
workflow.Traces.Add(startTrace);
|
|
workflow.Traces.Add(startTrace);
|
|
- //await _workflowTraceRepository.AddAsync(startTrace, cancellationToken);
|
|
|
|
|
|
|
|
//firsttrace
|
|
//firsttrace
|
|
var firstTrace = _mapper.Map<WorkflowTrace>(firstStep);
|
|
var firstTrace = _mapper.Map<WorkflowTrace>(firstStep);
|
|
firstTrace.StepId = firstStep.Id;
|
|
firstTrace.StepId = firstStep.Id;
|
|
firstTrace.Status = EWorkflowTraceStatus.Normal;
|
|
firstTrace.Status = EWorkflowTraceStatus.Normal;
|
|
workflow.Traces.Add(firstTrace);
|
|
workflow.Traces.Add(firstTrace);
|
|
- //await _workflowTraceRepository.AddAsync(firstTrace, cancellationToken);
|
|
|
|
|
|
+
|
|
await _workflowTraceRepository.AddRangeAsync(workflow.Traces, cancellationToken);
|
|
await _workflowTraceRepository.AddRangeAsync(workflow.Traces, cancellationToken);
|
|
|
|
|
|
//办理开始节点
|
|
//办理开始节点
|
|
var counterSignType = GetCounterSignType(firstStep.BusinessType);
|
|
var counterSignType = GetCounterSignType(firstStep.BusinessType);
|
|
-
|
|
|
|
await HandleStepAsync(startStep, workflow, dto, counterSignType, cancellationToken);
|
|
await HandleStepAsync(startStep, workflow, dto, counterSignType, cancellationToken);
|
|
await _workflowStepRepository.UpdateAsync(startStep, cancellationToken);
|
|
await _workflowStepRepository.UpdateAsync(startStep, cancellationToken);
|
|
|
|
|