Browse Source

订单sku计算发货装填

yijia
shanji 2 years ago
parent
commit
1b1c37f674
  1. 42
      BBWYB.Server.Business/Order/OrderBusiness.cs
  2. 5
      BBWYB.Server.Model/Dto/Response/Order/OrderSkuResponse.cs

42
BBWYB.Server.Business/Order/OrderBusiness.cs

@ -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
} }
} }

5
BBWYB.Server.Model/Dto/Response/Order/OrderSkuResponse.cs

@ -10,6 +10,11 @@ namespace BBWYB.Server.Model.Dto
TimeLimitTaskList = new List<TimeLimitTaskResponse>(); TimeLimitTaskList = new List<TimeLimitTaskResponse>();
} }
/// <summary>
/// 订单SKU发货状态 (未发货=0,已发货=1,部分发=2)
/// </summary>
public int ShipState { get; set; }
/// <summary> /// <summary>
/// 快递单列表 /// 快递单列表
/// </summary> /// </summary>

Loading…
Cancel
Save