Browse Source

Merge branch 'dev' of http://110.188.24.182:10023/Fengwo/hotline into dev

xf 1 year ago
parent
commit
42c136da9c

+ 4 - 4
src/Hotline.Api/Controllers/Bi/BiCallController.cs

@@ -241,13 +241,13 @@ public class BiCallController : BaseController
     /// <returns></returns>
     [HttpGet("hourcall")]
     [AllowAnonymous]
-    public async Task<List<TrCallHourDto>> QueryHourCall([FromQuery]DateTime beginDate,DateTime? endDate)
+    public async Task<List<TrCallHourDto>> QueryHourCall([FromQuery]DateTime beginDate,DateTime? endDate, string source)
     {
         //获取配置
         int noConnectByeTimes = int.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.NoConnectByeTimes)?.SettingValue[0]);
         int effectiveTimes = int.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.EffectiveTimes)?.SettingValue[0]);
         int connectByeTimes = int.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.ConnectByeTimes)?.SettingValue[0]);
-        var list = await _trCallRecordRepositoryEx.GetCallHourList(beginDate,endDate,noConnectByeTimes,effectiveTimes,connectByeTimes);
+        var list = await _trCallRecordRepositoryEx.GetCallHourList(beginDate,endDate,noConnectByeTimes,effectiveTimes,connectByeTimes,source);
         return list;
     }
 
@@ -256,13 +256,13 @@ public class BiCallController : BaseController
 	/// </summary>
 	/// <returns></returns>
 	[HttpGet("hourcall_list")]
-	public async Task<object> QueryCallList([FromQuery] DateTime beginDate, DateTime? endDate, string type, string source, int pageIndex, int pageSize)
+	public async Task<object> QueryCallList([FromQuery] DateTime beginDate, DateTime? endDate, string type, string source, TimeSpan? startHourTo , int pageIndex, int pageSize)
 	{
 		//获取配置
 		int noConnectByeTimes = int.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.NoConnectByeTimes)?.SettingValue[0]);
 		int effectiveTimes = int.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.EffectiveTimes)?.SettingValue[0]);
 		int connectByeTimes = int.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.ConnectByeTimes)?.SettingValue[0]);
-		var list = await _trCallRecordRepositoryEx.GetCallList(beginDate, endDate, noConnectByeTimes, effectiveTimes, connectByeTimes, type, source, pageIndex, pageSize);
+		var list = await _trCallRecordRepositoryEx.GetCallList(beginDate, endDate, noConnectByeTimes, effectiveTimes, connectByeTimes, type, source, startHourTo,pageIndex, pageSize);
 		return list;
 	}
 

+ 33 - 12
src/Hotline.Api/Controllers/Bi/BiOrderController.cs

@@ -218,21 +218,22 @@ namespace Hotline.Api.Controllers.Bi
             dto.EndTime = dto.EndTime.Value.AddDays(1).AddSeconds(-1);
 
             var query = _orderRepository.Queryable(false, false, false)
