田爽 1 year ago
parent
commit
f5307f20ff
1 changed files with 16 additions and 25 deletions
  1. 16 25
      src/Hotline.Api/Controllers/OrderController.cs

+ 16 - 25
src/Hotline.Api/Controllers/OrderController.cs

@@ -749,40 +749,31 @@ public class OrderController : BaseController
 	/// <returns></returns>
 	[Permission(EPermission.MayOrderScreenList)]
 	[HttpGet("mayscreen")]
-	public async Task<PagedDto<OrderVisitDto>> MayScreenList([FromQuery] MayScreenListDto dto)
+	public async Task<PagedDto<OrderVisitDetailDto>> MayScreenList([FromQuery] MayScreenListDto dto)
 	{
-        var query = _orderVisitRepository.Queryable()
-            .Includes(x => x.Order)
-            .Includes(x => x.Employee);
+        var query = _orderVisitedDetailRepository.Queryable()
+            .Includes(x=>x.OrderVisit)
+            .Includes(x => x.OrderVisit, y => y.Order)
+            .Includes(x => x.OrderVisit, y => y.Employee);
         if (_sessionContext.OrgId != null && !_sessionContext.OrgId.StartsWith("001"))
         {
-            query.Includes(x => x.OrderVisitDetails.Where(vd => vd.VisitTarget == EVisitTarget.Org && vd.VisitOrgCode == _sessionContext.OrgId && (
-                SqlFunc.JsonField(vd.OrgProcessingResults, "Name") == "不满意" || SqlFunc.JsonField(vd.OrgProcessingResults, "Name") == "非常不满意" ||
-                SqlFunc.JsonField(vd.OrgHandledAttitude, "Name") == "不满意" || SqlFunc.JsonField(vd.OrgHandledAttitude, "Name") == "非常不满意"
-                  )).ToList())
-	            .WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
-	            .Where(ov => ov.OrderVisitDetails.Any(d =>
-		            d.VisitTarget == EVisitTarget.Org && d.VisitOrgCode == _sessionContext.OrgId && (
-			            SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "不满意" || SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "非常不满意" ||
-			            SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "不满意" || SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "非常不满意"
-		            )));
+            query.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.OrderVisit.Order.Title.Contains(dto.Keyword!) || d.OrderVisit.Order.No.Contains(dto.Keyword!))
+	            .Where(d => d.VisitTarget == EVisitTarget.Org && d.VisitOrgCode == _sessionContext.OrgId && (
+		            SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "不满意" || SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "非常不满意" ||
+		            SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "不满意" || SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "非常不满意"
+	            ));
 		}
         else {
-			query.Includes(x => x.OrderVisitDetails.Where(vd => vd.VisitTarget == EVisitTarget.Org && (
-				SqlFunc.JsonField(vd.OrgProcessingResults, "Name") == "不满意" || SqlFunc.JsonField(vd.OrgProcessingResults, "Name") == "非常不满意" ||
-				SqlFunc.JsonField(vd.OrgHandledAttitude, "Name") == "不满意" || SqlFunc.JsonField(vd.OrgHandledAttitude, "Name") == "非常不满意"
-		    	)).ToList())
-				.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Order.Title.Contains(dto.Keyword!) || d.Order.No.Contains(dto.Keyword!))
-				.Where(ov => ov.OrderVisitDetails.Any(d =>
-					d.VisitTarget == EVisitTarget.Org && (
-						SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "不满意" || SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "非常不满意" ||
-						SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "不满意" || SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "非常不满意"
-				)));
+	        query.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.OrderVisit.Order.Title.Contains(dto.Keyword!) || d.OrderVisit.Order.No.Contains(dto.Keyword!))
+		        .Where(d => d.VisitTarget == EVisitTarget.Org && (
+			        SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "不满意" || SqlFunc.JsonField(d.OrgProcessingResults, "Name") == "非常不满意" ||
+			        SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "不满意" || SqlFunc.JsonField(d.OrgHandledAttitude, "Name") == "非常不满意"
+		        ));
 		}
 		var (total, items) = await query
 			.OrderBy(x => x.CreationTime)
 			.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
-		return new PagedDto<OrderVisitDto>(total, _mapper.Map<IReadOnlyList<OrderVisitDto>>(items));
+		return new PagedDto<OrderVisitDetailDto>(total, _mapper.Map<IReadOnlyList<OrderVisitDetailDto>>(items));
 	}