Prechádzať zdrojové kódy

323 新增【超期退回统计】

田爽 2 mesiacov pred
rodič
commit
3964a0acda

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

@@ -5952,5 +5952,21 @@ namespace Hotline.Api.Controllers.Bi
 			return ExcelStreamResult(stream, "超期退回统计明细");
 		}
 
+		/// <summary>
+		/// 列表页面基础数据
+		/// </summary>
+		/// <returns></returns>
+		[HttpGet("extended_sendback_detail/base-data")]
+		public async Task<object> ExtendedSendBackDetailBaseData()
+		{
+			var rsp = new
+			{
+				AcceptTypeOptions = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.AcceptType),
+				ChannelOptions = _sysDicDataCacheManager.GetSysDicDataCache(TimeLimitBaseDataConsts.SourceChannel),
+				SendBackAuditState = EnumExts.GetDescriptions<ESendBackAuditState>()
+			};
+			return rsp;
+		}
+
 	}
 }

+ 17 - 6
src/Hotline.Application/Orders/OrderApplication.cs

@@ -5013,13 +5013,24 @@ public class OrderApplication : IOrderApplication, IScopeDependency
             .Includes(x => x.Order)
             .Where(x => x.ApplyOrgId.Length == 6)
             .WhereIF(dto.StartTime.HasValue && dto.EndTime.HasValue, x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
-            .WhereIF(!_sessionContext.OrgIsCenter,x=>x.ApplyOrgId == _sessionContext.RequiredOrgId)
+            .WhereIF(!_sessionContext.OrgIsCenter, x => x.ApplyOrgId == _sessionContext.RequiredOrgId)
             .WhereIF(!string.IsNullOrEmpty(dto.No), x => x.Order.No.Contains(dto.No!))
-            .WhereIF(!string.IsNullOrEmpty(dto.Titel),x=>x.Order.Title.Contains(dto.Titel!))
-            .WhereIF(!string.IsNullOrEmpty(dto.OrgId),x=>x.ApplyOrgId == dto.OrgId)
-            .WhereIF(dto.Type is  ExtendedSendBackType.PassNum ,x=> x.State == ESendBackAuditState.End)
-			.WhereIF(dto.Type is  ExtendedSendBackType.NoPassNum, x => x.State == ESendBackAuditState.Refuse)
-			.WhereIF(dto.Type is  ExtendedSendBackType.AuditNum, x => x.State == ESendBackAuditState.Apply)
+            .WhereIF(!string.IsNullOrEmpty(dto.Titel), x => x.Order.Title.Contains(dto.Titel!))
+            .WhereIF(!string.IsNullOrEmpty(dto.OrgId), x => x.ApplyOrgId == dto.OrgId)
+            .WhereIF(dto.Type is ExtendedSendBackType.PassNum, x => x.State == ESendBackAuditState.End)
+            .WhereIF(dto.Type is ExtendedSendBackType.NoPassNum, x => x.State == ESendBackAuditState.Refuse)
+            .WhereIF(dto.Type is ExtendedSendBackType.AuditNum, x => x.State == ESendBackAuditState.Apply)
+            .WhereIF(!string.IsNullOrEmpty(dto.AcceptType), x => x.Order.AcceptTypeCode == dto.AcceptType) //受理类型
+            .WhereIF(!string.IsNullOrEmpty(dto.Channel), x => x.Order.SourceChannelCode == dto.Channel) //来源渠道
+            .WhereIF(!string.IsNullOrEmpty(dto.Hotspot), x => x.Order.HotspotSpliceName != null && x.Order.HotspotSpliceName.Contains(dto.Hotspot))//热点分类
+            .WhereIF(dto.CreationTimeStart.HasValue, x => x.Order.CreationTime >= dto.CreationTimeStart) //受理时间开始
+            .WhereIF(dto.CreationTimeEnd.HasValue, x => x.Order.CreationTime <= dto.CreationTimeEnd) //受理时间结束
+			.WhereIF(!string.IsNullOrEmpty(dto.ApplyOrgName), x => x.ApplyOrgName == dto.ApplyOrgName!) //申请部门
+			.WhereIF(!string.IsNullOrEmpty(dto.ApplyUserName), x => x.CreatorName == dto.ApplyUserName!) //申请人
+            .WhereIF(dto.State.HasValue , x=>x.State == dto.State) //退回审批状态
+			.WhereIF(!string.IsNullOrEmpty(dto.AuditUser), x => x.AuditUser == dto.AuditUser!) //审批人
+			.WhereIF(dto.AuditTimeStart.HasValue && dto.AuditTimeEnd.HasValue, x => x.AuditTime >= dto.AuditTimeStart && x.AuditTime <= dto.AuditTimeEnd)// 审批时间
+			.WhereIF(!string.IsNullOrEmpty(dto.AuditContent), x => x.AuditContent.Contains(dto.AuditContent!))//审批意见
 			.OrderByDescending(x => x.CreationTime);
         return query;
 

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

@@ -1546,6 +1546,61 @@ public record ExtendedSendBackRequest : PagedKeywordRequest
     /// 统计表列类型值  退回总量 1  退回审批通过量 2  退回审批不通过量 3  退回审批中 4
     /// </summary>
     public ExtendedSendBackType? Type { get; set; }
+
+	/// <summary>
+	/// 来源渠道(√)
+	/// </summary>
+	public string? Channel { get; set; }
+
+	/// <summary>
+	/// 受理类型(√)
+	/// </summary>
+	public string? AcceptType { get; set; }
+
+	/// <summary>
+	/// 热点分类
+	/// </summary>
+	public string? Hotspot { get; set; }
+
+
+	/// <summary>
+	/// 受理时间(工单创建时间)(√)
+	/// </summary>
+	public DateTime? CreationTimeStart { get; set; }
+	public DateTime? CreationTimeEnd { get; set; }
+
+    /// <summary>
+    /// 申请部门
+    /// </summary>
+    public string? ApplyOrgName { get; set; }
+
+    /// <summary>
+    /// 申请人
+    /// </summary>
+	public string? ApplyUserName { get; set; }
+
+	/// <summary>
+	/// 退回审批状态
+	/// </summary>
+	public ESendBackAuditState? State { get; set; }
+
+    /// <summary>
+    /// 审批人
+    /// </summary>
+	public string? AuditUser { get; set; }
+
+	/// <summary>
+	/// 审批时间
+	/// </summary>
+	public DateTime? AuditTimeStart { get; set; }
+
+	public DateTime? AuditTimeEnd { get; set; }
+
+	/// <summary>
+	/// 审批意见
+	/// </summary>
+	public string? AuditContent { get; set; }
+
 }
 
 public enum ExtendedSendBackType {