Procházet zdrojové kódy

工单预警信息

Dun.Jason před 1 měsícem
rodič
revize
93b0400447
1 změnil soubory, kde provedl 11 přidání a 5 odebrání
  1. 11 5
      src/Hotline.Api/Controllers/OrderController.cs

+ 11 - 5
src/Hotline.Api/Controllers/OrderController.cs

@@ -4266,17 +4266,23 @@ public class OrderController : BaseController
     {
         var now = DateTime.Now;
         var order = await _orderRepository.GetAsync(id, HttpContext.RequestAborted);
-       
-        var orderList = await _orderRepository.Queryable()
-        .Where(x => x.CreationTime <= now && x.CreationTime >= now.AddDays(-30) && x.IsUrgent == true && SqlFunc.JsonArrayAny(x.Sensitive, order!.Sensitive)).ToListAsync();
+
+        var query = _orderRepository.Queryable()
+         .Where(x => x.CreationTime <= now && x.CreationTime >= SqlFunc.DateAdd(now, -30) && x.Sensitive != null);
+        var exp = Expressionable.Create<Order>();
+        foreach (var item in order!.Sensitive!)
+        {
+            exp = exp.Or(x => SqlFunc.JsonArrayAny(x.Sensitive, item));
+        }
+        var orderList = await query.Where(exp.ToExpression()).ToListAsync();
 
         var orderEarlyList = new List<OrderEarlyInfo>();
         foreach (var item in order!.Sensitive!)
         {
             var model = new OrderEarlyInfo();
             model.KeyWord = item;
-            model.WeekNum = orderList.Where(x => SqlFunc.JsonArrayAny(x.Sensitive, item) && x.CreationTime <= now && x.CreationTime >= now.AddDays(-7)).Count();
-            model.MonthNum = orderList.Where(x => SqlFunc.JsonArrayAny(x.Sensitive, item)).Count();
+            model.WeekNum = orderList.Where(x => x.Sensitive!.Contains(item) && x.CreationTime <= now && x.CreationTime >= now.AddDays(-7)).Count();
+            model.MonthNum = orderList.Where(x => x.Sensitive!.Contains(item)).Count();
             orderEarlyList.Add(model);
         }
         var orderEarly = await _orderEarlyWarningRepository.Queryable().FirstAsync(x => x.OrderId == id);