|
|
@ -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(); |
|
|
|
}); |
|
|
|