|
@@ -287,6 +287,8 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
await HandleStepAsync(currentStep, workflow, dto, counterSignType, cancellationToken);
|
|
|
|
|
|
+ currentStep.IsActualHandled = CheckIsActualHandle(workflow, currentStep, nextStepDefine, dto);
|
|
|
+
|
|
|
//update realhandle info
|
|
|
_mapper.Map(dto, workflow);
|
|
|
|
|
@@ -1047,14 +1049,27 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
//办理参数
|
|
|
_mapper.Map(dto, step);
|
|
|
-
|
|
|
- //if (workflow.FlowType is EFlowType.Handle)
|
|
|
- //1. workflow是否为办理类型 2. 非会签:当前是否为普通节点and下一节点是否为汇总 or endStep 3. 会签:当前操作为汇总还是继续往下办理?thk: 汇总以后但未回到top又往下办理的场景,前面实际办理部门如何处理?//todo 待确认
|
|
|
-
|
|
|
+
|
|
|
//step办理状态
|
|
|
HandleStep(step, dto.NextStepCode);
|
|
|
}
|
|
|
|
|
|
+ private bool CheckIsActualHandle(Workflow workflow, WorkflowStep step, StepDefine nextStepDefine, BasicWorkflowDto dto)
|
|
|
+ {
|
|
|
+ //1. workflow是否为办理类型 2. 非会签:当前是否为普通节点and下一节点是否为汇总 or endStep 3. 会签:当前操作为汇总还是继续往下办理?thk: 汇总以后但未回到top又往下办理的场景,前面实际办理部门也算作办理部门
|
|
|
+ if (workflow.FlowType is not EFlowType.Handle) return false;
|
|
|
+
|
|
|
+ if (workflow.IsInCountersign)
|
|
|
+ {
|
|
|
+ return dto.BackToCountersignEnd;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return step.StepType is EStepType.Normal &&
|
|
|
+ nextStepDefine.StepType is EStepType.Summary or EStepType.End;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 办理节点(赋值节点的办理对象信息)
|
|
|
/// </summary>
|