Bläddra i källkod

派单量统计

田爽 11 månader sedan
förälder
incheckning
fc1f538ebb
1 ändrade filer med 6 tillägg och 6 borttagningar
  1. 6 6
      src/Hotline.Api/Controllers/Bi/BiOrderController.cs

+ 6 - 6
src/Hotline.Api/Controllers/Bi/BiOrderController.cs

@@ -2753,12 +2753,12 @@ namespace Hotline.Api.Controllers.Bi
                 .Where((x, w, wfsh, su) => x.CreationTime <= dto.EndTime.Value)
                 .GroupBy((x, w, wfsh, su) => x.WorkflowId)
                 .Having((x, w, wfsh, su) => SqlFunc.AggregateCount(x.WorkflowId) > 1)
-                .Select((x, w, wfsh, su) => new { Id = x.WorkflowId })
+			    .Select((x, w, wfsh, su) => new { Id = x.WorkflowId, CreationTime = SqlFunc.AggregateMin(wfsh.CreationTime) })
                 .MergeTable()
                 .LeftJoin<WorkflowTrace>((a, wt) => a.Id == wt.WorkflowId)
                 .LeftJoin<Workflow>((a, wt, wf) => wt.WorkflowId == wf.Id)
-                .LeftJoin<WorkflowStepHandler>((a, wt, wf, wsh) => wt.StepId == wsh.WorkflowStepId)
-                .InnerJoin<SchedulingUser>((a, wt, wf, wsh, su) => wsh.UserId == su.UserId)
+                .LeftJoin<WorkflowStepHandler>((a, wt, wf, wsh) => wt.StepId == wsh.WorkflowStepId && wsh.CreationTime == a.CreationTime)
+				.InnerJoin<SchedulingUser>((a, wt, wf, wsh, su) => wsh.UserId == su.UserId)
                 .WhereIF(!string.IsNullOrEmpty(dto.UserName), ((a, wt, wf, wsh, su) => su.UserName == dto.UserName))
                 .GroupBy((a, wt, wf, wsh, su) => new { su.UserId, su.UserName })
                 .Select((a, wt, wf, wsh, su) => new BiOrderSendVo
@@ -2825,12 +2825,12 @@ namespace Hotline.Api.Controllers.Bi
                        .Where((x, w, wfsh, su) => x.CreationTime <= dto.EndTime.Value)
                        .GroupBy((x, w, wfsh, su) => x.WorkflowId)
                        .Having((x, w, wfsh, su) => SqlFunc.AggregateCount(x.WorkflowId) > 1)
-                       .Select((x, w, wfsh, su) => new { Id = x.WorkflowId })
+					   .Select((x, w, wfsh, su) => new { Id = x.WorkflowId, CreationTime = SqlFunc.AggregateMin(wfsh.CreationTime) })
                        .MergeTable()
                        .LeftJoin<WorkflowTrace>((a, wt) => a.Id == wt.WorkflowId)
                        .LeftJoin<Workflow>((a, wt, wf) => wt.WorkflowId == wf.Id)
-                       .LeftJoin<WorkflowStepHandler>((a, wt, wf, wsh) => wt.StepId == wsh.WorkflowStepId)
-                       .InnerJoin<SchedulingUser>((a, wt, wf, wsh, su) => wsh.UserId == su.UserId)
+                       .LeftJoin<WorkflowStepHandler>((a, wt, wf, wsh) => wt.StepId == wsh.WorkflowStepId && wsh.CreationTime == a.CreationTime)
+					   .InnerJoin<SchedulingUser>((a, wt, wf, wsh, su) => wsh.UserId == su.UserId)
                        .Where((a, wt, wf, wsh, su) => su.UserId == dto.UserId)
                        .GroupBy((a, wt, wf, wsh, su) => wf.ExternalId)
                        .Select((a, wt, wf, wsh, su) => new { Id = wf.ExternalId })