Browse Source

优化待回访统计逻辑,提升代码可读性和一致性

对待回访统计逻辑进行优化:
- 使用 CountAsync 替代 SqlFunc.AggregateSum 和 SqlFunc.IIF,简化实现。
- 统一 Where 条件和统计方法,确保代码风格一致。
- 删除冗余代码,减少复杂性。
- 提升代码可读性,便于后续维护。
田爽 4 ngày trước cách đây
mục cha
commit
54b553855d
1 tập tin đã thay đổi với 2 bổ sung6 xóa
  1. 2 6
      src/Hotline.Api/Controllers/Bi/BiOrderController.cs

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

@@ -3035,9 +3035,7 @@ namespace Hotline.Api.Controllers.Bi
               }).FirstAsync();
 
 			var waitVisitd = await _orderVisitRepository.Queryable()
-			 .Where(x => x.CreationTime >= StartTime && x.CreationTime <= EndTime).Select(x =>
-				   SqlFunc.AggregateSum(SqlFunc.IIF(x.VisitState != EVisitState.None && x.VisitState != EVisitState.Visited, 1, 0)) //待回访
-			  ).FirstAsync();
+			 .Where(x => x.CreationTime >= StartTime && x.CreationTime <= EndTime && x.VisitState != EVisitState.None && x.VisitState != EVisitState.Visited).CountAsync();
 			centerReportVisitd.WaitVisitd = waitVisitd;
 
 			//部门
@@ -3279,9 +3277,7 @@ namespace Hotline.Api.Controllers.Bi
             var waitVisitd = await _orderVisitRepository.Queryable()
 			  .LeftJoin<Order>((x, o) => x.OrderId == o.Id)
 			  .WhereIF(IdentityType.HasValue, (x, o) => o.IdentityType == IdentityType)
-			  .Where((x, o) => x.CreationTime >= StartTime && x.CreationTime <= EndTime).Select((x, o) => 
-                    SqlFunc.AggregateSum(SqlFunc.IIF(x.VisitState != EVisitState.None && x.VisitState != EVisitState.Visited, 1, 0)) //待回访
-               ).FirstAsync();
+			  .Where((x, o) => x.CreationTime >= StartTime && x.CreationTime <= EndTime && x.VisitState != EVisitState.None && x.VisitState != EVisitState.Visited).CountAsync();
             centerReportVisitd.WaitVisitd = waitVisitd;
 
 			//部门