From 99e1c9e0622f800243d78dd25b42cce427f485f1 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Thu, 20 Jul 2023 11:14:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BB=A3=E5=8F=91=E5=85=A5?= =?UTF-8?q?=E4=BB=93=E8=AE=A2=E5=8D=95=E7=9A=84=E5=BF=AB=E9=80=92=E5=BD=92?= =?UTF-8?q?=E5=B1=9E=E8=AE=A1=E7=AE=97=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseExpressOrderExtension.cs | 21 ++------- BBWYB.Server.Business/Order/OrderBusiness.cs | 47 +++++-------------- 2 files changed, 14 insertions(+), 54 deletions(-) diff --git a/BBWYB.Server.Business/Extensions/PurchaseExpressOrderExtension.cs b/BBWYB.Server.Business/Extensions/PurchaseExpressOrderExtension.cs index ad26a54..db654d7 100644 --- a/BBWYB.Server.Business/Extensions/PurchaseExpressOrderExtension.cs +++ b/BBWYB.Server.Business/Extensions/PurchaseExpressOrderExtension.cs @@ -10,10 +10,12 @@ namespace BBWYB.Server.Business.Extensions /// 计算快递单归属 /// /// 必须是经过与快递单关系表进行联合查询的结果 (ExpressOrderRelationInfo-PurchaseExpressOrder) + /// /// /// /// public static void CalculationBelongOrderSku(this PurchaseExpressOrderResponse purchaseExpressOrder, + Enums.IntoStoreType? intoStoreType, IList orderPurchaseInfoList, IList orderPurchaseRelationInfoList, IList orderPurchaseSkuInfoList) @@ -21,7 +23,7 @@ namespace BBWYB.Server.Business.Extensions var purchaseOrder = orderPurchaseInfoList.FirstOrDefault(po => po.PurchaseOrderId == purchaseExpressOrder.PurchaseOrderId); if (purchaseOrder == null) return; - if (purchaseOrder.PurchasePlatform == Enums.Platform.阿里巴巴) + if (purchaseOrder.PurchasePlatform == Enums.Platform.阿里巴巴 && intoStoreType != Enums.IntoStoreType.厂商代发入仓) { var purchaseSkuIds = orderPurchaseSkuInfoList.Where(posku => posku.WaybillNo == purchaseExpressOrder.WaybillNo && posku.PurchaseOrderId == purchaseOrder.PurchaseOrderId) @@ -32,27 +34,10 @@ namespace BBWYB.Server.Business.Extensions .Distinct() .ToList(); purchaseExpressOrder.BelongSkuIds = string.Join(",", orderSkuIds); - - //var currentOrderSkuList = orderSkuList.Where(osku => osku.OrderId == purchaseOrder.OrderId && - // orderSkuIds.Contains(osku.SkuId)).ToList(); - //foreach (var osku in currentOrderSkuList) - //{ - // if (osku.PurchaseExpressOrderList.Any(peo => peo.WaybillNo == purchaseExpressOrder.WaybillNo)) - // continue; - // osku.PurchaseExpressOrderList.Add(purchaseExpressOrder); - //} } else { purchaseExpressOrder.BelongSkuIds = purchaseOrder.BelongSkuIds; - //var currentOrderSkuList = orderSkuList.Where(osku => osku.OrderId == purchaseOrder.OrderId && - // purchaseOrder.BelongSkuIds.Contains(osku.SkuId)).ToList(); - //foreach (var osku in currentOrderSkuList) - //{ - // if (osku.PurchaseExpressOrderList.Any(peo => peo.WaybillNo == purchaseExpressOrder.WaybillNo)) - // continue; - // osku.PurchaseExpressOrderList.Add(purchaseExpressOrder); - //} } } } diff --git a/BBWYB.Server.Business/Order/OrderBusiness.cs b/BBWYB.Server.Business/Order/OrderBusiness.cs index 21d3e30..9921777 100644 --- a/BBWYB.Server.Business/Order/OrderBusiness.cs +++ b/BBWYB.Server.Business/Order/OrderBusiness.cs @@ -245,7 +245,10 @@ namespace BBWYB.Server.Business #region 处理SKU的快递单 foreach (var purchaseExpressOrder in purchaseExpressOrderList) { - purchaseExpressOrder.CalculationBelongOrderSku(orderPurchaseInfoList, orderPurchaseRelationInfoList, orderPurchaseSkuInfoList); + var order = orderList.FirstOrDefault(o => o.Id == purchaseExpressOrder.OrderId); + if (order == null) + continue; + purchaseExpressOrder.CalculationBelongOrderSku(order.IntoStoreType, orderPurchaseInfoList, orderPurchaseRelationInfoList, orderPurchaseSkuInfoList); var currentOrderSkuList = orderSkuList.Where(osku => !string.IsNullOrEmpty(purchaseExpressOrder.BelongSkuIds) && osku.OrderId == purchaseExpressOrder.OrderId && purchaseExpressOrder.BelongSkuIds.Contains(osku.SkuId)).ToList(); @@ -310,7 +313,7 @@ namespace BBWYB.Server.Business TargetExpressName = peo.TargetExpressName, WaybillNo = peo.WaybillNo }); - + var order = fsql.Select(request.OrderId).ToOne(); var orderPurchaseInfoList = fsql.Select().Where(op => op.OrderId == request.OrderId && op.IsEnabled == true).ToList(); var orderPurchaseRelationList = fsql.Select().Where(opri => opri.OrderId == request.OrderId && opri.SourceSkuId == request.SourceSkuId).ToList(); var orderPurchaseSkuList = fsql.Select().Where(posku => posku.OrderId == request.OrderId).ToList(); @@ -320,7 +323,7 @@ namespace BBWYB.Server.Business #region 处理SKU的快递单 foreach (var purchaseExpressOrder in purchaseExpressOrderList) { - purchaseExpressOrder.CalculationBelongOrderSku(orderPurchaseInfoList, orderPurchaseRelationList, orderPurchaseSkuList); + purchaseExpressOrder.CalculationBelongOrderSku(order.IntoStoreType, orderPurchaseInfoList, orderPurchaseRelationList, orderPurchaseSkuList); if (!string.IsNullOrEmpty(purchaseExpressOrder.BelongSkuIds)) { if (purchaseExpressOrder.BelongSkuIds.Contains(orderSku.SkuId)) @@ -330,37 +333,6 @@ namespace BBWYB.Server.Business } } } - //foreach (var purchaseOrder in orderPurchaseInfoList) - //{ - // if (purchaseOrder.PurchasePlatform == Enums.Platform.阿里巴巴) - // { - // var currentRelationList = orderPurchaseRelationList.Where(ori => ori.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); - - // var waybillNos = orderPurchaseSkuList.Where(posku => posku.PurchaseOrderId == purchaseOrder.PurchaseOrderId && - // currentRelationList.Any(opri => opri.PurchaseSkuId == posku.PurchaseSkuId)) - // .Select(x => x.WaybillNo) - // .ToList(); - // foreach (var waybillNo in waybillNos) - // { - // var peo = purchaseExpressOrderList.FirstOrDefault(x => x.WaybillNo == waybillNo); - // if (peo != null && !list.Any(x => x.WaybillNo == waybillNo && x.PurchaseOrderId == purchaseOrder.PurchaseOrderId)) - // list.Add(peo); - // } - // } - // else - // { - // var currentSkuList = orderSkuList.Where(osku => purchaseOrder.BelongSkuIds.Contains(osku.SkuId)).Select(osku => osku.BelongSkuId).Distinct().ToList(); - // if (currentSkuList.Contains(request.SourceSkuId)) - // { - // var peoList = purchaseExpressOrderList.Where(x => x.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); - // foreach (var peo in peoList) - // { - // if (!list.Any(x => x.WaybillNo == peo.WaybillNo && x.PurchaseOrderId == purchaseOrder.PurchaseOrderId)) - // list.Add(peo); - // } - // } - // } - //} #endregion return list; } @@ -385,7 +357,7 @@ namespace BBWYB.Server.Business TargetExpressName = peo.TargetExpressName, WaybillNo = peo.WaybillNo }); - + var orderList = fsql.Select(orderIds).ToList(); var orderPurchaseInfoList = fsql.Select().Where(op => orderIds.Contains(op.OrderId) && op.IsEnabled == true).ToList(); var orderPurchaseRelationList = fsql.Select().Where(opri => orderIds.Contains(opri.OrderId)).ToList(); var orderPurchaseSkuList = fsql.Select().Where(posku => orderIds.Contains(posku.OrderId)).ToList(); @@ -393,7 +365,10 @@ namespace BBWYB.Server.Business #region 处理SKU的快递单 foreach (var purchaseExpressOrder in purchaseExpressOrderList) { - purchaseExpressOrder.CalculationBelongOrderSku(orderPurchaseInfoList, orderPurchaseRelationList, orderPurchaseSkuList); + var order = orderList.FirstOrDefault(o => o.Id == purchaseExpressOrder.OrderId); + if (order == null) + continue; + purchaseExpressOrder.CalculationBelongOrderSku(order.IntoStoreType, orderPurchaseInfoList, orderPurchaseRelationList, orderPurchaseSkuList); } #endregion return purchaseExpressOrderList;