|
|
@ -959,7 +959,7 @@ namespace BBWYB.Server.Business |
|
|
|
{ |
|
|
|
Logo = orderSku.Logo, |
|
|
|
Title = orderSku.Title, |
|
|
|
SkuId = skuId, |
|
|
|
SkuId = skuId, |
|
|
|
OrderId = orderSku.OrderId, |
|
|
|
SkuAmount = orderPurchaseSkuOfCurrentSchemeList.Sum(psku => psku.ProductAmount), |
|
|
|
PurchaseQuantity = orderSku.ItemTotal.Value, |
|
|
@ -1129,11 +1129,33 @@ namespace BBWYB.Server.Business |
|
|
|
IList<IUpdate<OrderPurchaseSkuInfo>> updateOrderPurchaseSkuList = new List<IUpdate<OrderPurchaseSkuInfo>>(); |
|
|
|
IUpdate<OrderPurchaseInfo> updateOrderPurchase = null; |
|
|
|
IUpdate<Order> updateOrder = null; |
|
|
|
IInsert<ExpressOrderRelationInfo> insertExpressOrderRelation = null; |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 查询该笔采购单的快递单信息
|
|
|
|
var purchaseExpressOrderList = fsql.Select<PurchaseExpressOrder>().Where(x => x.PurchaseOrderId == request.PurchaseOrderId).ToList(); |
|
|
|
//var purchaseExpressOrderList = fsql.Select<PurchaseExpressOrder>().Where(x => x.PurchaseOrderId == request.PurchaseOrderId).ToList();
|
|
|
|
var purchaseExpressOrderList = fsql.Select<ExpressOrderRelationInfo, PurchaseExpressOrder>() |
|
|
|
.InnerJoin((eori, peo) => eori.WayBillNo == peo.WaybillNo) |
|
|
|
.Where((eori, peo) => eori.PurchaseOrderId == request.PurchaseOrderId).ToList((eori, peo) => new PurchaseExpressOrder |
|
|
|
{ |
|
|
|
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 |
|
|
|
}); |
|
|
|
bool isExists = purchaseExpressOrderList.Any(exo => exo.WaybillNo == request.WaybillNo); |
|
|
|
if (isExists) |
|
|
|
return; |
|
|
|
bool isDbExists = fsql.Select<PurchaseExpressOrder>(request.WaybillNo).Any(); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 查询当前采购单的订单信息
|
|
|
@ -1194,7 +1216,7 @@ namespace BBWYB.Server.Business |
|
|
|
|
|
|
|
#region 订阅快递100
|
|
|
|
bool isSubscribeKD100 = false; |
|
|
|
if (request.ExpressId != "zhuanxianwuliu" && !isExists) |
|
|
|
if (request.ExpressId != "zhuanxianwuliu" && !isDbExists) |
|
|
|
{ |
|
|
|
#region 订阅快递100
|
|
|
|
try |
|
|
@ -1225,13 +1247,13 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 创建快递单
|
|
|
|
if (!isExists) |
|
|
|
if (!isDbExists) |
|
|
|
{ |
|
|
|
var purchaseExpressOrder = new PurchaseExpressOrder() |
|
|
|
{ |
|
|
|
OrderId = dbOrder.Id, |
|
|
|
//OrderId = dbOrder.Id,
|
|
|
|
CreateTime = DateTime.Now, |
|
|
|
PurchaseOrderId = request.PurchaseOrderId, |
|
|
|
//PurchaseOrderId = request.PurchaseOrderId,
|
|
|
|
ShopId = dbOrder.ShopId ?? 0, |
|
|
|
TargetExpressId = request.ExpressId, |
|
|
|
TargetExpressName = request.ExpressName, |
|
|
@ -1245,6 +1267,22 @@ namespace BBWYB.Server.Business |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 创建快递单关系
|
|
|
|
if (!isExists) |
|
|
|
{ |
|
|
|
var expressOrderRelation = new ExpressOrderRelationInfo() |
|
|
|
{ |
|
|
|
Id = idGenerator.NewLong(), |
|
|
|
CreateTime = DateTime.Now, |
|
|
|
OrderId = dbOrder.Id, |
|
|
|
PurchaseOrderId = request.PurchaseOrderId, |
|
|
|
ShopId = dbOrder.ShopId.Value, |
|
|
|
WayBillNo = request.WaybillNo |
|
|
|
}; |
|
|
|
insertExpressOrderRelation = fsql.Insert(expressOrderRelation); |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 计算采购单状态
|
|
|
|
orderPurchaseInfo.CalculationOrderState(fsql, orderPurchaseSkuList, purchaseExpressOrderList.Union(insertPurchaseExpressOrderList).ToList()); |
|
|
|
updateOrderPurchase = fsql.Update<OrderPurchaseInfo>(orderPurchaseInfo.Id) |
|
|
@ -1272,6 +1310,7 @@ namespace BBWYB.Server.Business |
|
|
|
} |
|
|
|
updateOrderPurchase?.ExecuteAffrows(); |
|
|
|
updateOrder?.ExecuteAffrows(); |
|
|
|
insertExpressOrderRelation?.ExecuteAffrows(); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
@ -1486,6 +1525,7 @@ namespace BBWYB.Server.Business |
|
|
|
try |
|
|
|
{ |
|
|
|
List<PurchaseExpressOrder> insertPurchaseExpressOrderList = new List<PurchaseExpressOrder>(); |
|
|
|
List<ExpressOrderRelationInfo> insertExpressOrderRelationInfoList = new List<ExpressOrderRelationInfo>(); |
|
|
|
IList<IUpdate<OrderPurchaseSkuInfo>> updateOrderPurchaseSkuList = new List<IUpdate<OrderPurchaseSkuInfo>>(); |
|
|
|
IUpdate<OrderPurchaseInfo> updateOrderPurchase = null; |
|
|
|
IUpdate<Order> updateOrder = null; |
|
|
@ -1526,7 +1566,25 @@ namespace BBWYB.Server.Business |
|
|
|
|
|
|
|
#region 查询该笔采购单的快递单信息
|
|
|
|
currentProgress = "查询该笔采购单的快递单信息"; |
|
|
|
var purchaseExpressOrderList = fsql.Select<PurchaseExpressOrder>().Where(x => x.PurchaseOrderId == purchaseOrderId).ToList(); |
|
|
|
//var purchaseExpressOrderList = fsql.Select<PurchaseExpressOrder>().Where(x => x.PurchaseOrderId == purchaseOrderId).ToList();
|
|
|
|
var purchaseExpressOrderList = fsql.Select<ExpressOrderRelationInfo, PurchaseExpressOrder>() |
|
|
|
.InnerJoin((eori, peo) => eori.WayBillNo == peo.WaybillNo) |
|
|
|
.Where((eori, peo) => eori.PurchaseOrderId == purchaseOrderId).ToList((eori, peo) => new PurchaseExpressOrder |
|
|
|
{ |
|
|
|
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 |
|
|
|
}); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 查询采购账号
|
|
|
@ -1549,6 +1607,9 @@ namespace BBWYB.Server.Business |
|
|
|
}; |
|
|
|
var logisticsList = client.QueryOrderLogistics(ppQueryOrderLogisticsRequest); |
|
|
|
wayBillNoResponseInfo = JsonConvert.SerializeObject(new { purchaseOrderId, logisticsList }); |
|
|
|
|
|
|
|
var wayBillNos = logisticsList.Where(w => !string.IsNullOrEmpty(w.WayBillNo)).Select(w => w.WayBillNo).ToList(); |
|
|
|
var dbWayBillNos = fsql.Select<PurchaseExpressOrder>(wayBillNos).ToList(w => w.WaybillNo); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 找出新发货的快递单
|
|
|
@ -1594,21 +1655,24 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 创建快递单
|
|
|
|
var purchaseExpressOrder = new PurchaseExpressOrder() |
|
|
|
if (!dbWayBillNos.Contains(logisticsInfo.WayBillNo)) |
|
|
|
{ |
|
|
|
OrderId = orderId, |
|
|
|
CreateTime = DateTime.Now, |
|
|
|
PurchaseOrderId = purchaseOrderId, |
|
|
|
ShopId = shopId ?? 0, |
|
|
|
SourceExpressId = logisticsInfo.ExpressId, |
|
|
|
SourceExpressName = logisticsInfo.ExpressName, |
|
|
|
WaybillNo = logisticsInfo.WayBillNo, |
|
|
|
TargetExpressId = kuaidi100Company?.TargetCode, |
|
|
|
TargetExpressName = kuaidi100Company?.TargetName, |
|
|
|
ExpressState = kuaiDi100Manager.GetExpressState(1), //快递100发货状态值 默认揽收
|
|
|
|
IsSubscribeKD100 = isSubscribeKD100 |
|
|
|
}; |
|
|
|
insertPurchaseExpressOrderList.Add(purchaseExpressOrder); |
|
|
|
var purchaseExpressOrder = new PurchaseExpressOrder() |
|
|
|
{ |
|
|
|
//OrderId = orderId,
|
|
|
|
CreateTime = DateTime.Now, |
|
|
|
//PurchaseOrderId = purchaseOrderId,
|
|
|
|
ShopId = shopId ?? 0, |
|
|
|
SourceExpressId = logisticsInfo.ExpressId, |
|
|
|
SourceExpressName = logisticsInfo.ExpressName, |
|
|
|
WaybillNo = logisticsInfo.WayBillNo, |
|
|
|
TargetExpressId = kuaidi100Company?.TargetCode, |
|
|
|
TargetExpressName = kuaidi100Company?.TargetName, |
|
|
|
ExpressState = kuaiDi100Manager.GetExpressState(1), //快递100发货状态值 默认揽收
|
|
|
|
IsSubscribeKD100 = isSubscribeKD100 |
|
|
|
}; |
|
|
|
insertPurchaseExpressOrderList.Add(purchaseExpressOrder); |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 更新采购sku的快递单号
|
|
|
@ -1621,6 +1685,18 @@ namespace BBWYB.Server.Business |
|
|
|
updateOrderPurchaseSkuList.Add(fsql.Update<OrderPurchaseSkuInfo>(orderEntryId).Set(ps => ps.WaybillNo, logisticsInfo.WayBillNo)); |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 创建快递关系
|
|
|
|
insertExpressOrderRelationInfoList.Add(new ExpressOrderRelationInfo() |
|
|
|
{ |
|
|
|
Id = idGenerator.NewLong(), |
|
|
|
CreateTime = DateTime.Now, |
|
|
|
OrderId = dbOrder.Id, |
|
|
|
PurchaseOrderId = purchaseOrderId, |
|
|
|
ShopId = dbOrder.ShopId, |
|
|
|
WayBillNo = logisticsInfo.WayBillNo |
|
|
|
}); |
|
|
|
#endregion
|
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
@ -1642,6 +1718,8 @@ namespace BBWYB.Server.Business |
|
|
|
|
|
|
|
fsql.Transaction(() => |
|
|
|
{ |
|
|
|
if (insertExpressOrderRelationInfoList.Count() > 0) |
|
|
|
fsql.Insert(insertExpressOrderRelationInfoList).ExecuteAffrows(); |
|
|
|
if (insertPurchaseExpressOrderList.Count() > 0) |
|
|
|
fsql.Insert(insertPurchaseExpressOrderList).ExecuteAffrows(); |
|
|
|
if (updateOrderPurchaseSkuList.Count() > 0) |
|
|
|