|
@@ -235,19 +235,31 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
/// </summary>
|
|
|
public async Task RecallAsync(RecallDto dto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
- var workflow =
|
|
|
- await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, true, true,
|
|
|
- cancellationToken: cancellationToken);
|
|
|
-
|
|
|
+ var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, true, true, cancellationToken: cancellationToken);
|
|
|
+
|
|
|
await _orderDomainService.ReadyToRecallAsync(workflow.ExternalId, cancellationToken);
|
|
|
|
|
|
var targetStepDefine = _workflowDomainService.GetStepDefine(workflow.WorkflowDefinition, dto.NextStepCode);
|
|
|
//var isStartCountersign = targetStepDefine.CouldPrevStartCountersign(dto.NextHandlers.Count);
|
|
|
- var flowAssignInfo = await GetNextStepFlowAssignInfoByDefineAsync(targetStepDefine, dto.IsStartCountersign,
|
|
|
- dto.NextHandlers, cancellationToken);
|
|
|
+ var flowAssignInfo = await GetNextStepFlowAssignInfoByDefineAsync(targetStepDefine, dto.IsStartCountersign, dto.NextHandlers, cancellationToken);
|
|
|
await _workflowDomainService.RecallAsync(workflow, dto, targetStepDefine, flowAssignInfo, cancellationToken);
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 撤回至派单节点
|
|
|
+ /// </summary>
|
|
|
+ public async Task RecallToSendAsync(string workflowId, string opinion, CancellationToken cancellationToken)
|
|
|
+ {
|
|
|
+ //var workflow = await _workflowDomainService.GetWorkflowAsync(workflowId, true, true, cancellationToken: cancellationToken);
|
|
|
+
|
|
|
+ //await _orderDomainService.ReadyToRecallAsync(workflow.ExternalId, cancellationToken);
|
|
|
+
|
|
|
+ //var targetStep = workflow.WorkflowDefinition.FindSendStepDefine();
|
|
|
+ //var targetStepDefine = _workflowDomainService.GetStepDefine(workflow.WorkflowDefinition, targetStep.Code);
|
|
|
+ //var flowAssignInfo = await GetNextStepFlowAssignInfoByDefineAsync(targetStepDefine, false, dto.NextHandlers, cancellationToken);
|
|
|
+ //await _workflowDomainService.RecallAsync(workflow, dto, targetStepDefine, flowAssignInfo, cancellationToken);
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 跳转至任意节点
|
|
|
/// </summary>
|
|
@@ -438,7 +450,8 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
// .ToList();
|
|
|
return new NextStepsDto
|
|
|
{
|
|
|
- Steps = await GetConfigStepsAsync(definition.FlowType, startStepDefine.StepType, startStepDefine.BusinessType, firstStepDefines, cancellationToken)
|
|
|
+ Steps = await GetConfigStepsAsync(definition.FlowType, startStepDefine.StepType, startStepDefine.BusinessType, firstStepDefines,
|
|
|
+ cancellationToken)
|
|
|
};
|
|
|
//dto.Steps = steps;
|
|
|
//return dto;
|
|
@@ -467,7 +480,8 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
if (currentStep.InstanceMode is EInstanceMode.Dynamic && !DynamicShouldTerminal(currentStep))
|
|
|
{
|
|
|
//动态生成下一步
|
|
|
- var nextStepOption = await GetDynamicStepAsync(currentStep.InstancePolicy.Value, currentStep.StepType, currentStep.BusinessType, cancellationToken);
|
|
|
+ var nextStepOption = await GetDynamicStepAsync(currentStep.InstancePolicy.Value, currentStep.StepType, currentStep.BusinessType,
|
|
|
+ cancellationToken);
|
|
|
dto.Steps = new List<NextStepOption> { nextStepOption };
|
|
|
return dto;
|
|
|
}
|
|
@@ -613,7 +627,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
public async Task RejectAsync(RejectDto dto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, true, true,
|
|
|
- cancellationToken: cancellationToken);
|
|
|
+ cancellationToken: cancellationToken);
|
|
|
var basicDto = _mapper.Map<BasicWorkflowDto>(dto);
|
|
|
basicDto.NextStepCode = string.Empty;
|
|
|
basicDto.IsStartCountersign = false;
|
|
@@ -935,7 +949,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
return new NextStepOption
|
|
|
{
|
|
|
Key = prevStep.Code,
|
|
|
- Value = text, //parentStep.Name,//todo name不对,目前为definition.name,需改为x级部门办理
|
|
|
+ Value = text,
|
|
|
BackToCountersignEnd = true,
|
|
|
StepType = prevStep.StepType,
|
|
|
BusinessType = prevStep.BusinessType,
|
|
@@ -978,7 +992,8 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
};
|
|
|
}
|
|
|
|
|
|
- private async Task<NextStepOption> GetDynamicStepAsync(EDynamicPolicy policy, EStepType stepType, EBusinessType businessType, CancellationToken cancellationToken)
|
|
|
+ private async Task<NextStepOption> GetDynamicStepAsync(EDynamicPolicy policy, EStepType stepType, EBusinessType businessType,
|
|
|
+ CancellationToken cancellationToken)
|
|
|
{
|
|
|
int orgLevel;
|
|
|
List<Kv> items;
|