xf 2 年之前
父節點
當前提交
e9b4998e6a

+ 5 - 0
src/Hotline.Application/FlowEngine/WorkflowApplication.cs

@@ -89,6 +89,11 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
     {
         var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, true, true, withCountersigns: true, cancellationToken: cancellationToken);
         var nextStepBoxDefine = _workflowDomainService.GetStepBoxDefine(workflow.Definition, dto.NextStepCode);
+
+        //需求:按角色选择办理人可以不选,表示该角色下所有人都可以办理,同时依据配置:是否本部门人办理显示待选办理人。角色下只要一人办理即可(即:角色下不发起会签)
+        if (nextStepBoxDefine.HandlerType != EHandlerType.Role && !dto.NextHandlers.Any())
+            throw new UserFriendlyException("未指定节点处理者");
+
         //下一节点为结束节点时,无办理人等参数,只有办理意见即可
         var isOutOfCallCenter = nextStepBoxDefine.StepType is not EStepType.End
                                 && await CheckIfFlowOutOfCallCenterAsync(nextStepBoxDefine, dto.NextMainHandler, cancellationToken);

+ 1 - 1
src/Hotline/FlowEngine/Definitions/StepDefine.cs

@@ -18,7 +18,7 @@ public class StepDefine : StepBasic
     /// <returns></returns>
     public bool IsStartCountersign(int handlerCount)
     {
-        if (StepType is not EStepType.Normal) return false;
+        if (StepType is EStepType.End) return false;
 
         //需求:按角色指派默认不发起会签
         if (HandlerType is EHandlerType.Role) return false;