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();
if (purchaserOrders.Count() == 0)
throw new BusinessException("库存为零不能自动计算成本");
var dbAfterSaleOrderList = fsql.Select<AfterSaleOrder>().Where(aso => aso.OrderId == autoCalculationCostRequest.OrderId).ToList();
var orderCost = fsql.Select<OrderCost>(autoCalculationCostRequest.OrderId).ToOne();
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<OrderCost> updateOrderCost = 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>();
if (autoCalculationCostRequest.IsSetStorageType)
@ -516,8 +517,8 @@ namespace BBWY.Server.Business
//累计发货运费(销售运费)
orderDeliveryExpressFreight += currentSkuDeliveryFreight;
var updateSql = fsql.Update<PurchaseOrder>(purchaseOrder.Id).Set(po => po.RemainingQuantity - deductionQuantity);
updatePurchaseOrderList.Add(updateSql);
//var updateSql = fsql.Update<PurchaseOrder>(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<OrderCost>().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();
});

Loading…
Cancel
Save