|
@@ -65,6 +65,7 @@ using XF.Domain.Repository;
|
|
|
using XF.Utility.EnumExtensions;
|
|
|
using Hotline.Application.Contracts.Validators.FlowEngine;
|
|
|
using Hotline.Authentications;
|
|
|
+using Microsoft.AspNetCore.Components;
|
|
|
|
|
|
namespace Hotline.Api.Controllers;
|
|
|
|
|
@@ -3967,14 +3968,22 @@ public class OrderController : BaseController
|
|
|
var isHandled = dto.IsHandled.HasValue && dto.IsHandled.Value;
|
|
|
|
|
|
var isAdmin = _orderDomainService.IsCheckAdmin();
|
|
|
-
|
|
|
- var (total, items) = await _orderRepository
|
|
|
+ var query = _orderRepository
|
|
|
.Queryable(hasHandled: isHandled, isAdmin: isAdmin)
|
|
|
- .Includes(d => d.OrderSpecials)
|
|
|
- .Where(d => d.Status != EOrderStatus.WaitForAccept &&
|
|
|
+ .Includes(d => d.OrderSpecials);
|
|
|
+ if ((dto.CenterHandle.HasValue && dto.CenterHandle) || (dto.Forwarded.HasValue && dto.Forwarded))
|
|
|
+ {
|
|
|
+ query.WhereIF(dto.CenterHandle.HasValue && dto.CenterHandle, d => d.IsForwarded == false)
|
|
|
+ .WhereIF(dto.Forwarded.HasValue && dto.Forwarded, d => d.IsForwarded == true)
|
|
|
+ .Where(d=>SqlFunc.Subqueryable<OrderSpecial>().Where(os=>os.OrderId == d.Id && os.SpecialType == ESpecialType.ReTransact).NotAny());
|
|
|
+ }
|
|
|
+
|
|
|
+ var (total, items) = await query
|
|
|
+ .Where(d => d.Status != EOrderStatus.WaitForAccept &&
|
|
|
d.Status != EOrderStatus.BackToUnAccept &&
|
|
|
d.Status != EOrderStatus.SpecialToUnAccept &&
|
|
|
d.Status != EOrderStatus.HandOverToUnAccept)
|
|
|
+ .WhereIF(dto.Redistribute.HasValue && dto.Redistribute, d => SqlFunc.Subqueryable<OrderSpecial>().Where(os => os.OrderId == d.Id && os.SpecialType == ESpecialType.ReTransact).Any());
|
|
|
.WhereIF(dto.IsProvince.HasValue, d => d.IsProvince == dto.IsProvince)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.StartsWith(dto.Keyword))
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No == dto.No)
|