소스 검색

fix: 坐席待办orm生成sql失败

xf 9 달 전
부모
커밋
c8c658f7a3
1개의 변경된 파일5개의 추가작업 그리고 2개의 파일을 삭제
  1. 5 2
      src/Hotline.Api/Controllers/OrderController.cs

+ 5 - 2
src/Hotline.Api/Controllers/OrderController.cs

@@ -3173,16 +3173,19 @@ public class OrderController : BaseController
 
         var query = _orderRepository.Queryable();
         if(dto.IsHandled.HasValue)
+        {
+            var hasHandled = dto.IsHandled.Value;
             query = query.Where(d => SqlFunc.Subqueryable<WorkflowTrace>()
                 .Where(step => step.ExternalId == d.Id &&
-                               (dto.IsHandled!.Value || step.Status != EWorkflowStepStatus.Handled) &&
-                               (!dto.IsHandled!.Value || step.Status == EWorkflowStepStatus.Handled && step.TraceState != EWorkflowTraceState.StepRemoveByPrevious) &&
+                               (hasHandled || step.Status != EWorkflowStepStatus.Handled) &&
+                               (!hasHandled || step.Status == EWorkflowStepStatus.Handled && step.TraceState != EWorkflowTraceState.StepRemoveByPrevious) &&
                                ((step.FlowAssignType == EFlowAssignType.User && !string.IsNullOrEmpty(step.HandlerId) && step.HandlerId == _sessionContext.RequiredUserId) ||
                                 (step.FlowAssignType == EFlowAssignType.Org && !string.IsNullOrEmpty(step.HandlerOrgId) && step.HandlerOrgId == _sessionContext.RequiredOrgId) ||
                                 (step.FlowAssignType == EFlowAssignType.Role && !string.IsNullOrEmpty(step.RoleId) && _sessionContext.Roles.Contains(step.RoleId)))).Any() || 
                                      (string.IsNullOrEmpty(d.WorkflowId) && 
                                       (string.IsNullOrEmpty(d.SignerId) || d.SignerId == _sessionContext.RequiredUserId))
             );
+        }
 
         var (total, items) = await query
             .WhereIF(dto.IsProvince.HasValue, d => d.IsProvince == dto.IsProvince)