Browse Source

期满时间

Dun.Jason 4 tháng trước cách đây
mục cha
commit
5d6abb844f

+ 10 - 0
src/Hotline.Api/Controllers/Bi/BiCallController.cs

@@ -519,4 +519,14 @@ public class BiCallController : BaseController
                 await _callReportApplication.GetCallHotLineListAsync(dto.QueryDto, HttpContext.RequestAborted)
                 )
             , "热线号码统计");
+
+
+    #region 宜宾话务表
+
+    //public async Task<List<QueryCallDateStatisticsDetailResp>> QueryCallDateStatisticsDetail([FromQuery] QueryCallDateStatisticsDetailDto dto)
+    //{
+
+    //}
+
+    #endregion
 }

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

@@ -519,7 +519,7 @@ ICallApplication callApplication,
         //var r = _timeLimitDomainService.CalcExpiredTime(DateTime.Now, EFlowDirection.CenterToCenter, batchId);
         //var r = _timeLimitDomainService.CalcEndTime(DateTime.Parse("2024-09-12 14:45:47"), Share.Enums.Settings.ETimeType.WorkDay, 2, 80, 50);
         //_capPublisher.PublishDelay((DateTime.Now.AddMinutes(2) - DateTime.Now), EventNames.OrderRelateCall, "123");
-        var times = _expireTime.CalcExpiredTime(DateTime.Parse("2024-12-11 00:31:36"), DateTime.Parse("2024-12-11 00:31:36"), EFlowDirection.CenterToOrg,new OrderTimeClacInfo() { AcceptTypeCode= "15" });
+        var times = _expireTime.CalcExpiredTime(DateTime.Parse("2024-12-11 14:25:26"), DateTime.Parse("2024-12-11 14:25:26"), EFlowDirection.CenterToOrg,new OrderTimeClacInfo() { AcceptTypeCode= "10" });
         //await _capPublisher.PublishDelay(EventNames.OrderRelateCall, "123", cancellationToken: HttpContext.RequestAborted);
         return OpenResponse.Ok(times.Result);
     }

+ 99 - 1
src/Hotline.Share/Dtos/CallCenter/BiQueryCallsDto.cs

@@ -192,4 +192,102 @@ public class QueryCallsStatisticsDetailOutDto
     /// 语音文件路径
     /// </summary>
     public string AudioFile { get; set; }
-}
+}
+
+
+#region 宜宾新话务报表
+
+public class QueryCallDateStatisticsDetailDto
+{
+    public DateTime? StartTime { get; set; }
+
+    public DateTime? EndTime { get; set; }
+}
+
+public class QueryCallDateStatisticsDetailResp
+{
+    /// <summary>
+    /// 日期
+    /// </summary>
+    public string Date { get; set; }
+    /// <summary>
+    /// 呼入总量
+    /// </summary>
+    public int CallInTotal { get; set; }
+
+    /// <summary>
+    /// IVR呼入总量
+    /// </summary>
+    public int IvrCallInTotal { get; set; }
+
+    /// <summary>
+    /// 个人服务呼入总量
+    /// </summary>
+    public int PersonCallInCount { get; set; }
+
+    /// <summary>
+    /// 企业服务呼入总量
+    /// </summary>
+    public int EnterpriseCallInCount { get; set; }
+
+    /// <summary>
+    /// 智能应答呼入总量
+    /// </summary>
+    public int AiCallInCount { get; set; }
+
+    /// <summary>
+    /// 接通总量
+    /// </summary>
+    public int PutthroughCount { get; set; }
+
+    /// <summary>
+    /// 个人服务接通量
+    /// </summary>
+    public int PersonCallInPutthroughCount { get; set; }
+
+    /// <summary>
+    /// 企业服务接通量
+    /// </summary>
+    public int EnterpriseCallInPutthroughCount { get; set; }
+
+    /// <summary>
+    /// 智能应答呼入总量
+    /// </summary>
+    public int AiCallInPutthroughCount { get; set; }
+
+    /// <summary>
+    /// 挂断总量
+    /// </summary>
+    public int RingOffCount { get; set; }
+
+    /// <summary>
+    /// 个人服务挂断总量
+    /// </summary>
+    public int PersonRingOffCount { get; set; }
+
+    /// <summary>
+    /// 企业服务挂断总量
+    /// </summary>
+    public int EnterpriseRingOffCount { get; set; }
+
+    /// <summary>
+    /// IVR挂断总量
+    /// </summary>
+    public int IvrRingOffCount { get; set; }
+
+    /// <summary>
+    /// 总体接通率
+    /// </summary>
+    public double TotalPutthroughRate { get; set; }
+
+    /// <summary>
+    /// 服务接通率
+    /// </summary>
+    public double ServicePutthorughRate { get; set; }
+
+    /// <summary>
+    /// 话务接通率
+    /// </summary>
+    public double CallPutthorughRate { get; set; }
+}
+#endregion

+ 6 - 0
src/Hotline/Settings/TimeLimitDomain/ExpireTimeSupplier/WorkDaySupplier.cs

@@ -186,6 +186,12 @@ public class WorkDaySupplier : IExpireTimeSupplier, IScopeDependency
                 {
                     beginTime = WorkBeginTime;
                 }
+                while(true)
+                {
+                    beginTime = beginTime.AddDays(1);
+                    if (await IsWorkDay(beginTime))
+                        break;
+                }
                 int w = timeConfig.Count;
                 int days = 1;
                 while (true && w != 0)