Explorar o código

208 市州通用-部门满意度明细列表“甄别”数据列优化

田爽 hai 2 meses
pai
achega
c69cdc79fe

+ 8 - 4
src/Hotline.Repository.SqlSugar/Orders/OrderRepository.cs

@@ -1871,8 +1871,8 @@ namespace Hotline.Repository.SqlSugar.Orders
                     ActualHandleOrgName = x.OrderVisit.Order.ActualHandleOrgName,
                     IsProvinceOrder = x.OrderVisit.Order.Source == ESource.ProvinceStraight ? true : false
                 }).MergeTable().OrderByIF(string.IsNullOrEmpty(dto.SortField), x => x.VisitTime, OrderByType.Desc)
-				.OrderByIF(dto is { SortField: "orderScreenStatusText", SortRule: 0 }, x => x.OrderScreenStatus, OrderByType.Asc) //受理时间升序
-				.OrderByIF(dto is { SortField: "orderScreenStatusText", SortRule: 1 }, x => x.OrderScreenStatus, OrderByType.Desc) //受理时间降序
+				.OrderByIF(dto is { SortField: "orderScreenStatusText", SortRule: 0 }, x => x.OrderScreenStatus, OrderByType.Asc)
+				.OrderByIF(dto is { SortField: "orderScreenStatusText", SortRule: 1 }, x => x.OrderScreenStatus, OrderByType.Desc) 
 				.OrderByIF(dto is { SortField: "creationTime", SortRule: 0 }, x => x.CreationTime, OrderByType.Asc) //受理时间升序
                 .OrderByIF(dto is { SortField: "creationTime", SortRule: 1 }, x => x.CreationTime, OrderByType.Desc) //受理时间降序
                 .OrderByIF(dto is { SortField: "visitTime", SortRule: 0 }, x => x.VisitTime, OrderByType.Asc) //回访时间升序
@@ -1915,7 +1915,9 @@ namespace Hotline.Repository.SqlSugar.Orders
                 .WhereIF(dto.IsProvinceOrder.HasValue && dto.IsProvinceOrder == false, x => x.OrderVisit.Order.Source != ESource.ProvinceStraight)
                 .WhereIF(!string.IsNullOrEmpty(dto.ContentRetrieval), x => x.VisitContent.Contains(dto.ContentRetrieval!))
                 .WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgName), x => x.OrderVisit.Order.ActualHandleOrgName.Contains(dto.ActualHandleOrgName!))
-                .Select(x => new OrgVisitDetailListResp
+				.WhereIF(dto.IsScreen.HasValue && dto.IsScreen.Value, x => SqlFunc.Subqueryable<OrderScreen>().Where(q => q.OrderId == x.OrderVisit.OrderId && q.VisitDetailId == x.Id).Any())
+				.WhereIF(dto.IsScreen.HasValue && dto.IsScreen.Value == false, x => SqlFunc.Subqueryable<OrderScreen>().Where(q => q.OrderId == x.OrderVisit.OrderId && q.VisitDetailId == x.Id).NotAny())
+				.Select(x => new OrgVisitDetailListResp
                 {
                     Id = x.Id,
                     OrderId = x.OrderVisit.Order.Id,
@@ -1941,7 +1943,9 @@ namespace Hotline.Repository.SqlSugar.Orders
                     ActualHandleOrgName = x.OrderVisit.Order.ActualHandleOrgName
                 }).MergeTable()
                 .OrderByIF(string.IsNullOrEmpty(dto.SortField), x => x.VisitTime, OrderByType.Desc)
-                .OrderByIF(dto is { SortField: "creationTime", SortRule: 0 }, x => x.CreationTime, OrderByType.Asc) //受理时间升序
+				.OrderByIF(dto is { SortField: "orderScreenStatusText", SortRule: 0 }, x => x.OrderScreenStatus, OrderByType.Asc)
+				.OrderByIF(dto is { SortField: "orderScreenStatusText", SortRule: 1 }, x => x.OrderScreenStatus, OrderByType.Desc)
+				.OrderByIF(dto is { SortField: "creationTime", SortRule: 0 }, x => x.CreationTime, OrderByType.Asc) //受理时间升序
                 .OrderByIF(dto is { SortField: "creationTime", SortRule: 1 }, x => x.CreationTime, OrderByType.Desc) //受理时间降序
                 .OrderByIF(dto is { SortField: "visitTime", SortRule: 0 }, x => x.VisitTime, OrderByType.Asc) //回访时间升序
                 .OrderByIF(dto is { SortField: "visitTime", SortRule: 1 }, x => x.VisitTime, OrderByType.Desc) //回访时间降序

+ 6 - 1
src/Hotline.Share/Dtos/Bi/BiOrderDto.cs

@@ -76,7 +76,12 @@ namespace Hotline.Share.Dtos.Bi
         /// 接办部门
         /// </summary>
         public string? ActualHandleOrgName { get; set; }
-    }
+
+		/// <summary>
+		/// 是否甄别
+		/// </summary>
+		public bool? IsScreen { get; set; }
+	}
 
     public record HighFrequencyCallStatisticsRequest : PagedRequest
     {