Browse Source

自动计算取消库存扣减

qianyi
shanji 3 years ago
parent
commit
8c1dff62b0
  1. 41
      BBWY.Server.Business/Order/OrderBusiness.cs

41
BBWY.Server.Business/Order/OrderBusiness.cs

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

Loading…
Cancel
Save