|
@@ -1407,7 +1407,8 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
/// 创建开始节点
|
|
|
/// </summary>
|
|
|
public WorkflowStep CreateStartStep(Workflow workflow, StepDefine startStepDefine,
|
|
|
- BasicWorkflowDto dto, FlowStepHandler handler, DateTime? expiredTime)
|
|
|
+ BasicWorkflowDto dto, FlowStepHandler handler, DateTime? expiredTime,
|
|
|
+ EFlowAssignType? flowAssignType = EFlowAssignType.User)
|
|
|
{
|
|
|
//startstep
|
|
|
var nextSteps = _mapper.Map<List<StepSimple>>(startStepDefine.NextSteps);
|
|
@@ -1420,7 +1421,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
var startStep = _mapper.Map<WorkflowStep>(startStepDefine);
|
|
|
_mapper.Map(workflow, startStep);
|
|
|
- startStep.FlowAssignType = EFlowAssignType.Org;
|
|
|
+ startStep.FlowAssignType = flowAssignType;
|
|
|
startStep.Handlers = new List<Kv> { new(handler.Key, handler.Value) };
|
|
|
//startStep.StepHandlers = stepHandlers;
|
|
|
startStep.NextSteps = nextSteps;
|
|
@@ -1589,9 +1590,9 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
private async Task<WorkflowStep> CreateStartStepAsync(Workflow workflow, StepDefine startStepDefine,
|
|
|
BasicWorkflowDto dto, FlowStepHandler handler, EWorkflowTraceType traceType,
|
|
|
- DateTime? expiredTime, CancellationToken cancellationToken)
|
|
|
+ DateTime? expiredTime, EFlowAssignType? flowAssignType, CancellationToken cancellationToken)
|
|
|
{
|
|
|
- var startStep = CreateStartStep(workflow, startStepDefine, dto, handler, expiredTime);
|
|
|
+ var startStep = CreateStartStep(workflow, startStepDefine, dto, handler, expiredTime, flowAssignType);
|
|
|
await _workflowStepRepository.AddAsync(startStep, cancellationToken);
|
|
|
//await _workflowStepRepository.AddNav(startStep)
|
|
|
// .Include(d => d.StepHandlers)
|
|
@@ -1961,9 +1962,14 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
{
|
|
|
//newStep.FlowAssignType = EFlowAssignType.User;
|
|
|
// 是否中心 临时紧急修改 后续在流程模版定义是否原办理人退回类型 来实现流程 禅道200
|
|
|
- newStep.FlowAssignType = !step.HandlerOrgIsCenter!.Value ? EFlowAssignType.Org : EFlowAssignType.Role;
|
|
|
- if (newStep is { FlowAssignType: EFlowAssignType.Role, BusinessType: EBusinessType.Send })
|
|
|
- newStep.FlowAssignType = EFlowAssignType.User;
|
|
|
+ newStep.FlowAssignType = step.HandlerOrgIsCenter!.Value
|
|
|
+ ? step.BusinessType is EBusinessType.Send
|
|
|
+ ? EFlowAssignType.User
|
|
|
+ : EFlowAssignType.Role
|
|
|
+ : EFlowAssignType.Org;
|
|
|
+ //if (newStep is { FlowAssignType: EFlowAssignType.Role, BusinessType: EBusinessType.Send })
|
|
|
+ // newStep.FlowAssignType = EFlowAssignType.User;
|
|
|
+
|
|
|
newStep.Assign(step.HandlerId, step.HandlerName, step.HandlerOrgId, step.HandlerOrgName, step.RoleId, step.RoleName);
|
|
|
}
|
|
|
|
|
@@ -2236,7 +2242,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
var targetStepNew = targetIsStartStep
|
|
|
? await CreateStartStepAsync(workflow, targetStepDefine, dto,
|
|
|
- dto.NextHandlers.First(), traceType, expiredTime, cancellationToken)
|
|
|
+ dto.NextHandlers.First(), traceType, expiredTime, EFlowAssignType.Org, cancellationToken)
|
|
|
: (await CreateStepsAsync(workflow, targetStepDefine, targetPrevStep, dto,
|
|
|
flowAssignInfo.FlowAssignType, dto.NextHandlers,
|
|
|
null, EWorkflowStepStatus.WaitForAccept, ECountersignPosition.None, true, traceType,
|