|
@ -277,10 +277,52 @@ namespace BBWYB.Server.Business |
|
|
{ |
|
|
{ |
|
|
foreach (var orderSku in order.ItemList) |
|
|
foreach (var orderSku in order.ItemList) |
|
|
{ |
|
|
{ |
|
|
|
|
|
#region 寻找sku的限时任务
|
|
|
var purchaseTimeLimitTask = orderTimeLimitTaskList.FirstOrDefault(x => x.OrderId == order.Id && x.SkuId == orderSku.SkuId); |
|
|
var purchaseTimeLimitTask = orderTimeLimitTaskList.FirstOrDefault(x => x.OrderId == order.Id && x.SkuId == orderSku.SkuId); |
|
|
if (purchaseTimeLimitTask != null) |
|
|
if (purchaseTimeLimitTask != null) |
|
|
orderSku.TimeLimitTaskList.Add(purchaseTimeLimitTask); |
|
|
orderSku.TimeLimitTaskList.Add(purchaseTimeLimitTask); |
|
|
orderSku.PurchaseTimeLimitTask = orderSku.TimeLimitTaskList.FirstOrDefault(t => t.TaskType == Enums.TimeLimitTaskType.采购任务); |
|
|
orderSku.PurchaseTimeLimitTask = orderSku.TimeLimitTaskList.FirstOrDefault(t => t.TaskType == Enums.TimeLimitTaskType.采购任务); |
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 判断sku的发货状态
|
|
|
|
|
|
var purchaseOrder = order.OrderPurchaseInfoList.FirstOrDefault(opi => opi.OrderId == order.Id && opi.BelongSkuIds.Contains(orderSku.SkuId)); |
|
|
|
|
|
if (purchaseOrder != null) |
|
|
|
|
|
{ |
|
|
|
|
|
if (purchaseOrder.PurchasePlatform == Enums.Platform.阿里巴巴 && order.IntoStoreType != Enums.IntoStoreType.厂商代发入仓) |
|
|
|
|
|
{ |
|
|
|
|
|
//验证采购关系
|
|
|
|
|
|
var currentSku_PurchaseSkuIdList = orderPurchaseRelationInfoList.Where(opri => opri.OrderId == order.Id && |
|
|
|
|
|
opri.PurchaseOrderId == purchaseOrder.PurchaseOrderId && |
|
|
|
|
|
opri.BelongSkuId == orderSku.SkuId) |
|
|
|
|
|
.Select(x => x.PurchaseSkuId) |
|
|
|
|
|
.Distinct() |
|
|
|
|
|
.ToList(); |
|
|
|
|
|
if (currentSku_PurchaseSkuIdList.Count() > 0) |
|
|
|
|
|
{ |
|
|
|
|
|
var currentSku_PurchaseSkuList = orderPurchaseSkuInfoList.Where(posku => posku.OrderId == order.Id && |
|
|
|
|
|
posku.PurchaseOrderId == purchaseOrder.PurchaseOrderId && |
|
|
|
|
|
currentSku_PurchaseSkuIdList.Contains(posku.PurchaseSkuId)) |
|
|
|
|
|
.ToList(); |
|
|
|
|
|
if (currentSku_PurchaseSkuList.Count() > 0) |
|
|
|
|
|
{ |
|
|
|
|
|
var totalCount = currentSku_PurchaseSkuList.Count(); |
|
|
|
|
|
var shipCount = currentSku_PurchaseSkuList.Count(posku => !string.IsNullOrEmpty(posku.WaybillNo)); |
|
|
|
|
|
if (totalCount == shipCount) |
|
|
|
|
|
orderSku.ShipState = 1; |
|
|
|
|
|
if (shipCount == 0) |
|
|
|
|
|
orderSku.ShipState = 0; |
|
|
|
|
|
if (totalCount > shipCount) |
|
|
|
|
|
orderSku.ShipState = 2; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
orderSku.ShipState = purchaseOrder.PurchaseExpressOrderList != null && |
|
|
|
|
|
purchaseOrder.PurchaseExpressOrderList.Count() > 0 ? 1 : 0; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
#endregion
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|