|
|
@ -541,7 +541,7 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 订单状态
|
|
|
|
dbOrder.CalculationOrderState(fsql, out _, orderSkus, orderPurchaseInfoList.Union(insertOrderPurchaseInfos).ToList()); |
|
|
|
dbOrder.CalculationOrderState(fsql, orderSkus, orderPurchaseInfoList.Union(insertOrderPurchaseInfos).ToList()); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 通知C端状态
|
|
|
@ -1041,7 +1041,7 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 订单状态
|
|
|
|
dbOrder.CalculationOrderState(fsql, out _, dbOrderSkuList, dbPurchaseOrderList.Union(insertOrderPurchaseInfoList).ToList()); |
|
|
|
dbOrder.CalculationOrderState(fsql, dbOrderSkuList, dbPurchaseOrderList.Union(insertOrderPurchaseInfoList).ToList()); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 通知C端状态
|
|
|
@ -1296,7 +1296,7 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
|
|
|
|
orderPurchaseInfoList.Remove(historyPurchaseOrder); |
|
|
|
dbOrder.CalculationOrderState(fsql, out _, orderPurchaseInfoList: orderPurchaseInfoList); |
|
|
|
dbOrder.CalculationOrderState(fsql, orderPurchaseInfoList: orderPurchaseInfoList); |
|
|
|
|
|
|
|
fsql.Transaction(() => |
|
|
|
{ |
|
|
@ -1339,7 +1339,6 @@ namespace BBWYB.Server.Business |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 修改采购快递单
|
|
|
|
/// </summary>
|
|
|
@ -1489,7 +1488,7 @@ namespace BBWYB.Server.Business |
|
|
|
|
|
|
|
#region 计算订单状态
|
|
|
|
var oldOrderState = dbOrder.OrderState; |
|
|
|
dbOrder.CalculationOrderState(fsql, out _, null, orderPurchaseInfoList); |
|
|
|
dbOrder.CalculationOrderState(fsql, null, orderPurchaseInfoList); |
|
|
|
if (oldOrderState != dbOrder.OrderState) |
|
|
|
{ |
|
|
|
updateOrder = fsql.Update<Order>(dbOrder.Id).Set(o => o.OrderState, dbOrder.OrderState); |
|
|
@ -1704,7 +1703,7 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 计算订单状态
|
|
|
|
dbOrder.CalculationOrderState(fsql, out _, null, orderPurchaseInfoList); |
|
|
|
dbOrder.CalculationOrderState(fsql, null, orderPurchaseInfoList); |
|
|
|
updateOrder = fsql.Update<Order>(dbOrder.Id) |
|
|
|
.Set(o => o.OrderState, dbOrder.OrderState); |
|
|
|
#endregion
|
|
|
@ -1913,7 +1912,7 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 计算订单状态
|
|
|
|
dbOrder.CalculationOrderState(fsql, out _, null, orderPurchaseInfoList); |
|
|
|
dbOrder.CalculationOrderState(fsql, null, orderPurchaseInfoList); |
|
|
|
updateOrder = fsql.Update<Order>(dbOrder.Id) |
|
|
|
.Set(o => o.OrderState, dbOrder.OrderState); |
|
|
|
#endregion
|
|
|
@ -1965,7 +1964,6 @@ namespace BBWYB.Server.Business |
|
|
|
taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
///// 手动收货
|
|
|
|
///// </summary>
|
|
|
@ -2371,7 +2369,7 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 计算订单状态
|
|
|
|
dbOrder.CalculationOrderState(fsql, out _, null, orderPurchaseInfoList); |
|
|
|
dbOrder.CalculationOrderState(fsql, null, orderPurchaseInfoList); |
|
|
|
updateOrder = fsql.Update<Order>(dbOrder.Id) |
|
|
|
.Set(o => o.OrderState, dbOrder.OrderState); |
|
|
|
#endregion
|
|
|
@ -2481,6 +2479,7 @@ namespace BBWYB.Server.Business |
|
|
|
List<IUpdate<OrderPurchaseInfo>> updateOrderPurchaseList = new List<IUpdate<OrderPurchaseInfo>>(); |
|
|
|
List<IUpdate<Order>> updateOrderList = new List<IUpdate<Order>>(); |
|
|
|
List<TimeLimitTask> insertTimeLimitTaskList = new List<TimeLimitTask>(); |
|
|
|
List<InStoreOrderCheckTask> insertInStoreOrderCheckTaskList = new List<InStoreOrderCheckTask>(); |
|
|
|
|
|
|
|
#region 查询该笔快递单
|
|
|
|
var tpeo = fsql.Select<PurchaseExpressOrder>(wayBillNo).ToOne(); |
|
|
@ -2566,9 +2565,9 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 查询入库单信息
|
|
|
|
IList<InStorePurchaseOrdeRrelationInfo> inStoreOrderRelationList = null; |
|
|
|
IList<InStoreOrderCheckTask> inStoreOrderCheckTaskList = null; |
|
|
|
if (orderList.Any(o => o.IntoStoreType == Enums.IntoStoreType.厂商代发入仓) && state == "QianShou") |
|
|
|
inStoreOrderRelationList = fsql.Select<InStorePurchaseOrdeRrelationInfo>().Where(i => orderIds.Contains(i.OrderId)).ToList(); |
|
|
|
inStoreOrderCheckTaskList = fsql.Select<InStoreOrderCheckTask>().Where(i => orderIds.Contains(i.OrderId)).ToList(); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 计算订单状态和采购单状态
|
|
|
@ -2607,93 +2606,22 @@ namespace BBWYB.Server.Business |
|
|
|
|
|
|
|
} |
|
|
|
var oldOrderState = order.OrderState; |
|
|
|
order.CalculationOrderState(fsql, currentOrderSkuList, currentPurchaseOrderList); |
|
|
|
|
|
|
|
if (order.IntoStoreType == Enums.IntoStoreType.厂商代发入仓 && state == "QianShou") |
|
|
|
if (order.IntoStoreType == Enums.IntoStoreType.厂商代发入仓 && |
|
|
|
state == "QianShou" && |
|
|
|
order.OrderState == Enums.OrderState.待验收 && |
|
|
|
!inStoreOrderCheckTaskList.Any(x => x.OrderId == order.Id)) |
|
|
|
{ |
|
|
|
#region 检查入库采购单状态
|
|
|
|
var isNotifyDingDingWhenInOrderFail = false; |
|
|
|
var currentOrder_InStoreOrderRelationList = inStoreOrderRelationList.Where(i => i.OrderId == order.Id).ToList(); |
|
|
|
ApiResponse<IList<JDInStoreOrderDetail>> inStoreResponse = null; |
|
|
|
if (currentOrder_InStoreOrderRelationList.Count() > 0) |
|
|
|
{ |
|
|
|
var poOrderNos = currentOrder_InStoreOrderRelationList.Select(i => i.InStorePurchaseOrderId).Distinct().ToList(); |
|
|
|
//查询京东
|
|
|
|
inStoreResponse = jdBusiness.GetJDInStoreOrderDetailList(order.SourceShopName, poOrderNos); |
|
|
|
} |
|
|
|
order.CalculationOrderState(fsql, out isNotifyDingDingWhenInOrderFail, currentOrderSkuList, currentPurchaseOrderList, inStoreResponse?.Data); |
|
|
|
|
|
|
|
if (isNotifyDingDingWhenInOrderFail && inStoreResponse != null) |
|
|
|
insertInStoreOrderCheckTaskList.Add(new InStoreOrderCheckTask() |
|
|
|
{ |
|
|
|
#region 入库单查询有误,通知钉钉
|
|
|
|
var shop = venderBusiness.GetShopList(order.ShopId).FirstOrDefault(); |
|
|
|
var dingdingMsg = new StringBuilder(); |
|
|
|
if (!inStoreResponse.Success) |
|
|
|
{ |
|
|
|
foreach (var opi in currentPurchaseOrderList) |
|
|
|
{ |
|
|
|
dingdingMsg.AppendLine($"店铺名称:{shop?.ShopName}"); |
|
|
|
dingdingMsg.AppendLine($"拳探订单号:{order.OrderSn}"); |
|
|
|
dingdingMsg.AppendLine($"采购平台:{opi.PurchasePlatform}"); |
|
|
|
dingdingMsg.AppendLine($"采购单号:{opi.PurchaseOrderId}"); |
|
|
|
dingdingMsg.AppendLine($"{inStoreResponse.Msg}"); |
|
|
|
dingdingMsg.AppendLine(); |
|
|
|
} |
|
|
|
} |
|
|
|
else if (inStoreResponse.Data == null || inStoreResponse.Data.Count() == 0) |
|
|
|
{ |
|
|
|
foreach (var opi in currentPurchaseOrderList) |
|
|
|
{ |
|
|
|
dingdingMsg.AppendLine($"店铺名称:{shop?.ShopName}"); |
|
|
|
dingdingMsg.AppendLine($"拳探订单号:{order.OrderSn}"); |
|
|
|
dingdingMsg.AppendLine($"采购平台:{opi.PurchasePlatform}"); |
|
|
|
dingdingMsg.AppendLine($"采购单号:{opi.PurchaseOrderId}"); |
|
|
|
dingdingMsg.AppendLine("缺少入仓采购单号"); |
|
|
|
dingdingMsg.AppendLine(); |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
foreach (var inStoreOrderRelation in currentOrder_InStoreOrderRelationList) |
|
|
|
{ |
|
|
|
var jdInStore = inStoreResponse.Data.FirstOrDefault(x => x.poOrderNo == inStoreOrderRelation.InStorePurchaseOrderId); |
|
|
|
if (jdInStore == null || jdInStore.storageStatus == "2") |
|
|
|
continue; |
|
|
|
var opi = currentPurchaseOrderList.FirstOrDefault(opi => opi.PurchaseOrderId == inStoreOrderRelation.PurchaseOrderId); |
|
|
|
if (opi == null) |
|
|
|
continue; |
|
|
|
|
|
|
|
var stateText = ""; |
|
|
|
switch (jdInStore.storageStatus) |
|
|
|
{ |
|
|
|
case "1": |
|
|
|
stateText = "有差异待确认"; |
|
|
|
break; |
|
|
|
case "3": |
|
|
|
stateText = "待确认"; |
|
|
|
break; |
|
|
|
case "4": |
|
|
|
stateText = "有差异已确认"; |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
dingdingMsg.AppendLine($"店铺名称:{shop?.ShopName}"); |
|
|
|
dingdingMsg.AppendLine($"拳探订单号:{order.OrderSn}"); |
|
|
|
dingdingMsg.AppendLine($"采购平台:{opi.PurchasePlatform}"); |
|
|
|
dingdingMsg.AppendLine($"采购单号:{opi.PurchaseOrderId}"); |
|
|
|
dingdingMsg.AppendLine($"入仓采购单号:{inStoreOrderRelation.InStorePurchaseOrderId}"); |
|
|
|
dingdingMsg.AppendLine($"入仓采购单状态:{jdInStore.storageStatus} {stateText}"); |
|
|
|
dingdingMsg.AppendLine(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
Task.Factory.StartNew(() => SendDingDing(dingdingMsg.ToString()), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); |
|
|
|
#endregion
|
|
|
|
} |
|
|
|
#endregion
|
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
order.CalculationOrderState(fsql, out _, currentOrderSkuList, currentPurchaseOrderList); |
|
|
|
Id = idGenerator.NewLong(), |
|
|
|
CreateTime = DateTime.Now, |
|
|
|
IsChecked = false, |
|
|
|
OrderId = order.Id, |
|
|
|
ShopId = order.ShopId, |
|
|
|
OrderSn = order.OrderSn |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
if (order.OrderState != oldOrderState) |
|
|
@ -2747,6 +2675,8 @@ namespace BBWYB.Server.Business |
|
|
|
} |
|
|
|
if (insertTimeLimitTaskList.Count() > 0) |
|
|
|
fsql.Insert(insertTimeLimitTaskList).ExecuteAffrows(); |
|
|
|
if (insertInStoreOrderCheckTaskList.Count() > 0) |
|
|
|
fsql.Insert(insertInStoreOrderCheckTaskList).ExecuteAffrows(); |
|
|
|
}); |
|
|
|
#endregion
|
|
|
|
} |
|
|
|