Dun.Jason před 4 měsíci
rodič
revize
9aece7fdae

+ 6 - 1
src/Hotline.Api/Controllers/Bi/BiCallController.cs

@@ -523,9 +523,14 @@ public class BiCallController : BaseController
 
     #region 宜宾话务表
 
+    /// <summary>
+    /// 话务日期统计明细
+    /// </summary>
+    /// <param name="dto"></param>
+    /// <returns></returns>
     //public async Task<List<QueryCallDateStatisticsDetailResp>> QueryCallDateStatisticsDetail([FromQuery] QueryCallDateStatisticsDetailDto dto)
     //{
-
+    //     await _callReportApplication.QueryCallDateStatisticsDetail(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 14:25:26"), DateTime.Parse("2024-12-11 14:25:26"), EFlowDirection.CenterToOrg,new OrderTimeClacInfo() { AcceptTypeCode= "10" });
+        var times = _expireTime.CalcExpiredTime(DateTime.Parse("2024-12-11 14:45:58"), DateTime.Parse("2024-12-11 14:45:58"), EFlowDirection.CenterToOrg,new OrderTimeClacInfo() { AcceptTypeCode= "20" });
         //await _capPublisher.PublishDelay(EventNames.OrderRelateCall, "123", cancellationToken: HttpContext.RequestAborted);
         return OpenResponse.Ok(times.Result);
     }

+ 5 - 0
src/Hotline.Application/StatisticalReport/CallReport/CallReportApplicationBase.cs

@@ -67,6 +67,11 @@ public abstract class CallReportApplicationBase : ICallReportApplication
         return await _callNativeRepository.GetCallList(dto, noConnectByeTimes, effectiveTimes, connectByeTimes);
     }
 
+    public virtual async Task<List<QueryCallDateStatisticsDetailResp>> QueryCallDateStatisticsDetail(QueryCallDateStatisticsDetailDto dto)
+    {
+        throw new NotImplementedException();
+    }
+
     public virtual async Task<List<BiCallDto>> QueryCallsAsync(BiQueryCallsDto dto, CancellationToken cancellationToken)
     {
         return await _callNativeRepository.GetQueryCalls(dto.StartTime.Value, dto.EndTime.Value, dto.Line);

+ 15 - 0
src/Hotline.Application/StatisticalReport/CallReport/YiBinCallReportApplication.cs

@@ -250,6 +250,21 @@ public class YiBinCallReportApplication : CallReportApplicationBase, ICallReport
         return list;
     }
 
+    /// <summary>
+    /// 话务日期统计明细
+    /// </summary>
+    /// <param name="dto"></param>
+    /// <returns></returns>
+    public override async Task<List<QueryCallDateStatisticsDetailResp>> QueryCallDateStatisticsDetail(QueryCallDateStatisticsDetailDto dto)
+    {
+        //await _trCallRecordRepositoryEx.
+
+        return await base.QueryCallDateStatisticsDetail(dto);
+    }
+
+
+
+
     //public override async Task<PagedDto<TrCallDto>> GetCallDetailListAsync(GetCallListDto dto, CancellationToken cancellationToken)
     //{
     //    var (total, items) = await _trCallRecordRepository.Queryable()

+ 8 - 0
src/Hotline.Application/StatisticalReport/ICallReportApplication.cs

@@ -47,5 +47,13 @@ namespace Hotline.Application.StatisticalReport
         /// <returns></returns>
         Task<(int, List<QueryCallsStatisticsDetailOutDto>)> QueryCallsStatisticsDetailAsync(QueryCallsStatisticsDetailInDto dto, CancellationToken cancellationToken);
         // Task<PagedDto<TrCallDto>> GetCallDetailListAsync(GetCallListDto dto, CancellationToken cancellationToken);
+
+
+        /// <summary>
+        /// 话务日期统计明细
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        Task<List<QueryCallDateStatisticsDetailResp>> QueryCallDateStatisticsDetail(QueryCallDateStatisticsDetailDto dto);
     }
 }

+ 7 - 0
src/Hotline.Repository.SqlSugar/CallCenter/TrCallRecordRepository.cs

@@ -286,5 +286,12 @@ namespace Hotline.Repository.SqlSugar.CallCenter
                 .OrderByDescending(x => x.CreatedTime);
         }
 
+        public async Task<List<QueryCallDateStatisticsDetailResp>> QueryCallDateStatisticsDetailResp(DateTime startTime, DateTime endTime)
+        {
+            return null;
+            await Db.Queryable<TrCallRecord>()
+                .Where(x => x.CreatedTime >= startTime && x.CreatedTime <= endTime && SqlFunc.Length(x.Gateway) > 4).ToListAsync();
+                
+        }
     }
 }

+ 8 - 0
src/Hotline/CallCenter/Calls/ITrCallRecordRepository.cs

@@ -34,5 +34,13 @@ namespace Hotline.CallCenter.Calls
         /// <param name="dto"></param>
         /// <returns></returns>
         ISugarQueryable<TrCallRecord> GetCallList(GetCallListDto dto);
+
+        /// <summary>
+        /// 话务日期统计明细
+        /// </summary>
+        /// <param name="startTime"></param>
+        /// <param name="endTime"></param>
+        /// <returns></returns>
+        Task<List<QueryCallDateStatisticsDetailResp>> QueryCallDateStatisticsDetailResp(DateTime startTime, DateTime endTime);
     }
 }

+ 4 - 2
src/Hotline/Settings/TimeLimitDomain/ExpireTimeSupplier/WorkDaySupplier.cs

@@ -188,8 +188,10 @@ public class WorkDaySupplier : IExpireTimeSupplier, IScopeDependency
                 }
                 while(true)
                 {
-                    beginTime = beginTime.AddDays(1);
-                    if (await IsWorkDay(beginTime))
+                   
+                    if (!await IsWorkDay(beginTime))
+                        beginTime = beginTime.AddDays(1);
+                    else
                         break;
                 }
                 int w = timeConfig.Count;