From cebb211a547fcd84778f8b7747cb3ca5c1d601af Mon Sep 17 00:00:00 2001 From: sanji Date: Thu, 21 Dec 2023 16:01:33 +0800 Subject: [PATCH] ` --- BBWY.Client/Models/Order/Order.cs | 7 +++++-- BBWY.Server.Business/Order/OrderBusiness.cs | 13 ++++++++++--- .../Statistics/StatisticsBusiness.cs | 15 ++++++++++++--- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/BBWY.Client/Models/Order/Order.cs b/BBWY.Client/Models/Order/Order.cs index bbb3ccfc..d8063ca8 100644 --- a/BBWY.Client/Models/Order/Order.cs +++ b/BBWY.Client/Models/Order/Order.cs @@ -245,11 +245,14 @@ namespace BBWY.Client.Models var beforeTotalCost = OrderCost?.BeforeTotalCost ?? 0M; var profit = OrderCost?.Profit ?? 0M; - return (OrderState != OrderState.已取消 && + return (OrderState != OrderState.已取消 && StorageType != Models.StorageType.SD && StorageType != null && (beforeTotalCost == 0M || profit < 0M)) || - (StorageType == null && OrderState != OrderState.等待采购 && OrderState != OrderState.待付款); + (StorageType == null && + OrderState != OrderState.等待采购 && + OrderState != OrderState.待付款 && + OrderState != OrderState.已取消); } } diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index 53ad3e95..709230e1 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -39,6 +39,8 @@ namespace BBWY.Server.Business private IMemoryCache memoryCache; private static TimeSpan sdGroupExpirationTimeSpan = TimeSpan.FromMinutes(20); + private List filterExceptionStateList; + public OrderBusiness(RestApiService restApiService, IFreeSql fsql, IIdGenerator idGenerator, @@ -52,6 +54,12 @@ namespace BBWY.Server.Business freeSqlMultiDBManagerLazy = new Lazy(() => serviceProvider.GetService()); productBusinessLazy = new Lazy(() => serviceProvider.GetService()); venderBusinessLazy = new Lazy(() => serviceProvider.GetService()); + + filterExceptionStateList = new List() { + Enums.OrderState.等待采购, + Enums.OrderState.待付款, + Enums.OrderState.已取消 + }; } private ISelect GetOrderListQueryConditions(SearchOrderRequest searchOrderRequest) @@ -82,9 +90,8 @@ namespace BBWY.Server.Business o.StorageType != Enums.StorageType.SD && o.StorageType != null && (oct.PurchaseAmount == 0M || oct.Profit < 0)) || - (o.StorageType == null && - o.OrderState != Enums.OrderState.等待采购 && - o.OrderState != Enums.OrderState.待付款)) + (o.StorageType == null && + !filterExceptionStateList.Contains(o.OrderState))) .WhereIf(searchOrderRequest.OnlyDF, (o, ocs, oct, sh) => o.StorageType == Enums.StorageType.代发) .WhereIf(searchOrderRequest.ExcludeCanceled, (o, ocs, oct, sh) => o.OrderState != Enums.OrderState.已取消) .WhereIf(searchOrderRequest.ExcludeSD && !searchOrderRequest.OnlyDF, (o, ocs, oct, sh) => o.StorageType == null || o.StorageType != Enums.StorageType.SD) diff --git a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs index 719ecead..66ac0bf4 100644 --- a/BBWY.Server.Business/Statistics/StatisticsBusiness.cs +++ b/BBWY.Server.Business/Statistics/StatisticsBusiness.cs @@ -9,6 +9,7 @@ using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; +using System.Net.Http.Headers; using Yitter.IdGenerator; namespace BBWY.Server.Business @@ -19,11 +20,18 @@ namespace BBWY.Server.Business private FreeSqlMultiDBManager freeSqlMultiDBManager; private RestApiService restApiService; + private List filterExceptionStateList; + public StatisticsBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, FreeSqlMultiDBManager freeSqlMultiDBManager, RestApiService restApiService) : base(fsql, nLogManager, idGenerator) { invalidOrderStateList = new List() { Enums.OrderState.待付款, Enums.OrderState.已取消 }; this.freeSqlMultiDBManager = freeSqlMultiDBManager; this.restApiService = restApiService; + filterExceptionStateList = new List() { + Enums.OrderState.等待采购, + Enums.OrderState.待付款, + Enums.OrderState.已取消 + }; } public OrderAchievementResponse GetOrderAchievementStatistics(OrderAchievementRequest request) @@ -364,6 +372,8 @@ namespace BBWY.Server.Business { //startDate = startDate.Date; //endDate = endDate.Date.AddDays(1).AddSeconds(-1); + + var dt = DateTime.Parse("2022-05-01"); var afterDt = DateTime.Parse("2022-10-01"); var response = new OrderCountStatisticsResponse(); @@ -372,7 +382,7 @@ namespace BBWY.Server.Business o.OrderState == Enums.OrderState.等待采购 && o.StartTime >= dt).Count(); response.ExceptionCount = fsql.Select().LeftJoin((o, oc) => o.Id == oc.OrderId) - .Where((o, oc) => o.ShopId == shopId && + .Where((o, oc) => o.ShopId == shopId && o.StartTime >= dt && o.IsGift == false && ((o.OrderState != Enums.OrderState.已取消 && @@ -380,8 +390,7 @@ namespace BBWY.Server.Business o.StorageType != null && (oc.PurchaseAmount == 0M || oc.Profit < 0)) || (o.StorageType == null && - o.OrderState != Enums.OrderState.等待采购 && - o.OrderState != Enums.OrderState.待付款))).Count(); + !filterExceptionStateList.Contains(o.OrderState)))).Count(); response.WaitOutStoreCount = fsql.Select().Where(o => o.ShopId == shopId && o.OrderState == Enums.OrderState.待出库 && o.StartTime >= dt && o.IsGift == false).Count();