浏览代码

489 新增坐席退回统计表

田爽 2 周之前
父节点
当前提交
92105ef277

+ 24 - 23
src/Hotline.Application/OrderApp/OrderApplication.cs

@@ -6093,8 +6093,8 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         var send = _workflowTraceRepository.Queryable()
             .LeftJoin<Order>((x, o) => x.ExternalId == o.Id)
             .Where((x, o) => x.HandlerOrgId  != OrgSeedData.CenterId && (x.PrevStepName == "班长审批"|| x.PrevStepName == "派单组") && o.CreationTime >= dto.StartTime && o.CreationTime <= dto.EndTime && x.CreationTime >= dto.StartTime)
-            .GroupBy((x, o) => new {o.AcceptorId ,x.ExternalId })
-            .Select((x, o) => new { UserId = o.AcceptorId , SendOrderNum = SqlFunc.AggregateDistinctCount(x.ExternalId) });
+            .GroupBy((x, o) => new {o.AcceptorId  })
+            .Select((x, o) => new SeatSendBackStatisticsVo { UserId = o.AcceptorId , SendOrderNum = SqlFunc.AggregateDistinctCount(x.ExternalId) });
 
       //  var sendBack = _workflowTraceRepository.Queryable()
 			   //.LeftJoin<Order>((x, o) => x.ExternalId == o.Id)
@@ -6104,36 +6104,37 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         var sendBack = _orderSendBackAuditRepository.Queryable()
 			.LeftJoin<Order>((x, o) => x.OrderId == o.Id)
 			.Where((x, o) => x.ApplyOrgId != OrgSeedData.CenterId && (x.SendBackStepName == "班长审批" || x.SendBackStepName == "派单组") && o.CreationTime >= dto.StartTime && o.CreationTime <= dto.EndTime)
-			.GroupBy((x, o) => new { x.ApplyOrgId })
-			.Select((x, o) => new { UserId = x.ApplyOrgId, SendOrderBackNum = SqlFunc.AggregateDistinctCount(x.OrderId), SendOrderBackNumber = SqlFunc.AggregateCount(x.Id) });
+			.GroupBy((x, o) => new { o.AcceptorId })
+			.Select((x, o) => new SeatSendBackStatisticsVo { UserId = o.AcceptorId, SendOrderBackNum = SqlFunc.AggregateDistinctCount(x.OrderId), SendOrderBackNumber = SqlFunc.AggregateCount(x.Id) });
 
 
 		var filed = _orderRepository.Queryable()
             .Where(x=> x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.Status >= EOrderStatus.Filed && x.FileOrgIsCenter == true)
             .GroupBy(x=>x.AcceptorId)
-            .Select(x => new { UserId = x.AcceptorId, FiledNum = SqlFunc.AggregateDistinctCount(x.Id) });
+            .Select(x => new SeatSendBackStatisticsVo { UserId = x.AcceptorId, CentreFileNum = SqlFunc.AggregateDistinctCount(x.Id) });
 
         var back = _orderSpecialRepository.Queryable()
              .LeftJoin<Order>((x, o) => x.OrderId == o.Id)
              .Where((x, o) => o.CreationTime >= dto.StartTime && o.CreationTime <= dto.EndTime && x.SpecialType == ESpecialType.SendBack && x.NextStepCode == "start")
              .GroupBy((x, o) => new { o.AcceptorId })
-             .Select((x, o) => new { UserId = o.AcceptorId, CentreFileBackNum = SqlFunc.AggregateDistinctCount(x.OrderId), CentreFileBackNumber = SqlFunc.AggregateCount(x.OrderId)});
+             .Select((x, o) => new SeatSendBackStatisticsVo { UserId = o.AcceptorId, CentreFileBackNum = SqlFunc.AggregateDistinctCount(x.OrderId), CentreFileBackNumber = SqlFunc.AggregateCount(x.OrderId)});
 
       var query =   seats.LeftJoin(send, (s, sd) => s.Id == sd.UserId)
             .LeftJoin(sendBack, (s, sd, sb) => s.Id == sb.UserId)
             .LeftJoin(filed, (s, sd, sb, f) => s.Id == f.UserId)
             .LeftJoin(back, (s, sd, sb, f, b) => s.Id == b.UserId)
-            .Select((s, sd, sb, f, b) => new SeatSendBackStatisticsVo
-            {
-                UserId = s.Id,
-                UserName = s.Name,
-                SendOrderNum = sd.SendOrderNum,
-                SendOrderBackNum = sb.SendOrderBackNum,
-                SendOrderBackNumber = sb.SendOrderBackNumber,
-                CentreFileNum = f.FiledNum,
-                CentreFileBackNum = b.CentreFileBackNum,
-                CentreFileBackNumber = b.CentreFileBackNumber,
-            });
+            .GroupBy((s, sd, sb, f, b) => new { s.Id, s.Name })
+			.Select((s, sd, sb, f, b) => new SeatSendBackStatisticsVo
+			{
+				UserId = s.Id,
+				UserName = s.Name,
+				SendOrderNum = SqlFunc.AggregateSum(sd.SendOrderNum),
+				SendOrderBackNum = SqlFunc.AggregateSum(sb.SendOrderBackNum),
+				SendOrderBackNumber = SqlFunc.AggregateSum(sb.SendOrderBackNumber),
+				CentreFileNum = SqlFunc.AggregateSum(f.CentreFileNum),
+				CentreFileBackNum = SqlFunc.AggregateSum(b.CentreFileBackNum),
+				CentreFileBackNumber = SqlFunc.AggregateSum(b.CentreFileBackNumber),
+			});
         return query;
 	}
 
