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;