|
@@ -102,6 +102,8 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
if (firstStepDefine.StepType is EStepType.End)
|
|
if (firstStepDefine.StepType is EStepType.End)
|
|
{
|
|
{
|
|
|
|
+ await _mediator.Publish(new StartWorkflowNotify(workflow, dto, flowAssignInfo, startStep.WorkflowTrace), cancellationToken);
|
|
|
|
+
|
|
//firstStep是否为end,t: 实际办理节点为startStep, 并且handlerId赋值 f: 实际办理节点为firstStep, handlerId未赋值
|
|
//firstStep是否为end,t: 实际办理节点为startStep, 并且handlerId赋值 f: 实际办理节点为firstStep, handlerId未赋值
|
|
workflow.UpdateActualStepWhenHandle(startStep,
|
|
workflow.UpdateActualStepWhenHandle(startStep,
|
|
current.RequiredUserId, current.UserName,
|
|
current.RequiredUserId, current.UserName,
|
|
@@ -514,8 +516,11 @@ namespace Hotline.FlowEngine.Workflows
|
|
/// </summary>
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
public async Task<EFlowDirection> PreviousAsync(Workflow workflow, PreviousWorkflowDto dto,
|
|
public async Task<EFlowDirection> PreviousAsync(Workflow workflow, PreviousWorkflowDto dto,
|
|
- string applicantId, string applicantOrgId, string[] applicantRoleIds,
|
|
|
|
- ISessionContext current, CancellationToken cancellationToken)
|
|
|
|
|
|
+ string applicantId, string applicantName,
|
|
|
|
+ string applicantOrgId, string applicantOrgName,
|
|
|
|
+ string applicantOrgAreaCode, string applicantOrgAreaName,
|
|
|
|
+ bool applicantIsCenter,
|
|
|
|
+ string[] applicantRoleIds, CancellationToken cancellationToken)
|
|
{
|
|
{
|
|
//ValidatePermission(workflow, operater.OrgId, operater.Id);
|
|
//ValidatePermission(workflow, operater.OrgId, operater.Id);
|
|
|
|
|
|
@@ -548,10 +553,15 @@ namespace Hotline.FlowEngine.Workflows
|
|
//updateSteps.Add(countersignStartStep);
|
|
//updateSteps.Add(countersignStartStep);
|
|
|
|
|
|
//结束会签
|
|
//结束会签
|
|
|
|
+ //currentCountersign.End(currentStep.Id, currentStep.Code, currentStep.BusinessType,
|
|
|
|
+ // current.RequiredUserId, current.UserName,
|
|
|
|
+ // current.RequiredOrgId, current.OrgName,
|
|
|
|
+ // current.OrgAreaCode, current.OrgAreaName);
|
|
currentCountersign.End(currentStep.Id, currentStep.Code, currentStep.BusinessType,
|
|
currentCountersign.End(currentStep.Id, currentStep.Code, currentStep.BusinessType,
|
|
- current.RequiredUserId, current.UserName,
|
|
|
|
- current.RequiredOrgId, current.OrgName,
|
|
|
|
- current.OrgAreaCode, current.OrgAreaName);
|
|
|
|
|
|
+ applicantId, applicantName,
|
|
|
|
+ applicantOrgId, applicantOrgName,
|
|
|
|
+ applicantOrgAreaCode, applicantOrgAreaName);
|
|
|
|
+
|
|
await _workflowCountersignRepository.UpdateAsync(currentCountersign, cancellationToken);
|
|
await _workflowCountersignRepository.UpdateAsync(currentCountersign, cancellationToken);
|
|
|
|
|
|
//update workflow cs status
|
|
//update workflow cs status
|
|
@@ -560,7 +570,11 @@ namespace Hotline.FlowEngine.Workflows
|
|
}
|
|
}
|
|
|
|
|
|
//update trace
|
|
//update trace
|
|
- var trace = await PreviousTraceAsync(workflow.Id, dto, currentStep, current, cancellationToken);
|
|
|
|
|
|
+ var trace = await PreviousTraceAsync(workflow.Id, dto, currentStep,
|
|
|
|
+ applicantId, applicantName,
|
|
|
|
+ applicantOrgId, applicantOrgName,
|
|
|
|
+ applicantOrgAreaCode, applicantOrgAreaName,
|
|
|
|
+ applicantIsCenter, cancellationToken);
|
|
|
|
|
|
//复制上一个节点为待接办
|
|
//复制上一个节点为待接办
|
|
var newPrevStep = await DuplicateStepWithTraceAsync(workflow, prevStep, EWorkflowTraceType.Previous, cancellationToken);
|
|
var newPrevStep = await DuplicateStepWithTraceAsync(workflow, prevStep, EWorkflowTraceType.Previous, cancellationToken);
|
|
@@ -1331,7 +1345,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
await _workflowRepository.UpdateAsync(workflow, cancellationToken);
|
|
await _workflowRepository.UpdateAsync(workflow, cancellationToken);
|
|
|
|
|
|
- await _mediator.Publish(new EndWorkflowNotify(workflow, endTrace, dto.External), cancellationToken);
|
|
|
|
|
|
+ await _mediator.Publish(new EndWorkflowNotify(workflow, endTrace, dto), cancellationToken);
|
|
|
|
|
|
return endTrace;
|
|
return endTrace;
|
|
}
|
|
}
|
|
@@ -1884,12 +1898,23 @@ namespace Hotline.FlowEngine.Workflows
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private async Task<WorkflowTrace> PreviousTraceAsync(string workflowId, PreviousWorkflowDto dto,
|
|
|
|
- WorkflowStep step, ISessionContext current, CancellationToken cancellationToken)
|
|
|
|
|
|
+ private async Task<WorkflowTrace> PreviousTraceAsync(string workflowId,
|
|
|
|
+ PreviousWorkflowDto dto, WorkflowStep step,
|
|
|
|
+ string applicantId, string applicantName,
|
|
|
|
+ string applicantOrgId, string applicantOrgName,
|
|
|
|
+ string applicantOrgAreaCode, string applicantOrgAreaName,
|
|
|
|
+ bool applicantIsCenter, CancellationToken cancellationToken)
|
|
{
|
|
{
|
|
var trace = await GetWorkflowTraceAsync(workflowId, step.Id, cancellationToken);
|
|
var trace = await GetWorkflowTraceAsync(workflowId, step.Id, cancellationToken);
|
|
_mapper.Map(dto, trace);
|
|
_mapper.Map(dto, trace);
|
|
- HandleTrace(trace, dto.Opinion, current);
|
|
|
|
|
|
+
|
|
|
|
+ //HandleTrace(trace, dto.Opinion, current);
|
|
|
|
+
|
|
|
|
+ trace.Handle(applicantId, applicantName,
|
|
|
|
+ applicantOrgId, applicantOrgName,
|
|
|
|
+ applicantOrgAreaCode, applicantOrgAreaName,
|
|
|
|
+ applicantIsCenter, dto.Opinion);
|
|
|
|
+
|
|
await _workflowTraceRepository.UpdateAsync(trace, cancellationToken);
|
|
await _workflowTraceRepository.UpdateAsync(trace, cancellationToken);
|
|
return trace;
|
|
return trace;
|
|
}
|
|
}
|