|
@@ -325,8 +325,27 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
var targetStepDefine = _workflowDomainService.GetStepDefine(workflow.WorkflowDefinition, dto.NextStepCode);
|
|
|
if (targetStepDefine.StepType is EStepType.End)
|
|
|
throw UserFriendlyException.SameMessage("结束节点不支持撤回");
|
|
|
- //var isStartCountersign = targetStepDefine.CouldPrevStartCountersign(dto.NextHandlers.Count);
|
|
|
- var flowAssignInfo = await GetNextStepFlowAssignInfoByDefineAsync(targetStepDefine, dto.HandlerType, dto.IsStartCountersign,
|
|
|
+ //var isStartCountersign = targetStepDefine.CouldPrevStartCountersign(dto.NextHandlers.Count);
|
|
|
+ var targetStep = workflow.Steps.FirstOrDefault(d => d.Code == dto.NextStepCode && d.IsOrigin);
|
|
|
+ if (targetStep is null)
|
|
|
+ throw UserFriendlyException.SameMessage("该流程尚未流转至该节点");
|
|
|
+
|
|
|
+ ///退回到派单组 没有下一步办理人 获取之前节点办理人
|
|
|
+ if (!dto.NextHandlers.Any())
|
|
|
+ {
|
|
|
+ dto.NextHandlers.Add(new FlowStepHandler()
|
|
|
+ {
|
|
|
+ UserId = targetStep.HandlerId,
|
|
|
+ Username = targetStep.HandlerName,
|
|
|
+ OrgId = targetStep.HandlerOrgId,
|
|
|
+ OrgName = targetStep.HandlerOrgName,
|
|
|
+ Key = targetStep.HandlerId,
|
|
|
+ Value = targetStep.HandlerName,
|
|
|
+ RoleId = targetStep.RoleId,
|
|
|
+ RoleName = targetStep.RoleName
|
|
|
+ });
|
|
|
+ }
|
|
|
+ var flowAssignInfo = await GetNextStepFlowAssignInfoByDefineAsync(targetStepDefine, dto.HandlerType, dto.IsStartCountersign,
|
|
|
dto.NextHandlers.Select(d => new Kv(d.Key, d.Value)).ToList(), cancellationToken);
|
|
|
|
|
|
//var stepHandlers = await GetNextStepHandlersAsync(workflow, targetStepDefine, dto, cancellationToken);
|