xf il y a 10 mois
Parent
commit
ead838112d

+ 1 - 1
src/Hotline.Api/Controllers/OrderController.cs

@@ -3209,7 +3209,7 @@ public class OrderController : BaseController
             //  )))
             //.Where(d => d.Workflow.Steps.Any(s => s.Status < EWorkflowStepStatus.Handled && s.HandlerOrgId == OrgSeedData.CenterId))
             .LeftJoin<WorkflowStep>((d, step) => d.Id == step.ExternalId)
-            .Where((d,step)=>step.HandlerOrgId == SeedData.OrgSeedData.CenterId)
+            .Where((d,step)=>step.HandlerOrgId == OrgSeedData.CenterId)
             .Where(d => d.Source < ESource.MLSQ || d.Source > ESource.WZSC)
             .Where(d => d.Status != EOrderStatus.BackToProvince && d.Status < EOrderStatus.Filed)
             .WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No!.Contains(dto.No!))

+ 19 - 7
src/Hotline.Api/Controllers/TestController.cs

@@ -587,8 +587,8 @@ public class TestController : BaseController
 
         var workflowIds = orders.Select(d => d.WorkflowId).ToList();
         var workflows = await _workflowRepository.Queryable()
-            .Includes(d=>d.Steps)
-            .Includes(d=>d.Traces)
+            .Includes(d=>d.Steps, x=>x.WorkflowTrace)
+            //.Includes(d=>d.Traces)
             .Where(d => workflowIds.Contains(d.Id))
             .ToListAsync(HttpContext.RequestAborted);
 
@@ -613,11 +613,23 @@ public class TestController : BaseController
                 : 0;
             order.File(now, handleDuration, fileDuration, allDuration);
 
-            var endTrace = workflow.Traces.FirstOrDefault(d => d.StepType == EStepType.End);
-            if(endTrace is null) continue;
-            var trace = workflow.Traces.FirstOrDefault(d => d.Id == endTrace.PrevStepId);
-            if(trace is null) continue;
+            var endStep = workflow.Steps.FirstOrDefault(d => d.StepType == EStepType.End);
+            //var endTrace = workflow.Steps.FirstOrDefault(d => d.WorkflowTrace.StepType == EStepType.End)?.WorkflowTrace;
+            if (endStep is null)
+            {
+                _logger.LogWarning($"endStep 为空, orderNo:{order.No}");
+                continue;
+            }
 
+            var step = workflow.Steps.FirstOrDefault(d => d.Id == endStep.PrevStepId);
+            //var trace = workflow.Steps.FirstOrDefault(d => d.WorkflowTrace.Id == endTrace.PrevStepId)?.WorkflowTrace;
+            if (step is null)
+            {
+                _logger.LogWarning($"step 为空, orderNo:{order.No}");
+                continue;
+            }
+
+            var trace = step.WorkflowTrace;
             order.FileUserId = trace.HandlerId;
             order.FileUserName = trace.HandlerName;
             order.FileUserOrgId = trace.HandlerOrgId;
@@ -645,12 +657,12 @@ public class TestController : BaseController
             updateOrders.Add(order);
 
             //var callRecord = await _trCallRecordRepository.GetAsync(p => p.CallAccept == order.CallId, cancellationToken); //由CallAccept改为OtherAccept
-            var callRecord = await _trCallRecordRepository.GetAsync(p => p.OtherAccept == order.CallId, HttpContext.RequestAborted);
             var orderFlowDto = new OrderFlowDto
             {
                 Order = _mapper.Map<OrderDto>(order),
                 WorkflowTrace = _mapper.Map<WorkflowTraceDto>(trace)
             };
+            var callRecord = await _trCallRecordRepository.GetAsync(p => p.OtherAccept == order.CallId, HttpContext.RequestAborted);
             if (callRecord != null)
             {
                 orderFlowDto.TrCallRecordDto = _mapper.Map<TrCallDto>(callRecord);