|
|
@ -1142,30 +1142,34 @@ namespace BBWYB.Server.Business |
|
|
|
throw new BusinessException("未查询到采购单信息"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 查询采购关联信息
|
|
|
|
var orderPurchaseRelationList = fsql.Select<OrderPurchaseRelationInfo>().Where(opri => opri.PurchaseOrderId == request.PurchaseOrderId && |
|
|
|
opri.BelongSkuId == request.SkuId).ToList(); |
|
|
|
if (orderPurchaseRelationList.Count() == 0) |
|
|
|
throw new BusinessException("未查询到采购单的关联信息"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 查询该笔采购单的采购sku信息并更新快递单号
|
|
|
|
var orderPurchaseSkuList = fsql.Select<OrderPurchaseSkuInfo>().Where(x => x.PurchaseOrderId == request.PurchaseOrderId).ToList(); |
|
|
|
if (orderPurchaseSkuList.Count() == 0) |
|
|
|
throw new BusinessException("未查询到采购单sku信息"); |
|
|
|
|
|
|
|
foreach (var relation in orderPurchaseRelationList) |
|
|
|
IList<OrderPurchaseSkuInfo> orderPurchaseSkuList = null; |
|
|
|
if (orderPurchaseInfo.PurchasePlatform == Enums.Platform.阿里巴巴) |
|
|
|
{ |
|
|
|
var orderPurchaseSku = orderPurchaseSkuList.FirstOrDefault(posku => posku.PurchaseSkuId == relation.PurchaseSkuId); |
|
|
|
if (orderPurchaseSku == null) |
|
|
|
#region 查询采购关联信息
|
|
|
|
var orderPurchaseRelationList = fsql.Select<OrderPurchaseRelationInfo>().Where(opri => opri.PurchaseOrderId == request.PurchaseOrderId && |
|
|
|
opri.BelongSkuId == request.SkuId).ToList(); |
|
|
|
if (orderPurchaseRelationList.Count() == 0) |
|
|
|
throw new BusinessException("未查询到采购单的关联信息"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 查询该笔采购单的采购sku信息并更新快递单号
|
|
|
|
orderPurchaseSkuList = fsql.Select<OrderPurchaseSkuInfo>().Where(x => x.PurchaseOrderId == request.PurchaseOrderId).ToList(); |
|
|
|
if (orderPurchaseSkuList.Count() == 0) |
|
|
|
throw new BusinessException("未查询到采购单sku信息"); |
|
|
|
if (orderPurchaseSku.WaybillNo != request.WaybillNo) |
|
|
|
|
|
|
|
foreach (var relation in orderPurchaseRelationList) |
|
|
|
{ |
|
|
|
orderPurchaseSku.WaybillNo = request.WaybillNo; |
|
|
|
updateOrderPurchaseSkuList.Add(fsql.Update<OrderPurchaseSkuInfo>(orderPurchaseSku.Id).Set(ps => ps.WaybillNo, request.WaybillNo)); |
|
|
|
var orderPurchaseSku = orderPurchaseSkuList.FirstOrDefault(posku => posku.PurchaseSkuId == relation.PurchaseSkuId); |
|
|
|
if (orderPurchaseSku == null) |
|
|
|
throw new BusinessException("未查询到采购单sku信息"); |
|
|
|
if (orderPurchaseSku.WaybillNo != request.WaybillNo) |
|
|
|
{ |
|
|
|
orderPurchaseSku.WaybillNo = request.WaybillNo; |
|
|
|
updateOrderPurchaseSkuList.Add(fsql.Update<OrderPurchaseSkuInfo>(orderPurchaseSku.Id).Set(ps => ps.WaybillNo, request.WaybillNo)); |
|
|
|
} |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 订阅快递100
|
|
|
|
bool isSubscribeKD100 = false; |
|
|
@ -1285,38 +1289,62 @@ namespace BBWYB.Server.Business |
|
|
|
throw new BusinessException("未查询到采购单信息"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 查询采购关联信息
|
|
|
|
var orderPurchaseRelationList = fsql.Select<OrderPurchaseRelationInfo>().Where(opri => opri.PurchaseOrderId == request.PurchaseOrderId && |
|
|
|
opri.BelongSkuId == request.SkuId).ToList(); |
|
|
|
if (orderPurchaseRelationList.Count() == 0) |
|
|
|
throw new BusinessException("未查询到采购单的关联信息"); |
|
|
|
#endregion
|
|
|
|
IList<OrderPurchaseSkuInfo> orderPurchaseSkuList = null; |
|
|
|
IList<OrderPurchaseRelationInfo> orderPurchaseRelationList = null; |
|
|
|
if (orderPurchaseInfo.PurchasePlatform == Enums.Platform.阿里巴巴) |
|
|
|
{ |
|
|
|
#region 查询采购关联信息
|
|
|
|
orderPurchaseRelationList = fsql.Select<OrderPurchaseRelationInfo>().Where(opri => opri.PurchaseOrderId == request.PurchaseOrderId && |
|
|
|
opri.BelongSkuId == request.SkuId).ToList(); |
|
|
|
if (orderPurchaseRelationList.Count() == 0) |
|
|
|
throw new BusinessException("未查询到采购单的关联信息"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 查询该笔采购单的采购sku信息
|
|
|
|
var orderPurchaseSkuList = fsql.Select<OrderPurchaseSkuInfo>().Where(x => x.PurchaseOrderId == request.PurchaseOrderId).ToList(); |
|
|
|
if (orderPurchaseSkuList.Count() == 0) |
|
|
|
throw new BusinessException("未查询到采购单sku信息"); |
|
|
|
#endregion
|
|
|
|
#region 查询该笔采购单的采购sku信息
|
|
|
|
orderPurchaseSkuList = fsql.Select<OrderPurchaseSkuInfo>().Where(x => x.PurchaseOrderId == request.PurchaseOrderId).ToList(); |
|
|
|
if (orderPurchaseSkuList.Count() == 0) |
|
|
|
throw new BusinessException("未查询到采购单sku信息"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 更新采购sku的快递单状态为签收
|
|
|
|
foreach (var relation in orderPurchaseRelationList) |
|
|
|
#region 更新采购sku的快递单状态为签收
|
|
|
|
foreach (var relation in orderPurchaseRelationList) |
|
|
|
{ |
|
|
|
var orderPurchaseSku = orderPurchaseSkuList.FirstOrDefault(posku => posku.PurchaseSkuId == relation.PurchaseSkuId); |
|
|
|
if (orderPurchaseSku == null) |
|
|
|
throw new BusinessException("未查询到采购单sku信息"); |
|
|
|
if (!string.IsNullOrEmpty(orderPurchaseSku.WaybillNo)) |
|
|
|
{ |
|
|
|
var purchaseExpressOrder = purchaseExpressOrderList.FirstOrDefault(exo => exo.WaybillNo == orderPurchaseSku.WaybillNo); |
|
|
|
if (purchaseExpressOrder == null) |
|
|
|
throw new BusinessException("未查询到采购sku的快递信息"); |
|
|
|
var expressState = kuaiDi100Manager.GetExpressState(3); |
|
|
|
if (purchaseExpressOrder.ExpressState != expressState) |
|
|
|
{ |
|
|
|
purchaseExpressOrder.ExpressState = expressState; |
|
|
|
updatePurchaseExpressOrderList.Add(fsql.Update<PurchaseExpressOrder>(purchaseExpressOrder.WaybillNo) |
|
|
|
.Set(exo => exo.ExpressState, purchaseExpressOrder.ExpressState) |
|
|
|
.Set(exo => exo.ExpressChangedTime, DateTime.Now) |
|
|
|
.Set(exo => exo.ExpressContent, "手动签收")); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
var orderPurchaseSku = orderPurchaseSkuList.FirstOrDefault(posku => posku.PurchaseSkuId == relation.PurchaseSkuId); |
|
|
|
if (orderPurchaseSku == null) |
|
|
|
throw new BusinessException("未查询到采购单sku信息"); |
|
|
|
if (!string.IsNullOrEmpty(orderPurchaseSku.WaybillNo)) |
|
|
|
foreach (var purchaseExpressOrder in purchaseExpressOrderList) |
|
|
|
{ |
|
|
|
var purchaseExpressOrder = purchaseExpressOrderList.FirstOrDefault(exo => exo.WaybillNo == orderPurchaseSku.WaybillNo); |
|
|
|
if (purchaseExpressOrder == null) |
|
|
|
throw new BusinessException("未查询到采购sku的快递信息"); |
|
|
|
purchaseExpressOrder.ExpressState = kuaiDi100Manager.GetExpressState(3); |
|
|
|
updatePurchaseExpressOrderList.Add(fsql.Update<PurchaseExpressOrder>(purchaseExpressOrder.WaybillNo) |
|
|
|
.Set(exo => exo.ExpressState, purchaseExpressOrder.ExpressState) |
|
|
|
.Set(exo => exo.ExpressChangedTime, DateTime.Now) |
|
|
|
.Set(exo => exo.ExpressContent, "手动签收")); |
|
|
|
var expressState = kuaiDi100Manager.GetExpressState(3); |
|
|
|
if (purchaseExpressOrder.ExpressState != expressState) |
|
|
|
{ |
|
|
|
purchaseExpressOrder.ExpressState = expressState; |
|
|
|
updatePurchaseExpressOrderList.Add(fsql.Update<PurchaseExpressOrder>(purchaseExpressOrder.WaybillNo) |
|
|
|
.Set(exo => exo.ExpressState, purchaseExpressOrder.ExpressState) |
|
|
|
.Set(exo => exo.ExpressChangedTime, DateTime.Now) |
|
|
|
.Set(exo => exo.ExpressContent, "手动签收")); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 计算采购单状态
|
|
|
|
orderPurchaseInfo.CalculationOrderState(fsql, orderPurchaseSkuList, purchaseExpressOrderList); |
|
|
@ -1331,7 +1359,7 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 通知齐库打包落仓情况
|
|
|
|
Task.Factory.StartNew(() => qiKuManager.PublishQiKu(orderPurchaseRelationList, orderPurchaseSkuList, purchaseExpressOrderList), |
|
|
|
Task.Factory.StartNew(() => qiKuManager.PublishQiKu(orderPurchaseInfo, orderPurchaseRelationList, orderPurchaseSkuList, purchaseExpressOrderList), |
|
|
|
CancellationToken.None, |
|
|
|
TaskCreationOptions.LongRunning, |
|
|
|
taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); |
|
|
@ -2018,7 +2046,14 @@ namespace BBWYB.Server.Business |
|
|
|
throw new Exception("未查询到快递单"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 查询订单/采购单/采购sku/快递单/采购关系
|
|
|
|
#region 查询采购单
|
|
|
|
var orderPurchaseInfoList = fsql.Select<OrderPurchaseInfo>().Where(opi => opi.OrderId == tpeo.OrderId && opi.IsEnabled == true).ToList(); |
|
|
|
var orderPurchaseInfo = orderPurchaseInfoList.FirstOrDefault(opi => opi.PurchaseOrderId == tpeo.PurchaseOrderId); |
|
|
|
if (orderPurchaseInfo == null) |
|
|
|
throw new Exception("未查询到采购单"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 查询订单/采购sku/快递单/采购关系
|
|
|
|
var dbOrder = fsql.Select<Order>(tpeo.OrderId).ToOne(o => new Order |
|
|
|
{ |
|
|
|
Id = o.Id, |
|
|
@ -2028,14 +2063,18 @@ namespace BBWYB.Server.Business |
|
|
|
if (dbOrder == null) |
|
|
|
throw new Exception("未查询到订单"); |
|
|
|
|
|
|
|
var orderPurchaseInfoList = fsql.Select<OrderPurchaseInfo>().Where(opi => opi.OrderId == dbOrder.Id && opi.IsEnabled == true).ToList(); |
|
|
|
var orderPurchaseInfo = orderPurchaseInfoList.FirstOrDefault(opi => opi.PurchaseOrderId == tpeo.PurchaseOrderId); |
|
|
|
if (orderPurchaseInfo == null) |
|
|
|
throw new Exception("未查询到采购单"); |
|
|
|
IList<OrderPurchaseSkuInfo> orderPurchaseSkuList = null; |
|
|
|
IList<OrderPurchaseRelationInfo> orderPurchaseRelationList = null; |
|
|
|
if (orderPurchaseInfo.PurchasePlatform == Enums.Platform.阿里巴巴) |
|
|
|
{ |
|
|
|
orderPurchaseSkuList = fsql.Select<OrderPurchaseSkuInfo>().Where(x => x.PurchaseOrderId == tpeo.PurchaseOrderId).ToList(); |
|
|
|
if (orderPurchaseSkuList.Count() == 0) |
|
|
|
throw new BusinessException("未查询到采购单sku信息"); |
|
|
|
|
|
|
|
var orderPurchaseSkuList = fsql.Select<OrderPurchaseSkuInfo>().Where(x => x.PurchaseOrderId == tpeo.PurchaseOrderId).ToList(); |
|
|
|
if (orderPurchaseSkuList.Count() == 0) |
|
|
|
throw new BusinessException("未查询到采购单sku信息"); |
|
|
|
orderPurchaseRelationList = fsql.Select<OrderPurchaseRelationInfo>().Where(opri => opri.PurchaseOrderId == tpeo.PurchaseOrderId).ToList(); |
|
|
|
if (orderPurchaseRelationList.Count() == 0) |
|
|
|
throw new BusinessException("未查询到采购单的关联信息"); |
|
|
|
} |
|
|
|
|
|
|
|
var purchaseExpressOrderList = fsql.Select<PurchaseExpressOrder>().Where(x => x.PurchaseOrderId == tpeo.PurchaseOrderId).ToList(); |
|
|
|
var purchaseExpressOrder = purchaseExpressOrderList.FirstOrDefault(exo => exo.WaybillNo == waybillNo); |
|
|
@ -2044,9 +2083,6 @@ namespace BBWYB.Server.Business |
|
|
|
purchaseExpressOrder.ExpressContent = lastData.context; |
|
|
|
updatePurchaseExpressOrder = fsql.Update<PurchaseExpressOrder>().SetSource(purchaseExpressOrder); |
|
|
|
|
|
|
|
var orderPurchaseRelationList = fsql.Select<OrderPurchaseRelationInfo>().Where(opri => opri.PurchaseOrderId == tpeo.PurchaseOrderId).ToList(); |
|
|
|
if (orderPurchaseRelationList.Count() == 0) |
|
|
|
throw new BusinessException("未查询到采购单的关联信息"); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 计算采购单状态
|
|
|
@ -2062,7 +2098,7 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 通知齐库打包落仓情况
|
|
|
|
Task.Factory.StartNew(() => qiKuManager.PublishQiKu(orderPurchaseRelationList, orderPurchaseSkuList, purchaseExpressOrderList), |
|
|
|
Task.Factory.StartNew(() => qiKuManager.PublishQiKu(orderPurchaseInfo, orderPurchaseRelationList, orderPurchaseSkuList, purchaseExpressOrderList), |
|
|
|
CancellationToken.None, |
|
|
|
TaskCreationOptions.LongRunning, |
|
|
|
taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); |
|
|
|