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;