浏览代码

Merge branch 'release' of http://110.188.24.182:10023/Fengwo/hotline into release

田爽 8 月之前
父节点
当前提交
d2c2441a19
共有 1 个文件被更改,包括 10 次插入52 次删除
  1. 10 52
      src/Hotline.Application/FlowEngine/WorkflowApplication.cs

+ 10 - 52
src/Hotline.Application/FlowEngine/WorkflowApplication.cs

@@ -292,7 +292,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
     /// 工单退回(返回前一节点)
     /// </summary>
     public async Task<EFlowDirection> PreviousAsync(PreviousWorkflowDto dto, string applicantId, string applicantOrgId, string[] applicantRoleIds,
-		ISessionContext current, CancellationToken cancellationToken)
+        ISessionContext current, CancellationToken cancellationToken)
     {
         var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withSteps: true,
             withTraces: true, withCountersigns: true, cancellationToken: cancellationToken);
@@ -1168,19 +1168,17 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
         {
             if (currentStep.IsCountersignEndStep)
             {
+                //汇总节点(非顶级)
                 if (!currentStep.IsTopCountersignEndStep(workflow.TopCountersignStepId))
                 {
-                    //汇总节点(非顶级)
-                    //var csStartStep = workflow.Steps.FirstOrDefault(d => d.Id == currentStep.CountersignStartStepId);
-                    //if (csStartStep is null)
-                    //    throw new UserFriendlyException("未查询到会签开始节点");
-                    var csStartStep = GetCsLoopStartStep(workflow, currentStep);
-
-                    var prevStep = workflow.Steps.FirstOrDefault(d => d.Id == csStartStep.PrevStepId);
-                    if (prevStep is null)
-                        throw new UserFriendlyException("未查询到目标节点的前一节点");
-
-                    return FlowAssignInfo.Create(prevStep.FlowAssignType.Value, prevStep.Handlers, isStartCountersign);
+                    if (dto.BackToCountersignEnd)
+                    {
+                        var csStartStep = GetCsLoopStartStep(workflow, currentStep);
+                        var prevStep = workflow.Steps.FirstOrDefault(d => d.Id == csStartStep.PrevStepId);
+                        if (prevStep is null)
+                            throw new UserFriendlyException("未查询到目标节点的前一节点");
+                        return FlowAssignInfo.Create(prevStep.FlowAssignType.Value, prevStep.Handlers, isStartCountersign);
+                    }
                 }
             }
             else
@@ -1208,46 +1206,6 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
             cancellationToken);
     }
 
-    //private async ValueTask<List<WorkflowStepHandler>> GetNextStepHandlersAsync(Workflow workflow,
-    //    StepDefine nextStepDefine, BasicWorkflowDto dto, CancellationToken cancellationToken)
-    //{
-    //    var assignType = FlowAssignInfo.GetAssignType(dto.HandlerType);
-    //    //var assignType = AssignInfo.GetAssignType(nextStepDefine.HandlerType, dto.NextHandlers.Any());
-    //    switch (assignType)
-    //    {
-    //        case EFlowAssignType.Org:
-    //            return dto.NextHandlers.Select(d => WorkflowStepHandler.Create(workflow.Id, workflow.ExternalId,
-    //                assignType, orgId: d.Key, orgName: d.Value)).ToList();
-    //        case EFlowAssignType.User:
-    //            if (!dto.NextHandlers.Any() && dto.HandlerType is EHandlerType.Role)
-    //            {
-    //                var stepOption = await GetConfigStepAsync(EFlowType.Handle, nextStepDefine, cancellationToken);
-    //                var uIds = stepOption.Items.Select(d => d.Key).ToList();
-    //                var users1 = await _userRepository.Queryable()
-    //                    .Includes(d => d.Organization)
-    //                    .Where(d => uIds.Contains(d.Id))
-    //                    .ToListAsync(cancellationToken);
-    //                return users1.Select(d => WorkflowStepHandler.Create(workflow.Id, workflow.ExternalId,
-    //                        assignType, d.Id, d.Name, d.OrgId, d.Organization.Name))
-    //                    .ToList();
-    //            }
-    //            var userIds = dto.NextHandlers.Select(d => d.Key).ToList();
-    //            var users = await _userRepository.Queryable()
-    //                .Includes(d => d.Organization)
-    //                .Where(d => userIds.Contains(d.Id))
-    //                .ToListAsync(cancellationToken);
-    //            return users.Select(d => WorkflowStepHandler.Create(workflow.Id, workflow.ExternalId,
-    //                    assignType, d.Id, d.Name, d.OrgId, d.Organization.Name))
-    //                .ToList();
-    //        //case EFlowAssignType.Role:
-    //        //    handlers = dto.NextHandlers.Select(d => WorkflowStepHandler.Create(workflow.Id, workflow.ExternalId,
-    //        //        assignType, roleId: d.Key, roleName: d.Value)).ToList();
-    //        //    break;
-    //        default:
-    //            throw new ArgumentOutOfRangeException();
-    //    }
-    //}
-
     /// <summary>
     /// 按流程模板配置创建下一步办理对象
     /// </summary>