-                .WhereIF(dto.StartTime.HasValue, x => x.CreationTime >= dto.StartTime)
-                .WhereIF(dto.EndTime.HasValue, x => x.CreationTime <= dto.EndTime)
-                .WhereIF(!string.IsNullOrEmpty(dto.Keyword), x => x.AcceptorName.Contains(dto.Keyword!))
-                .GroupBy(x => new { x.AcceptorId, x.AcceptorName })
-                .Select(x => new OrderBiCentreDataListVo
+                .WhereIF(dto.StartTime.HasValue, it => it.CreationTime >= dto.StartTime)
+                .WhereIF(dto.EndTime.HasValue, it => it.CreationTime <= dto.EndTime)
+                .WhereIF(!string.IsNullOrEmpty(dto.Keyword), it => it.SignerName.Contains(dto.Keyword!))
+                .GroupBy(it => new { it.SignerId, it.SignerName })
+                .Select(it => new OrderBiCentreDataListVo
                 {
-                    UserName = x.AcceptorName,
-                    UserId = x.AcceptorId,
+                    UserName = it.SignerName,
+                    UserId = it.SignerId,
                     //Subtotal = SqlFunc.AggregateCount(x.AcceptorId),
-                    CentreArchive = SqlFunc.AggregateSum(SqlFunc.IIF(x.Status >= EOrderStatus.Filed && x.ProcessType == EProcessType.Zhiban, 1, 0)),
-                    CentreCareOf = SqlFunc.AggregateSum(SqlFunc.IIF(x.Status >= EOrderStatus.Filed && x.ProcessType == EProcessType.Jiaoban, 1, 0)),
+                    CentreArchive = SqlFunc.AggregateSum(SqlFunc.IIF(it.Status >= EOrderStatus.Filed && it.ProcessType == EProcessType.Zhiban, 1, 0)),
+                    //CentreCareOf = SqlFunc.AggregateSum(SqlFunc.IIF(it.Status >= EOrderStatus.Filed && it.ProcessType == EProcessType.Jiaoban, 1, 0)),
+                    CentreCareOf = SqlFunc.AggregateSum(SqlFunc.IIF((it.Status >= EOrderStatus.Filed && it.ProcessType == EProcessType.Jiaoban),1,0)),
                     //NoCentreCareOf = SqlFunc.AggregateSum(SqlFunc.IIF((int)x.Status < 300 && x.ExpiredTime > x.FiledTime, 1, 0)),
-                    Invalid = SqlFunc.AggregateSum(SqlFunc.IIF(x.AcceptType == "无效", 1, 0)),
-                    Repeat = SqlFunc.AggregateSum(SqlFunc.IIF(x.DuplicateIds != null && SqlFunc.JsonArrayLength(x.DuplicateIds) > 0, 1, 0)),
-                    Subtotal = SqlFunc.AggregateSum(SqlFunc.IIF(x.Status >= EOrderStatus.Filed || x.AcceptType == "无效" || (x.DuplicateIds != null && SqlFunc.JsonArrayLength(x.DuplicateIds) > 0), 1, 0))
+                    Invalid = SqlFunc.AggregateSum(SqlFunc.IIF(it.AcceptType == "无效", 1, 0)),
+                    Repeat = SqlFunc.AggregateSum(SqlFunc.IIF(it.DuplicateIds != null && SqlFunc.JsonArrayLength(it.DuplicateIds) > 0, 1, 0)),
+                    Subtotal = SqlFunc.AggregateSum(SqlFunc.IIF(it.Status >= EOrderStatus.Filed || it.AcceptType == "无效" || (it.DuplicateIds != null && SqlFunc.JsonArrayLength(it.DuplicateIds) > 0), 1, 0))
                 }).MergeTable();
             switch (dto.SortField)
             {
@@ -255,6 +256,12 @@ namespace Hotline.Api.Controllers.Bi
                     query = dto.SortRule == 0 ? query.OrderBy(x => x.Subtotal) : query.OrderByDescending(x => x.Subtotal);
                     break;
             }
+
+            if (string.IsNullOrEmpty(dto.SortField))
+            {
+                query = query.OrderByDescending(x => x.Subtotal);
+            }
+
             var (total, items) = await query.Where(x => (x.CentreArchive + x.CentreCareOf + x.Invalid + x.Repeat) != 0).ToPagedListAsync(dto, HttpContext.RequestAborted);
             return new PagedDto<OrderBiCentreDataListVo>(total, items);
         }
@@ -2524,8 +2531,15 @@ namespace Hotline.Api.Controllers.Bi
 
             dto.EndDate = dto.EndDate.AddDays(1).AddSeconds(-1);
 
+            List<string> filterTitle = new List<string>();
+            filterTitle.Add("无声");
+            filterTitle.Add("骚扰");
+            filterTitle.Add("错拨");
+            filterTitle.Add("测试");
+
             var (total, items) = await _orderRepository.Queryable()
                 .Where(x => x.CreationTime >= dto.StartDate && x.CreationTime <= dto.EndDate)
