소스 검색

热点区域

Dun.Jason 9 달 전
부모
커밋
6ca3a1f5f7

+ 18 - 0
src/Hotline.Api/Controllers/Bi/BiOrderController.cs

@@ -3046,6 +3046,24 @@ namespace Hotline.Api.Controllers.Bi
             return ExcelStreamResult(stream, "热点区域统计");
         }
 
+        [HttpGet("hotspot-area-statistics-detail")]
+        public async Task<HotspotAndAreaStatisticsDetailDto> HotspotAndAreaStatisticsDetail([FromQuery] HotspotAndAreaStatisticsDetailReq dto)
+        {
+            dto.EndTime = dto.EndTime.AddDays(1).AddSeconds(-1);
+            _orderRepository.Queryable()
+                .Includes(x => x.OrderScreens)
+                .Where(x => x.HotspotId.StartsWith(dto.HotspotId) && x.AreaCode.StartsWith(dto.AreaCode) && x.CreationTime >= dto.StartTime && x.CreationTime < dto.EndTime)
+                .Select(x => new HotspotAndAreaStatisticsDetailDto
+                { 
+                     Status = x.Status,
+
+                }) ;
+
+
+            return null;
+        }
+
+
         /// <summary>
         /// 受理类型统计
         /// </summary>

+ 1 - 1
src/Hotline.Application/Orders/OrderApplication.cs

@@ -1094,7 +1094,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         //添加表头
         foreach (var item in AddColumnName)
         {
-            if (item.Equals("HotspotName") || item.Equals("一级热点"))
+            if (item.Equals("HotspotName") || item.Equals("热点分类"))
             {
                 dt2.Columns.Add("一级热点");
                 if (HotspotLevel == 2)

+ 3 - 0
src/Hotline.Application/StatisticalReport/OrderReportApplication.cs

@@ -1833,6 +1833,9 @@ order by ""su"".""OrgCode""";
             dto.EndTime = dto.EndTime.AddDays(1).AddSeconds(-1);
             var query = _orderRepository.Queryable()
                 .Where(x => x.CreationTime >= dto.StartTime && x.CreationTime < dto.EndTime)
+                .WhereIF(dto.TypeId == 1,x=>x.IdentityType == EIdentityType.Citizen)
+                .WhereIF(dto.TypeId == 2,x=>x.IdentityType == EIdentityType.Enterprise)
+                .WhereIF(!string.IsNullOrEmpty(dto.Gateway),x=>x.TransferPhone == dto.Gateway)
                 .GroupBy(x => x.AcceptType)
                 .Select(x => new AcceptTypeStatisticsDto
                 {

+ 98 - 0
src/Hotline.Share/Requests/PagedKeywordRequest.cs

@@ -1,4 +1,5 @@
 using Hotline.Share.Enums.Order;
+using XF.Utility.EnumExtensions;
 
 namespace Hotline.Share.Requests;
 
@@ -420,6 +421,103 @@ public class AcceptTypeStatisticsReq
 
 }
 
+public record HotspotAndAreaStatisticsDetailReq:PagedRequest
+{
+    public string AreaCode { get; set; }
+
+    public string HotspotId { get; set; }
+
+    public DateTime StartTime { get; set; }
+
+    public DateTime EndTime { get; set; }
+}
+
+
+public class HotspotAndAreaStatisticsDetailDto
+{
+    /// <summary>
+    /// 工单状态
+    /// </summary>
+    public EOrderStatus Status { get; set; }
+
+    public string StatusText => Status.GetDescription();
+
+    /// <summary>
+    /// 来源渠道(电话、网站、APP等)
+    /// </summary>
+    public string? SourceChannel { get; set; }
+
+    /// <summary>
+    /// 当前节点
+    /// </summary>
+    public string? ActualHandleStepName { get; set; }
+
+    /// <summary>
+    /// 重办次数
+    /// </summary>
+    public int ReTransactNum { get; set; }
+
+    /// <summary>
+    /// 紧急程度
+    /// </summary>
+    public EEmergencyLevel EmergencyLevel { get; set; }
+
+    /// <summary>
+    /// 甄别状态
+    /// </summary>
+    public string OrderScreenStatus { get; set; }
+
+    /// <summary>
+    /// 工单编号
+    /// </summary>
+    public string No { get; set; }
+
+    /// <summary>
+    /// 受理时间
+    /// </summary>
+    public DateTime CreationTime { get; set; }
+
+    /// <summary>
+    /// 标题
+    /// </summary>
+    public string Title { get; set; }
+
+    /// <summary>
+    /// 超期时间
+    /// </summary>
+    public DateTime? ExpiredTime { get; set; }
+
+    /// <summary>
+    /// 接办部门名称
+    /// </summary>
+    public string? ActualHandleOrgName { get; set; }
+
+    /// <summary>
+    /// 接办时间
+    /// </summary>
+    public DateTime? ActualHandleStepAcceptTime { get; set; }
+
+    /// <summary>
+    /// 办结时间
+    /// </summary>
+    public DateTime? FiledTime { get; set; }
+
+    /// <summary>
+    /// 受理类型
+    /// </summary>
+    public string? AcceptType { get; set; }
+
+    /// <summary>
+    /// 热点类型
+    /// </summary>
+    public string? HotspotName { get; set; }
+
+    /// <summary>
+    /// 受理人名称
+    /// </summary>
+    public string? AcceptorName { get; set; }
+}
+
 
 public class AcceptTypeStatisticsDto
 {