From 01d4dcc9255fa394fb9b5246a34c1651edd58a1e Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Mon, 25 Sep 2023 16:25:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=85=E8=AE=AE=E4=BB=B7=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWYB.Server.Business/Order/OrderBusiness.cs | 21 ++++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/BBWYB.Server.Business/Order/OrderBusiness.cs b/BBWYB.Server.Business/Order/OrderBusiness.cs index 418e15e..7595e99 100644 --- a/BBWYB.Server.Business/Order/OrderBusiness.cs +++ b/BBWYB.Server.Business/Order/OrderBusiness.cs @@ -58,27 +58,25 @@ namespace BBWYB.Server.Business select = select.Where((o, ocs, oct) => o.OrderSn == request.OrderSn); else { - //if (request.IsNeedOptimization == 1) - // request.OrderState = Enums.OrderState.等待采购; - //else if (request.OrderState == Enums.OrderState.等待采购) - //{ - // request.IsNeedOptimization = 0; - //} + if (request.OrderState == Enums.OrderState.等待采购) + { + var childSelect = fsql.Select().As("osku1") + .Where(osku1 => osku1.IsNeedOptimization == 1); + select = select.WhereIf(request.IsNeedOptimization == 1, (o, ocs, oct) => childSelect.Where(osku1 => osku1.OrderId == o.Id).Any()) + .WhereIf(request.IsNeedOptimization != 1, (o, ocs, oct) => !childSelect.Where(osku1 => osku1.OrderId == o.Id).Any()); + } if (!string.IsNullOrEmpty(request.Sku) || !string.IsNullOrEmpty(request.SourceSku) || !string.IsNullOrEmpty(request.ProductId) || - request.IsWaitConfig || - request.OrderState == Enums.OrderState.等待采购) + request.IsWaitConfig) { var childSelect = fsql.Select().As("osku") .WhereIf(!string.IsNullOrEmpty(request.Sku), osku => osku.SkuId == request.Sku) .WhereIf(!string.IsNullOrEmpty(request.SourceSku), osku => osku.BelongSkuId == request.SourceSku) .WhereIf(!string.IsNullOrEmpty(request.ProductId), osku => osku.ProductId == request.ProductId) .WhereIf(request.IsWaitConfig && request.IsOnlyDisplayPackConfigEditState != 1, osku => waitConfigStateList.Contains(osku.PackConfigState) || osku.PackConfigState == null) - .WhereIf(request.IsWaitConfig && request.IsOnlyDisplayPackConfigEditState == 1, osku => osku.PackConfigState == Enums.PackConfigState.需修改) - .WhereIf(request.OrderState == Enums.OrderState.等待采购 && request.IsNeedOptimization == 1, osku => osku.IsNeedOptimization == 1) - .WhereIf(request.OrderState == Enums.OrderState.等待采购 && request.IsNeedOptimization != 1, osku => osku.IsNeedOptimization == 0); + .WhereIf(request.IsWaitConfig && request.IsOnlyDisplayPackConfigEditState == 1, osku => osku.PackConfigState == Enums.PackConfigState.需修改); select = select.WhereIf(request.IsWaitConfig, (o, ocs, oct) => o.OrderState != Enums.OrderState.已取消 && o.OrderState != Enums.OrderState.已完成 && o.IntoStoreType == Enums.IntoStoreType.发回齐越 && @@ -891,6 +889,7 @@ namespace BBWYB.Server.Business fsql.Transaction(() => { fsql.Update().Set(osku => osku.IsOptimizationCompleted, 1) + .Set(osku => osku.IsNeedOptimization, 0) .Where(osku => osku.ShopId == request.ShopId && osku.SkuId == request.SkuId && osku.IsNeedOptimization == 1 &&