xf 10 kuukautta sitten
vanhempi
commit
ad617a1a40
1 muutettua tiedostoa jossa 14 lisäystä ja 5 poistoa
  1. 14 5
      src/Hotline.Api/Controllers/TestController.cs

+ 14 - 5
src/Hotline.Api/Controllers/TestController.cs

@@ -482,7 +482,8 @@ public class TestController : BaseController
     {
         var steps = await _workflowStepRepository.Queryable()
             .Includes(d => d.WorkflowTrace)
-            .Where(d => d.FlowAssignType == null &&
+            .Where(d => SqlFunc.Exists(d.WorkflowTrace.Id) &&
+                        d.FlowAssignType == null &&
                         SqlFunc.JsonArrayLength(d.Handlers) == 1)
             .ToListAsync(HttpContext.RequestAborted);
         //foreach (var step in steps)
@@ -504,15 +505,19 @@ public class TestController : BaseController
         //    }
         //}
 
+        var list = new List<WorkflowStep>();
         foreach (var step in steps)
         {
+            var handler = step.Handlers.First();
+            if (string.IsNullOrEmpty(handler.Key)) continue;
             step.FlowAssignType =
-                        step.Handlers.First().Key.Length == 36 ? EFlowAssignType.User : EFlowAssignType.Org;
+                        handler.Key.Length == 36 ? EFlowAssignType.User : EFlowAssignType.Org;
             step.WorkflowTrace.FlowAssignType = step.FlowAssignType;
+            list.Add(step);
         }
 
         await _workflowStepRepository
-            .UpdateNav(steps)
+            .UpdateNav(list)
             .Include(d => d.WorkflowTrace)
             .ExecuteCommandAsync();
         //.UpdateRangeAsync(steps, HttpContext.RequestAborted);
@@ -528,15 +533,18 @@ public class TestController : BaseController
     {
         var steps = await _workflowStepRepository.Queryable()
             .Includes(d => d.WorkflowTrace)
-            .Where(d => d.Status != EWorkflowStepStatus.Handled &&
+            .Where(d => SqlFunc.Exists(d.WorkflowTrace.Id) &&
+                        d.Status != EWorkflowStepStatus.Handled &&
                         d.HandlerId == null &&
                         d.FlowAssignType != null &&
                         SqlFunc.JsonArrayLength(d.Handlers) == 1)
             .ToListAsync(HttpContext.RequestAborted);
 
+        var list = new List<WorkflowStep>();
         foreach (var step in steps)
         {
             var handler = step.Handlers.First();
+            if (string.IsNullOrEmpty(handler.Key)) continue;
             if (step.FlowAssignType == EFlowAssignType.User)
             {
                 step.HandlerId = handler.Key;
@@ -551,10 +559,11 @@ public class TestController : BaseController
                 step.WorkflowTrace.HandlerOrgId = step.HandlerOrgId;
                 step.WorkflowTrace.HandlerOrgName = step.HandlerOrgName;
             }
+            list.Add(step);
         }
 
         await _workflowStepRepository
-            .UpdateNav(steps)
+            .UpdateNav(list)
             .Include(d => d.WorkflowTrace)
             .ExecuteCommandAsync();
     }