|
@@ -45,7 +45,9 @@ namespace Hotline.Repository.SqlSugar.Extensions
|
|
return queryable.Where(d => SqlFunc.Subqueryable<WorkflowTrace>()
|
|
return queryable.Where(d => SqlFunc.Subqueryable<WorkflowTrace>()
|
|
.Where(step => step.ExternalId == d.Id &&
|
|
.Where(step => step.ExternalId == d.Id &&
|
|
(hasHandled || step.Status != EWorkflowStepStatus.Handled) &&
|
|
(hasHandled || step.Status != EWorkflowStepStatus.Handled) &&
|
|
- (!hasHandled || step.Status == EWorkflowStepStatus.Handled && step.TraceState != EWorkflowTraceState.StepRemoveByPrevious) &&
|
|
|
|
|
|
+ (!hasHandled || step.Status == EWorkflowStepStatus.Handled &&
|
|
|
|
+ step.TraceState != EWorkflowTraceState.StepRemoveByPrevious &&
|
|
|
|
+ step.TraceState != EWorkflowTraceState.StepRemoveByRecall) &&
|
|
((step.FlowAssignType == EFlowAssignType.User && !string.IsNullOrEmpty(step.HandlerId) && step.HandlerId == session.RequiredUserId) ||
|
|
((step.FlowAssignType == EFlowAssignType.User && !string.IsNullOrEmpty(step.HandlerId) && step.HandlerId == session.RequiredUserId) ||
|
|
(step.FlowAssignType == EFlowAssignType.Org && !string.IsNullOrEmpty(step.HandlerOrgId) && step.HandlerOrgId == session.RequiredOrgId) ||
|
|
(step.FlowAssignType == EFlowAssignType.Org && !string.IsNullOrEmpty(step.HandlerOrgId) && step.HandlerOrgId == session.RequiredOrgId) ||
|
|
(step.FlowAssignType == EFlowAssignType.Role && !string.IsNullOrEmpty(step.RoleId) && session.Roles.Contains(step.RoleId))))
|
|
(step.FlowAssignType == EFlowAssignType.Role && !string.IsNullOrEmpty(step.RoleId) && session.Roles.Contains(step.RoleId))))
|