diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index 4dd8fee2..c3cadae3 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -141,6 +141,7 @@ namespace BBWY.Server.Business var deletePurchaseOrder = fsql.Delete().Where(po => oldPourchaseIdList.Contains(po.Id)); var deleteOrderCostDetail = fsql.Delete().Where(ocd => ocd.OrderId == dbOrder.Id); + var isRepurchase = fsql.Select(dbOrder.Id).Any(); #region 合并重复的采购sku var repeatPurchaseSkuGroups = createOnlinePurchaseOrderRequest.CargoParamList.GroupBy(p => p.SkuId).ToList(); @@ -186,6 +187,7 @@ namespace BBWY.Server.Business List insertOrderCostDetails = new List(); IInsert insertOrderCost = null; + IUpdate updateOrderCost = null; IInsert insertOrderDropShipping = null; foreach (var orderSku in orderSkus) { @@ -282,7 +284,14 @@ namespace BBWY.Server.Business orderCost.PurchaseAmount - orderCost.DeliveryExpressFreight - orderCost.PlatformCommissionAmount; - insertOrderCost = fsql.Insert(orderCost); + if (!isRepurchase) + { + insertOrderCost = fsql.Insert(orderCost); + } + else + { + updateOrderCost = fsql.Update().SetSource(orderCost).IgnoreColumns(a => new { a.CreateTime }); + } #endregion #region 代发信息 @@ -314,6 +323,7 @@ namespace BBWY.Server.Business fsql.Insert(insertPurchaseOrders).ExecuteAffrows(); fsql.Insert(insertPurchaseOrderDetails).ExecuteAffrows(); fsql.Insert(insertOrderCostDetails).ExecuteAffrows(); + updateOrderCost?.ExecuteAffrows(); insertOrderCost?.ExecuteAffrows(); insertOrderDropShipping?.ExecuteAffrows(); fsql.Update(createOnlinePurchaseOrderRequest.OrderId).SetIf(dbOrder.OrderState == Enums.OrderState.等待采购, o => o.OrderState, Model.Enums.OrderState.待出库)