Browse Source

修复手动发货导致采购带状态不对问题

yijia
shanji 2 years ago
parent
commit
cc6b81804d
  1. 108
      BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

108
BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

@ -1339,80 +1339,6 @@ namespace BBWYB.Server.Business
});
}
//public void DeletePurchaseOrder(DeletePurchaseOrderRequest request)
//{
// nLogManager.Default().Info($"DeletePurchaseOrder {JsonConvert.SerializeObject(request)}");
// //var po = fsql.Select<OrderPurchaseInfo>().Where(opi => opi.PurchaseOrderId == request.PurchaseOrderId).ToOne();
// //if (po == null)
// // throw new BusinessException("采购单不不存在");
// //var orderId = po.OrderId;
// var orderPurchaseInfoList = fsql.Select<OrderPurchaseInfo>().Where(opi => opi.OrderId == request.OrderId).ToList();
// var deletePurchaseOrder = orderPurchaseInfoList.FirstOrDefault(opi => opi.PurchaseOrderId == request.PurchaseOrderId);
// if (deletePurchaseOrder == null)
// throw new BusinessException("采购单不不存在");
// var dbOrderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == request.OrderId &&
// ocd.PurchaseOrderId != request.PurchaseOrderId).ToList();
// var dbOrderCost = fsql.Select<OrderCost>(request.OrderId).ToOne();
// var dbOrder = fsql.Select<Order>(request.OrderId).ToOne();
// var purchaseProductAmount = dbOrderCostDetailList.Count() == 0 ? 0M : dbOrderCostDetailList.Sum(ocd => ocd.SkuAmount) ?? 0M;
// var purchaseFreight = dbOrderCostDetailList.Count() == 0 ? 0M : dbOrderCostDetailList.Sum(ocd => ocd.PurchaseFreight) ?? 0M;
// var outPackAmount = dbOrderCostDetailList.Count() == 0 ? 0M : dbOrderCostDetailList.Sum(ocd => ocd.OutPackAmount) ?? 0M;
// dbOrderCost.CalculationOrderCostAndProfit(dbOrder.OrderTotalPrice.Value, purchaseProductAmount, purchaseFreight, outPackAmount, 0M);
// #region 找出失效的快递单
// List<string> deleteWaybillNoList = new List<string>();
// //查询该采购单所使用的快递单号
// var useWaybillNos = fsql.Select<ExpressOrderRelationInfo>().Where(eori => eori.PurchaseOrderId == request.PurchaseOrderId).ToList(eori => eori.WayBillNo);
// //查询使用上述快递单号的快递单关系
// var expressOrderRelationList = fsql.Select<ExpressOrderRelationInfo>().Where(eori => useWaybillNos.Contains(eori.WayBillNo)).ToList();
// //以快递单号进行分组
// var expressOrderRelationGroups = expressOrderRelationList.GroupBy(eori => eori.WayBillNo);
// foreach (var group in expressOrderRelationGroups)
// {
// if (group.Count() == group.Count(eori => eori.PurchaseOrderId == request.PurchaseOrderId))
// deleteWaybillNoList.Add(group.Key);
// }
// #endregion
// orderPurchaseInfoList.Remove(deletePurchaseOrder);
// while (orderPurchaseInfoList.Any(opi => opi.IsEnabled == false))
// {
// var historyPo = orderPurchaseInfoList.FirstOrDefault(opi => opi.IsEnabled == false);
// orderPurchaseInfoList.Remove(historyPo);
// }
// dbOrder.CalculationOrderState(fsql, out _, orderPurchaseInfoList: orderPurchaseInfoList);
// fsql.Transaction(() =>
// {
// fsql.Delete<OrderPurchaseInfo>(deletePurchaseOrder.Id).ExecuteAffrows();
// fsql.Update<OrderCostDetail>()
// .Set(ocd => ocd.IsEnabled, false)
// .Where(ocd => ocd.PurchaseOrderId == request.PurchaseOrderId)
// .ExecuteAffrows();
// fsql.Delete<OrderPurchaseSkuInfo>().Where(opsi => opsi.PurchaseOrderId == request.PurchaseOrderId).ExecuteAffrows();
// fsql.Delete<OrderPurchaseRelationInfo>().Where(opri => opri.PurchaseOrderId == request.PurchaseOrderId).ExecuteAffrows();
// fsql.Delete<ExpressOrderRelationInfo>().Where(eori => eori.PurchaseOrderId == request.PurchaseOrderId).ExecuteAffrows();
// if (deleteWaybillNoList.Count() > 0)
// fsql.Delete<PurchaseExpressOrder>(deleteWaybillNoList).ExecuteAffrows();
// fsql.Delete<InStorePurchaseOrdeRrelationInfo>().Where(i => i.OrderId == request.OrderId && i.PurchaseOrderId == request.PurchaseOrderId)
// .ExecuteAffrows();
// fsql.Update<OrderCost>().SetSource(dbOrderCost).ExecuteAffrows();
// fsql.Update<Order>(dbOrder.Id).Set(o => o.OrderState, dbOrder.OrderState).ExecuteAffrows();
// });
//}
/// <summary>
/// 修改采购快递单
@ -1753,6 +1679,21 @@ namespace BBWYB.Server.Business
WayBillNo = request.WaybillNo
};
insertExpressOrderRelation = fsql.Insert(expressOrderRelation);
if (!insertPurchaseExpressOrderList.Any(p => p.WaybillNo == request.WaybillNo))
{
purchaseExpressOrderList.Add(new PurchaseExpressOrder()
{
CreateTime = DateTime.Now,
ShopId = dbOrder.ShopId ?? 0,
TargetExpressId = request.ExpressId,
TargetExpressName = request.ExpressName,
WaybillNo = request.WaybillNo,
ExpressState = kuaiDi100Manager.GetExpressState(1), //快递100发货状态值 默认揽收
IsSubscribeKD100 = isSubscribeKD100,
ExpressContent = "手动发货",
ExpressChangedTime = DateTime.Now
});
}
}
#endregion
@ -1793,7 +1734,7 @@ namespace BBWYB.Server.Business
/// <param name="request"></param>
public void PurchaserDelivery(PurchaserDeliveryRequest request)
{
nLogManager.Default().Info($"ManualDelivery {JsonConvert.SerializeObject(request)}");
nLogManager.Default().Info($"PurchaserDelivery {JsonConvert.SerializeObject(request)}");
var dbOrder = fsql.Select<Order>(request.OrderId).ToOne();
if (dbOrder == null)
@ -1885,7 +1826,7 @@ namespace BBWYB.Server.Business
dingdingMsg.AppendLine($"源物流公司:无");
dingdingMsg.AppendLine($"目标物流公司:{peoRequest.ExpressName} {peoRequest.ExpressId}");
dingdingMsg.AppendLine($"快递单号:{peoRequest.WaybillNo}");
dingdingMsg.AppendLine("触发环节:手动发货");
dingdingMsg.AppendLine("触发环节:厂家代发入仓手动发货");
dingdingMsg.Append($"店铺名:{shop.ShopName}");
Task.Factory.StartNew(() => SendDingDing(dingdingMsg.ToString()), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler);
#endregion
@ -1928,6 +1869,21 @@ namespace BBWYB.Server.Business
WayBillNo = peoRequest.WaybillNo
};
insertExpressOrderRelationList.Add(expressOrderRelation);
if (!insertPurchaseExpressOrderList.Any(p => p.WaybillNo == peoRequest.WaybillNo))
{
purchaseExpressOrderList.Add(new PurchaseExpressOrder()
{
CreateTime = DateTime.Now,
ShopId = dbOrder.ShopId ?? 0,
TargetExpressId = peoRequest.ExpressId,
TargetExpressName = peoRequest.ExpressName,
WaybillNo = peoRequest.WaybillNo,
ExpressState = kuaiDi100Manager.GetExpressState(1), //快递100发货状态值 默认揽收
IsSubscribeKD100 = isSubscribeKD100,
ExpressContent = "手动发货",
ExpressChangedTime = DateTime.Now
});
}
}
#endregion

Loading…
Cancel
Save