|
|
@ -249,6 +249,70 @@ namespace BBWYB.Server.Business |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
public IList<PurchaseExpressOrderResponse> GetPurchaseExpressOrderList(QueryExpressOrderRequest request) |
|
|
|
{ |
|
|
|
var purchaseExpressOrderList = fsql.Select<ExpressOrderRelationInfo, PurchaseExpressOrder>() |
|
|
|
.InnerJoin((eori, peo) => eori.WayBillNo == peo.WaybillNo) |
|
|
|
.Where((eori, peo) => eori.OrderId == request.OrderId).ToList((eori, peo) => new PurchaseExpressOrderResponse |
|
|
|
{ |
|
|
|
CreateTime = peo.CreateTime, |
|
|
|
ExpressContent = peo.ExpressContent, |
|
|
|
ExpressChangedTime = peo.ExpressChangedTime, |
|
|
|
ExpressState = peo.ExpressState, |
|
|
|
IsSubscribeKD100 = peo.IsSubscribeKD100, |
|
|
|
OrderId = eori.OrderId, |
|
|
|
PurchaseOrderId = eori.PurchaseOrderId, |
|
|
|
ShopId = eori.ShopId.Value, |
|
|
|
SourceExpressId = peo.SourceExpressId, |
|
|
|
SourceExpressName = peo.SourceExpressName, |
|
|
|
TargetExpressId = peo.TargetExpressId, |
|
|
|
TargetExpressName = peo.TargetExpressName, |
|
|
|
WaybillNo = peo.WaybillNo |
|
|
|
}); |
|
|
|
|
|
|
|
var orderPurchaseInfoList = fsql.Select<OrderPurchaseInfo>().Where(op => op.OrderId == request.OrderId && op.IsEnabled == true).ToList<OrderPurchaseInfoResponse>(); |
|
|
|
var orderPurchaseRelationList = fsql.Select<OrderPurchaseRelationInfo>().Where(opri => opri.OrderId == request.OrderId).ToList(); |
|
|
|
var orderPurchaseSkuList = fsql.Select<OrderPurchaseSkuInfo>().Where(posku => posku.OrderId == request.OrderId).ToList(); |
|
|
|
var orderSkuList = fsql.Select<OrderSku>().Where(osku => osku.OrderId == request.OrderId).ToList(); |
|
|
|
|
|
|
|
IList<PurchaseExpressOrderResponse> list = new List<PurchaseExpressOrderResponse>(); |
|
|
|
#region 处理SKU的快递单
|
|
|
|
foreach (var purchaseOrder in orderPurchaseInfoList) |
|
|
|
{ |
|
|
|
if (purchaseOrder.PurchasePlatform == Enums.Platform.阿里巴巴) |
|
|
|
{ |
|
|
|
var currentRelationList = orderPurchaseRelationList.Where(ori => ori.PurchaseOrderId == purchaseOrder.PurchaseOrderId && |
|
|
|
ori.SourceSkuId == request.SourceSkuId).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; |
|
|
|
} |
|
|
|
|
|
|
|
//public void OutStock(OutStockRequest request)
|
|
|
|
//{
|
|
|
|
// var dbOrder = fsql.Select<Order>(request.OrderId).ToOne();
|
|
|
|