|
@@ -109,14 +109,8 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
PrevChosenStepCode = null,
|
|
|
};
|
|
|
_mapper.Map(workflow.WorkflowDefinition, startStep);
|
|
|
- _mapper.Map(dto, startStep);
|
|
|
- await _workflowStepRepository.AddAsync(startStep, cancellationToken);
|
|
|
-
|
|
|
- //starttrace
|
|
|
- var startTrace = _mapper.Map<WorkflowTrace>(startStep);
|
|
|
- startTrace.StepId = startStep.Id;
|
|
|
- startTrace.Status = EWorkflowTraceStatus.Normal;
|
|
|
- await _workflowTraceRepository.AddAsync(startTrace, cancellationToken);
|
|
|
+ workflow.Steps.Add(startStep);
|
|
|
+ //await _workflowStepRepository.AddAsync(startStep, cancellationToken);
|
|
|
|
|
|
//firststep
|
|
|
var firstStep = new WorkflowStep
|
|
@@ -128,21 +122,34 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
PrevChosenStepCode = dto.NextStepCode,
|
|
|
};
|
|
|
_mapper.Map(workflow.WorkflowDefinition, firstStep);
|
|
|
- await _workflowStepRepository.AddAsync(firstStep, cancellationToken);
|
|
|
+ workflow.Steps.Add(firstStep);
|
|
|
+ //await _workflowStepRepository.AddAsync(firstStep, cancellationToken);
|
|
|
+ await _workflowStepRepository.AddRangeAsync(workflow.Steps, cancellationToken);
|
|
|
+
|
|
|
+ //starttrace
|
|
|
+ var startTrace = _mapper.Map<WorkflowTrace>(startStep);
|
|
|
+ startTrace.StepId = startStep.Id;
|
|
|
+ startTrace.Status = EWorkflowTraceStatus.Normal;
|
|
|
+ workflow.Traces.Add(startTrace);
|
|
|
+ //await _workflowTraceRepository.AddAsync(startTrace, cancellationToken);
|
|
|
|
|
|
//firsttrace
|
|
|
var firstTrace = _mapper.Map<WorkflowTrace>(firstStep);
|
|
|
firstTrace.StepId = firstStep.Id;
|
|
|
firstTrace.Status = EWorkflowTraceStatus.Normal;
|
|
|
- await _workflowTraceRepository.AddAsync(firstTrace, cancellationToken);
|
|
|
+ workflow.Traces.Add(firstTrace);
|
|
|
+ //await _workflowTraceRepository.AddAsync(firstTrace, cancellationToken);
|
|
|
+ await _workflowTraceRepository.AddRangeAsync(workflow.Traces, cancellationToken);
|
|
|
|
|
|
//办理开始节点
|
|
|
var counterSignType = GetCounterSignType(firstStep.BusinessType);
|
|
|
|
|
|
await HandleStepAsync(startStep, workflow, dto, counterSignType, cancellationToken);
|
|
|
-
|
|
|
await _workflowStepRepository.UpdateAsync(startStep, cancellationToken);
|
|
|
|
|
|
+ //handle trace
|
|
|
+ await NextTraceAsync(workflow, dto, startStep, cancellationToken);
|
|
|
+
|
|
|
//更新实际办理节点信息
|
|
|
workflow.UpdateWorkflowActualHandleInfo(startStep,
|
|
|
_sessionContext.RequiredUserId, _sessionContext.UserName,
|
|
@@ -903,10 +910,18 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
_mapper.Map(dto, step);
|
|
|
|
|
|
//step办理状态
|
|
|
+ HandleStep(step, dto.NextStepCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 办理节点(赋值节点的办理对象信息)
|
|
|
+ /// </summary>
|
|
|
+ private void HandleStep(WorkflowStep step, string nextStepCode)
|
|
|
+ {
|
|
|
step.Handle(_sessionContext.RequiredUserId, _sessionContext.UserName,
|
|
|
_sessionContext.RequiredOrgId, _sessionContext.OrgName,
|
|
|
_sessionContext.OrgAreaCode, _sessionContext.OrgAreaName,
|
|
|
- dto.NextStepCode);
|
|
|
+ nextStepCode);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1319,10 +1334,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
_sessionContext.RequiredOrgId, _sessionContext.OrgName,
|
|
|
_sessionContext.OrgAreaCode, _sessionContext.OrgAreaName);
|
|
|
|
|
|
- step.Handle(_sessionContext.RequiredUserId, _sessionContext.UserName,
|
|
|
- _sessionContext.RequiredOrgId, _sessionContext.OrgName,
|
|
|
- _sessionContext.OrgAreaCode, _sessionContext.OrgAreaName,
|
|
|
- string.Empty);
|
|
|
+ HandleStep(step, string.Empty);
|
|
|
|
|
|
await _workflowStepRepository.AddAsync(step, cancellationToken);
|
|
|
|