|
@@ -210,6 +210,25 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
var startStep = definition.Steps.FirstOrDefault(d => d.StepType == EStepType.Start);
|
|
|
if (startStep == null)
|
|
|
throw new UserFriendlyException("未正确配置发起人节点");
|
|
|
+
|
|
|
+ if(startStep.InstanceMode is EInstanceMode.Multiple)
|
|
|
+ {
|
|
|
+ switch (startStep.RepeatPolicy)
|
|
|
+ {
|
|
|
+ case ERepeatPolicy.OrgUpCenterTop:
|
|
|
+ break;
|
|
|
+ case ERepeatPolicy.OrgUp:
|
|
|
+ break;
|
|
|
+ case ERepeatPolicy.OrgDownCenterTop:
|
|
|
+ break;
|
|
|
+ case ERepeatPolicy.OrgDown:
|
|
|
+ break;
|
|
|
+ case null:
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new ArgumentOutOfRangeException();
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
var firstStepDefines = definition.FindStepDefines(startStep.NextSteps.Select(d => d.Code));
|
|
|
if (!firstStepDefines.Any())
|
|
@@ -257,6 +276,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
handlers = stepDefine.HandlerTypeItems;
|
|
|
break;
|
|
|
case EHandlerType.Role:
|
|
|
+ //当前操作人所属部门的下级部门并且属于配置包含角色
|
|
|
var roles = await _roleRepository.Queryable()
|
|
|
.Includes(d => d.Accounts.Where(x => !x.IsDeleted && x.Status == EAccountStatus.Normal).ToList(),
|
|
|
x => x.User)
|
|
@@ -354,6 +374,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
/// 查询流程业务模块
|
|
|
/// </summary>
|
|
|
/// <param name="code"></param>
|
|
|
+ /// <param name="cancellationToken"></param>
|
|
|
/// <returns></returns>
|
|
|
/// <exception cref="UserFriendlyException"></exception>
|
|
|
private async Task<WorkflowModule> GetWorkflowModuleAsync(string code, CancellationToken cancellationToken)
|