@@ -6147,7 +6148,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
 
 		if (dto.StatisticsType == "sendOrderNum")
         {
-           var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
+           var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.AcceptorId == dto.UserId)
 				.WhereIF(!string.IsNullOrEmpty(dto.No), x => x.No.Contains(dto.No!))
 				.WhereIF(!string.IsNullOrEmpty(dto.Title), x => x.Title.Contains(dto.Title!))
 				.WhereIF(!string.IsNullOrEmpty(dto.AcceptType), x => x.AcceptTypeCode == dto.AcceptType) //受理类型
@@ -6160,7 +6161,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         }
         else if(dto.StatisticsType == "sendOrderBackNum")
         {
-			var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
+			var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.AcceptorId == dto.UserId)
 				.WhereIF(!string.IsNullOrEmpty(dto.No), x => x.No.Contains(dto.No!))
 				.WhereIF(!string.IsNullOrEmpty(dto.Title), x => x.Title.Contains(dto.Title!))
 				.WhereIF(!string.IsNullOrEmpty(dto.AcceptType), x => x.AcceptTypeCode == dto.AcceptType) //受理类型
@@ -6181,13 +6182,13 @@ public class OrderApplication : IOrderApplication, IScopeDependency
 				.WhereIF(!string.IsNullOrEmpty(dto.Channel), (x, os) => x.SourceChannelCode == dto.Channel) //来源渠道
 				 .WhereIF(!string.IsNullOrEmpty(dto.Hotspot),
 					(x, os) => x.HotspotSpliceName != null && x.HotspotSpliceName.Contains(dto.Hotspot)) //热点分类
-				.Where((x, os) => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
+				.Where((x, os) => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.AcceptorId == dto.UserId)
 				.Select((x, os) => new OrderDto() { Id = x.Id.SelectAll(), SendBackOpinion = os.Content, SendBackAuditTime = os.AuditTime });
 			return query;
 		}
 		else if (dto.StatisticsType == "centreFileNum")
 		{
-			var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
+			var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.AcceptorId == dto.UserId)
 				.WhereIF(!string.IsNullOrEmpty(dto.No), x => x.No.Contains(dto.No!))
 				.WhereIF(!string.IsNullOrEmpty(dto.Title), x => x.Title.Contains(dto.Title!))
 				.WhereIF(!string.IsNullOrEmpty(dto.AcceptType), x => x.AcceptTypeCode == dto.AcceptType) //受理类型
@@ -6199,7 +6200,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
 		}
 		else if (dto.StatisticsType == "centreFileBackNum")
 		{
-			var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
+			var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.AcceptorId == dto.UserId)
 				.WhereIF(!string.IsNullOrEmpty(dto.No), x => x.No.Contains(dto.No!))
 				.WhereIF(!string.IsNullOrEmpty(dto.Title), x => x.Title.Contains(dto.Title!))
 				.WhereIF(!string.IsNullOrEmpty(dto.AcceptType), x => x.AcceptTypeCode == dto.AcceptType) //受理类型
@@ -6219,7 +6220,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
 				.WhereIF(!string.IsNullOrEmpty(dto.Channel), (x, os) => x.SourceChannelCode == dto.Channel) //来源渠道
 				 .WhereIF(!string.IsNullOrEmpty(dto.Hotspot),
 					(x, os) => x.HotspotSpliceName != null && x.HotspotSpliceName.Contains(dto.Hotspot)) //热点分类
-				.Where((x, os) => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
+				.Where((x, os) => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.AcceptorId == dto.UserId)
                 .Select((x, os) => new OrderDto() { Id = x.Id.SelectAll() , SendBackOpinion = os.Reason , SendBackAuditTime = os.CreationTime });
 			return query;
 		}

+ 2 - 2
src/Hotline.Repository.SqlSugar/Extensions/SqlSugarStartupExtensions.cs

@@ -230,8 +230,8 @@ namespace Hotline.Repository.SqlSugar.Extensions
                 ////获取原生SQL推荐 5.1.4.63  性能OK
                 //Log.Information(UtilMethods.GetNativeSql(sql, pars));
 
-                // Log.Information("Sql: {0}", sql);
-                // Log.Information("SqlParameters: {0}", string.Join(',', pars.Select(d => d.Value)));
+                Log.Information("Sql: {0}", sql);
+                Log.Information("SqlParameters: {0}", string.Join(',', pars.Select(d => d.Value)));
             };
             db.Aop.OnError = (exp) =>//SQL报错
             {