+                .Where(x => filterTitle.Any(s => x.Title.Contains(s)) == false)
                 .LeftJoin<SystemArea>((it, o) => it.AreaCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")) == o.Id)
                 .WhereIF(dto.AreaCodes.Any(), (it, o) => dto.AreaCodes.Contains(it.AreaCode)) //区域
                 .WhereIF(dto.HotspotIds.Any(), (it, o) => dto.HotspotIds.Contains(it.HotspotId)) //热点类型
@@ -2580,6 +2594,12 @@ namespace Hotline.Api.Controllers.Bi
         public async Task<PagedDto<OrderDto>> HighMatterWarningDetail([FromQuery] HighMatterWarningDetailRequest dto)
         {
             dto.EndDate = dto.EndDate.AddDays(1).AddSeconds(-1);
+            List<string> filterTitle = new List<string>();
+            filterTitle.Add("无声");
+            filterTitle.Add("骚扰");
+            filterTitle.Add("错拨");
+            filterTitle.Add("测试");
+
             var (total, items) = await _orderRepository.Queryable()
             .Includes(x => x.OrderScreens)
             .Where(d => d.AcceptTypeCode == dto.AcceptTypeCode) //受理类型
@@ -2587,6 +2607,7 @@ namespace Hotline.Api.Controllers.Bi
             .Where(d => d.CreationTime >= dto.StartDate) //受理时间开始
             .Where(d => d.CreationTime <= dto.EndDate) //受理时间结束
             .Where(d => d.AreaCode == dto.AreaCode) //区域
+            .Where(x => filterTitle.Any(s => x.Title.Contains(s)) == false)
             .OrderByDescending(d => d.CreationTime)
             .ToPagedListAsync(dto, HttpContext.RequestAborted);
             return new PagedDto<OrderDto>(total, _mapper.Map<IReadOnlyList<OrderDto>>(items));

+ 11 - 1
src/Hotline.Api/Controllers/Bigscreen/DataScreenController.cs

@@ -201,11 +201,12 @@ namespace Hotline.Api.Controllers.Bigscreen
             EndDate = EndDate.AddDays(1).AddSeconds(-1);
              var list = await _orderRepository.Queryable(false, false, false)
                 .Where(x => x.StartTime >= StartDate && x.StartTime <= EndDate && x.AreaCode.StartsWith(AreaCode) && !x.HotspotId.StartsWith("18"))
-                .GroupBy(x => new { x.HotspotId, x.HotspotName })
+                .GroupBy(x => new { x.HotspotId, x.HotspotName,x.HotspotSpliceName })
                 .Select(x => new EarlyWarningHotsPotsStatisticsDto()
                 {
                      HotspotId = x.HotspotId,
                      HotspotName = x.HotspotName,
+                     HotspotSpliceName = x.HotspotSpliceName,
                      SumCount = SqlFunc.AggregateCount(x.Id)
                 }).OrderByDescending(x=>x.SumCount).Take(5).ToListAsync();
             return list;
@@ -411,8 +412,17 @@ namespace Hotline.Api.Controllers.Bigscreen
             //var endDate = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
             //var startDate = endDate.AddDays(-30).Date;
 
+
+            List<string> filterTitle = new List<string>();
+            filterTitle.Add("无声");
+            filterTitle.Add("骚扰");
+            filterTitle.Add("错拨");
+            filterTitle.Add("测试");
+
+
             var list = await _orderRepository.Queryable(false, false, false)
                 .Where(x => x.CreationTime >= StartDate && x.CreationTime <= EndDate)
+                .Where(x=> filterTitle.Any(s=> x.Title.Contains(s)) == false)
                 .LeftJoin<SystemArea>((it, o) => it.AreaCode.Substring(SqlFunc.MappingColumn<int>("0"), SqlFunc.MappingColumn<int>("6")) == o.Id)
                 .GroupBy((it, o) => new
                 {

+ 1 - 1
src/Hotline.Api/config/appsettings.Development.json

@@ -29,7 +29,7 @@
   },
   "Swagger": true,
   "Cors": {
-    "Origins": [ "http://localhost:8888", "http://admin.hotline.fw.com", "http://localhost:80" ]
+    "Origins": [ "http://localhost:8888", "http://admin.hotline.fw.com", "http://localhost:80","http://localhost:8113" ]
   },
   "IdentityConfiguration": {
     "Password": {

+ 1 - 1
src/Hotline.Api/config/appsettings.json

@@ -29,7 +29,7 @@
   },
   "Swagger": true,
   "Cors": {
-    "Origins": [ "http://localhost:8888", "http://hotline.12345lm.cn", "http://110.188.24.28:50101", "http://110.188.24.28:50102", "http://110.188.24.28:50301", "http://bs.hotline.12345lm.cn" ]
+    "Origins": [ "http://localhost:8888", "http://localhost:8113", "http://hotline.12345lm.cn", "http://110.188.24.28:50101", "http://110.188.24.28:50102", "http://110.188.24.28:50301", "http://bs.hotline.12345lm.cn" ]
   },
   "IdentityConfiguration": {
     "Password": {

+ 10 - 0
src/Hotline.Application/Handlers/FlowEngine/WorkflowEndHandler.cs

@@ -157,6 +157,16 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
                     order.ProcessType is EProcessType.Zhiban)
                     : 0;
                 order.File(now, handleDuration, fileDuration, allDuration);
+                order.FileUserName = notification.Trace.HandlerId;
+                order.FileUserName = notification.Trace.HandlerName;
+                order.FileUserOrgId = notification.Trace.HandlerOrgId;
+                order.FileUserOrgName = notification.Trace.HandlerOrgName;
+
+                if (order.ProcessType == EProcessType.Jiaoban)
+                {
+                    order.FileUserRole = EFileUserType.Org;
+                }
+               
                 await _orderRepository.UpdateAsync(order, cancellationToken);
                 var callRecord = await _trCallRecordRepository.GetAsync(p => p.CallAccept == order.CallId, cancellationToken);
                 var orderFlowDto = new OrderFlowDto

+ 26 - 17
src/Hotline.Repository.SqlSugar/CallCenter/TrCallRecordRepository.cs

@@ -63,7 +63,7 @@ namespace Hotline.Repository.SqlSugar.CallCenter
             return returnList;
         }
 
-        public async Task<List<TrCallHourDto>?> GetCallHourList(DateTime beginDate,DateTime? endDate,int noConnectByeTimes,int effectiveTimes,int connectByeTimes)
+        public async Task<List<TrCallHourDto>?> GetCallHourList(DateTime beginDate,DateTime? endDate,int noConnectByeTimes,int effectiveTimes,int connectByeTimes, string source)
         {
             //计算小时差
             if (!endDate.HasValue)
@@ -89,8 +89,9 @@ namespace Hotline.Repository.SqlSugar.CallCenter
 
             var list = await Db.Reportable(dts).ToQueryable<DateTime>()
                 .LeftJoin<TrCallRecord>((it, o) => o.CreatedTime >= it.ColumnName && o.CreatedTime < it.ColumnName.AddHours(1) && o.CallDirection == ECallDirection.In)
-                //.Where((it, o) => o.CallDirection == ECallDirection.In)
-                .GroupBy((it,o) => it.ColumnName)
+				 //.Where((it, o) => o.CallDirection == ECallDirection.In)
+				 .WhereIF(!string.IsNullOrEmpty(source), (it,o) => o.CDPN == source)
+				.GroupBy((it,o) => it.ColumnName)
                 .Select((it, o) => new TrCallHourDto()
                 {
                     DateTimeTo = it.ColumnName, 
@@ -109,7 +110,9 @@ namespace Hotline.Repository.SqlSugar.CallCenter
                 .Select(x=> new TrCallHourDto() { 
                     Hour = x.Key,
                     HourTo = x.Key.ToString().PadLeft(2, '0') + ":00 - " + (x.Key).ToString().PadLeft(2, '0') + ":59",
-                    EffectiveCount = x.Sum(d=>d.EffectiveCount),
+                    StartHourTo= x.Key.ToString().PadLeft(2, '0') + ":00",
+                    EndHourTo = x.Key.ToString().PadLeft(2, '0') + ":59",
+					EffectiveCount = x.Sum(d=>d.EffectiveCount),
                     ConnectByeCount = x.Sum(d=>d.ConnectByeCount),
                     NoConnectByeCount = x.Sum(d=>d.NoConnectByeCount),
                     QueueByeCount = x.Sum(d=>d.QueueByeCount),
@@ -123,26 +126,32 @@ namespace Hotline.Repository.SqlSugar.CallCenter
 		/// 通话时段统计明细
 		/// </summary>
 		/// <returns></returns>
-        public async Task<object> GetCallList(DateTime beginDate, DateTime? endDate, int noConnectByeTimes, int effectiveTimes, int connectByeTimes, string type, string source ,int pageIndex, int pageSize)
+        public async Task<object> GetCallList(DateTime beginDate, DateTime? endDate, int noConnectByeTimes, int effectiveTimes, int connectByeTimes, string type, string source , TimeSpan? startHourTo, int pageIndex, int pageSize)
         {
+            TimeSpan endHourTo = DateTime.Now.TimeOfDay;
+			if (startHourTo.HasValue)
+	        {
+                 endHourTo = startHourTo.Value.Add(new TimeSpan(1, 0, 0));
+			}
 	        endDate = endDate.Value.Date.AddDays(1).AddSeconds(-1);
 	        RefAsync<int> total = 0;
 			var res = await Db.Queryable<TrCallRecord>()
                 .Where(x => x.CreatedTime >= beginDate && x.CreatedTime <= endDate)
                 .Where(x => x.CallDirection == ECallDirection.In)
                 .WhereIF(!string.IsNullOrEmpty(source), x => x.CDPN == source)
-                .WhereIF(!string.IsNullOrEmpty(type) && ("QueueBye".Equals(type) || "queueByeCount".Equals(type)), x => x.QueueTims > 0 && x.RingTimes == 0)
-                .WhereIF(!string.IsNullOrEmpty(type) &&("IvrBye".Equals(type)|| "ivrByeCount".Equals(type)) , x => x.BeginIvrTime.HasValue && !x.BeginQueueTime.HasValue && !x.BeginRingTime.HasValue && x.OnState == EOnState.NoOn)
-                .WhereIF(!string.IsNullOrEmpty(type) && ("Effective".Equals(type) || "effectiveCount".Equals(type)), x => x.Duration >= effectiveTimes)
-                .WhereIF(!string.IsNullOrEmpty(type) && "Invalid".Equals(type) , x => x.Duration < effectiveTimes)
-                .WhereIF(!string.IsNullOrEmpty(type) && "connectByeCount".Equals(type) , x => x.Duration > 0 && x.Duration <= connectByeTimes)
-                .WhereIF(!string.IsNullOrEmpty(type) && "noConnectByeCount".Equals(type), x => x.Duration == 0 && x.RingTimes <= noConnectByeTimes && x.RingTimes > 0)
-                .WhereIF(!string.IsNullOrEmpty(type) && "count".Equals(type), x => 
-                (x.Duration == 0 && x.RingTimes <= noConnectByeTimes && x.RingTimes > 0)
-                ||(x.Duration == 0 && x.RingTimes <= noConnectByeTimes && x.RingTimes > 0)
-				||(x.Duration >= effectiveTimes)
-				||(x.BeginIvrTime.HasValue && !x.BeginQueueTime.HasValue && !x.BeginRingTime.HasValue && x.OnState == EOnState.NoOn)
-				||(x.QueueTims > 0 && x.RingTimes == 0))
+                .WhereIF(!string.IsNullOrEmpty(type) && ("QueueBye".Equals(type) || "queueByeCount".Equals(type)), x => x.QueueTims > 0 && x.RingTimes == 0) //队列挂断
+				.WhereIF(!string.IsNullOrEmpty(type) &&("IvrBye".Equals(type)|| "ivrByeCount".Equals(type)) , x => x.BeginIvrTime.HasValue && !x.BeginQueueTime.HasValue && !x.BeginRingTime.HasValue && x.OnState == EOnState.NoOn)//IVR挂断
+				.WhereIF(!string.IsNullOrEmpty(type) && ("Effective".Equals(type) || "effectiveCount".Equals(type)), x => x.Duration >= effectiveTimes) //有效接通
+				.WhereIF(!string.IsNullOrEmpty(type) && "Invalid".Equals(type) , x => x.Duration > 0 && x.Duration < effectiveTimes)//无效接通
+				.WhereIF(!string.IsNullOrEmpty(type) && "connectByeCount".Equals(type) , x => x.Duration > 0 && x.Duration <= connectByeTimes)  //接通秒挂
+				.WhereIF(!string.IsNullOrEmpty(type) && "noConnectByeCount".Equals(type), x => x.Duration == 0 && x.RingTimes <= noConnectByeTimes && x.RingTimes > 0)  //未接通秒挂
+				.WhereIF(!string.IsNullOrEmpty(type) && "count".Equals(type), x => 
+                (x.Duration == 0 && x.RingTimes <= noConnectByeTimes && x.RingTimes > 0)  //未接通秒挂
+				|| (x.Duration > 0 && x.Duration <= connectByeTimes)  //接通秒挂
+				|| (x.Duration >= effectiveTimes)//有效接通
+				|| (x.BeginIvrTime.HasValue && !x.BeginQueueTime.HasValue && !x.BeginRingTime.HasValue && x.OnState == EOnState.NoOn) //IVR挂断
+				|| (x.QueueTims > 0 && x.RingTimes == 0))//队列挂断
+				.WhereIF(startHourTo.HasValue, x=>SqlFunc.ToTime(x.CreatedTime.ToString("HH:mm:ss")) >= startHourTo.Value && SqlFunc.ToTime(x.CreatedTime.ToString("HH:mm:ss")) < endHourTo)
 				.Select(x=> new { 
                     CPN = x.CPN,
                     CDPN= x.CDPN,

+ 2 - 0
src/Hotline.Share/Dtos/Bigscreen/BigscreenDto.cs

@@ -94,6 +94,8 @@ namespace Hotline.Share.Dtos.Bigscreen
         public string HotspotName { get; set; }
 
         public int SumCount { get; set; }
+
+        public string HotspotSpliceName { get; set; }
     }
 
     public class OrderCountStatisticsDto

+ 5 - 1
src/Hotline.Share/Dtos/CallCenter/TrCallDto.cs

@@ -14,7 +14,11 @@ namespace Hotline.Share.Dtos.CallCenter
 
         public string HourTo { get; set; }
 
-        public DateTime DateTimeTo { get; set; }
+        public string StartHourTo { get; set; }
+
+        public string EndHourTo { get; set; }
+
+		public DateTime DateTimeTo { get; set; }
 
         /// <summary>
         /// 总计

+ 21 - 2
src/Hotline.Share/Dtos/Order/OrderBiDto.cs

@@ -38,18 +38,37 @@ namespace Hotline.Share.Dtos.Order
 
 	public class OrderBiCentreDataListVo
 	{
+		/// <summary>
+		/// 用户名
+		/// </summary>
 		public string UserName { get; set; }
 
+		/// <summary>
+		/// 用户ID
+		/// </summary>
 		public string UserId { get; set; }
 
+		/// <summary>
+		/// 中心归档件
+		/// </summary>
 		public int CentreArchive { get; set; }
 
+		/// <summary>
+		/// 转办信件
+		/// </summary>
 		public int CentreCareOf { get; set; }
 
+		/// <summary>
+		/// 待转办
+		/// </summary>
 		public int NoCentreCareOf { get; set; }
-
+		/// <summary>
+		/// 无效件
+		/// </summary>
 		public int Invalid { get; set; }
-
+		/// <summary>
+		/// 重复件
+		/// </summary>
 		public int Repeat { get; set; }
 
         //public int Subtotal => CentreArchive + CentreCareOf + NoCentreCareOf + Invalid + Repeat;

+ 30 - 0
src/Hotline.Share/Enums/Order/EFileUserType.cs

@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Hotline.Share.Enums.Order
+{
+    public enum EFileUserType
+    {
+        /// <summary>
+        /// 坐席
+        /// </summary>
+        [Description("坐席")]
+        Seat = 1,
+
+        /// <summary>
+        /// 派单员
+        /// </summary>
+        [Description("派单员")]
+        Dispatch =2,
+
+        /// <summary>
+        /// 部门
+        /// </summary>
+        [Description("部门")]
+        Org = 3,
+    }
+}

+ 2 - 2
src/Hotline/CallCenter/Calls/ITrCallRecordRepository.cs

@@ -7,12 +7,12 @@ namespace Hotline.CallCenter.Calls
     {
 
         Task<List<BiCallDto>?> GetQueryCalls(DateTime beginDate, DateTime endDate);
-        Task<List<TrCallHourDto>?> GetCallHourList(DateTime beginDate, DateTime? endDate, int noConnectByeTimes, int effectiveTimes,int connectByeTimes);
+        Task<List<TrCallHourDto>?> GetCallHourList(DateTime beginDate, DateTime? endDate, int noConnectByeTimes, int effectiveTimes,int connectByeTimes, string source);
 
 
         Task<List<CallHotLineDto>> GetCallHotLineList(DateTime beginDate, DateTime endDate, string lineNum, int noConnectByeTimes, int effectiveTimes, int connectByeTimes,int ringTims);
 
-        Task<object> GetCallList(DateTime beginDate, DateTime? endDate, int noConnectByeTimes, int effectiveTimes, int connectByeTimes, string type, string source, int pageIndex, int pageSize);
+        Task<object> GetCallList(DateTime beginDate, DateTime? endDate, int noConnectByeTimes, int effectiveTimes, int connectByeTimes, string type, string source, TimeSpan? startHourTo, int pageIndex, int pageSize);
 
 	}
 }

+ 44 - 16
src/Hotline/Orders/Order.cs

@@ -50,7 +50,7 @@ namespace Hotline.Orders
         /// </summary>
         public string? CallId { get; set; }
 
-       
+
         /// <summary>
         /// 来电归属地
         /// </summary>
@@ -578,29 +578,29 @@ namespace Hotline.Orders
         /// </summary>
         public string? AcceptorOrgName { get; set; }
 
-		#endregion
-		#region 派单人
+        #endregion
+        #region 派单人
 
-		/// <summary>
-		/// 派单人id
-		/// </summary>
-		public string? SendOrderId { get; set; }
+        /// <summary>
+        /// 派单人id
+        /// </summary>
+        public string? SendOrderId { get; set; }
 
-		/// <summary>
-		/// 派单人名称
-		/// </summary>
-		public string? SendOrderName { get; set; }
+        /// <summary>
+        /// 派单人名称
+        /// </summary>
+        public string? SendOrderName { get; set; }
 
         /// <summary>
         /// 派单次数
         /// </summary>
         public int? SendOrderNumber { get; set; } = 0;
-		#endregion
+        #endregion
 
-		/// <summary>
-		/// 会签类型
-		/// </summary>
-		public ECounterSignType? CounterSignType { get; set; }
+        /// <summary>
+        /// 会签类型
+        /// </summary>
+        public ECounterSignType? CounterSignType { get; set; }
 
         #region 签收
 
@@ -616,6 +616,34 @@ namespace Hotline.Orders
 
         #endregion
 
+        #region 归档冗余字段
+
+        /// <summary>
+        /// 归档人名称
+        /// </summary>
+        public string? FileUserName { get; set; }
+        /// <summary>
+        /// 归档人ID
+        /// </summary>
+        public string? FileUserId { get; set; }
+
+        /// <summary>
+        /// 归档人部门Id
+        /// </summary>
+        public string? FileUserOrgId { get; set; }
+
+        /// <summary>
+        /// 归档人部门名称
+        /// </summary>
+        public string? FileUserOrgName { get; set; }
+
+        /// <summary>
+        /// 归档人类型
+        /// </summary>
+        public EFileUserType? FileUserRole{get;set;}
+
+        #endregion
+
         #endregion
 
         #region 省工单字段