diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index 5c043bb8..971524e7 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -458,6 +458,7 @@ namespace BBWY.Server.Business orderSkuIds.Contains(po.SkuId)).ToList(); if (purchaserOrders.Count() == 0) throw new BusinessException("库存为零不能自动计算成本"); + var dbAfterSaleOrderList = fsql.Select().Where(aso => aso.OrderId == autoCalculationCostRequest.OrderId).ToList(); var orderCost = fsql.Select(autoCalculationCostRequest.OrderId).ToOne(); var orderCostDetails = fsql.Select().Where(ocd => ocd.OrderId == autoCalculationCostRequest.OrderId && ocd.IsEnabled == true).ToList(); @@ -465,7 +466,7 @@ namespace BBWY.Server.Business IUpdate orderUpdate = null; IUpdate updateOrderCost = null; IInsert insertOrderCost = null; - IList> updatePurchaseOrderList = new List>(); + //IList> updatePurchaseOrderList = new List>(); List insertOrderCostDetailList = new List(); if (autoCalculationCostRequest.IsSetStorageType) @@ -516,8 +517,8 @@ namespace BBWY.Server.Business //累计发货运费(销售运费) orderDeliveryExpressFreight += currentSkuDeliveryFreight; - var updateSql = fsql.Update(purchaseOrder.Id).Set(po => po.RemainingQuantity - deductionQuantity); - updatePurchaseOrderList.Add(updateSql); + //var updateSql = fsql.Update(purchaseOrder.Id).Set(po => po.RemainingQuantity - deductionQuantity); + //updatePurchaseOrderList.Add(updateSql); var orderCostDetail = new OrderCostDetail() { @@ -559,12 +560,13 @@ namespace BBWY.Server.Business DeliveryExpressFreight = orderDeliveryExpressFreight, CreateTime = DateTime.Now }; - orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio; - orderCost.Profit = dbOrder.OrderSellerPrice + - dbOrder.FreightPrice - - orderCost.PurchaseAmount - - orderCost.DeliveryExpressFreight - - orderCost.PlatformCommissionAmount; + //orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio; + //orderCost.Profit = dbOrder.OrderSellerPrice + + // dbOrder.FreightPrice - + // orderCost.PurchaseAmount - + // orderCost.DeliveryExpressFreight - + // orderCost.PlatformCommissionAmount; + orderCost.CalculationOrderProfitAndCost(dbOrder, dbAfterSaleOrderList); insertOrderCost = fsql.Insert(orderCost); #endregion } @@ -572,11 +574,12 @@ namespace BBWY.Server.Business { orderCost.PurchaseAmount += orderCostPurchaseAmount; orderCost.DeliveryExpressFreight += orderDeliveryExpressFreight; - orderCost.Profit = dbOrder.OrderSellerPrice + - dbOrder.FreightPrice - - orderCost.PurchaseAmount - - orderCost.DeliveryExpressFreight - - orderCost.PlatformCommissionAmount; + //orderCost.Profit = dbOrder.OrderSellerPrice + + // dbOrder.FreightPrice - + // orderCost.PurchaseAmount - + // orderCost.DeliveryExpressFreight - + // orderCost.PlatformCommissionAmount; + orderCost.CalculationOrderProfitAndCost(dbOrder, dbAfterSaleOrderList); updateOrderCost = fsql.Update().SetSource(orderCost); } @@ -585,11 +588,11 @@ namespace BBWY.Server.Business orderUpdate?.ExecuteAffrows(); updateOrderCost?.ExecuteAffrows(); insertOrderCost?.ExecuteAffrows(); - if (updatePurchaseOrderList.Count > 0) - { - foreach (var update in updatePurchaseOrderList) - update.ExecuteAffrows(); - } + //if (updatePurchaseOrderList.Count > 0) + //{ + // foreach (var update in updatePurchaseOrderList) + // update.ExecuteAffrows(); + //} if (insertOrderCostDetailList.Count > 0) fsql.Insert(insertOrderCostDetailList).ExecuteAffrows(); });