|
|
@ -992,25 +992,38 @@ namespace BBWYB.Server.Business |
|
|
|
/// <param name="request"></param>
|
|
|
|
public void SetHistoryPurchaseOrder(SetHistoryPurchaseOrderRequest request) |
|
|
|
{ |
|
|
|
var dbOrderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == request.OrderId).ToList(); |
|
|
|
var dbOrderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == request.OrderId && |
|
|
|
ocd.PurchaseOrderId != request.PurchaseOrderId).ToList(); |
|
|
|
var dbOrderCost = fsql.Select<OrderCost>(request.OrderId).ToOne(); |
|
|
|
var dbOrder = fsql.Select<Order>(request.OrderId).ToOne(); |
|
|
|
|
|
|
|
try |
|
|
|
{ |
|
|
|
dbOrderCost.PurchaseAmount = dbOrderCostDetailList.Where(ocd => ocd.PurchaseOrderId != request.PurchaseOrderId).Sum(ocd => ocd.TotalCost); |
|
|
|
} |
|
|
|
catch |
|
|
|
{ |
|
|
|
dbOrderCost.PurchaseAmount = 0; |
|
|
|
} |
|
|
|
dbOrderCost.Profit = dbOrder.OrderTotalPrice - |
|
|
|
dbOrderCost.PurchaseAmount - |
|
|
|
dbOrderCost.DeliveryExpressFreight; // -orderCost.PlatformCommissionAmount
|
|
|
|
//try
|
|
|
|
//{
|
|
|
|
// dbOrderCost.PurchaseAmount = dbOrderCostDetailList.Where(ocd => ocd.PurchaseOrderId != request.PurchaseOrderId).Sum(ocd => ocd.TotalCost);
|
|
|
|
//}
|
|
|
|
//catch
|
|
|
|
//{
|
|
|
|
// dbOrderCost.PurchaseAmount = 0;
|
|
|
|
//}
|
|
|
|
//dbOrderCost.Profit = dbOrder.OrderTotalPrice -
|
|
|
|
// dbOrderCost.PurchaseAmount -
|
|
|
|
// dbOrderCost.DeliveryExpressFreight; // -orderCost.PlatformCommissionAmount
|
|
|
|
var purchaseProductAmount = dbOrderCostDetailList.Count() == 0 ? 0M : dbOrderCostDetailList.Sum(ocd => ocd.SkuAmount) ?? 0M; |
|
|
|
var purchaseFreight = dbOrderCostDetailList.Count() == 0 ? 0M : dbOrderCostDetailList.Sum(ocd => ocd.PurchaseFreight) ?? 0M; |
|
|
|
var outPackAmount = dbOrderCostDetailList.Count() == 0 ? 0M : dbOrderCostDetailList.Sum(ocd => ocd.OutPackAmount) ?? 0M; |
|
|
|
dbOrderCost.CalculationOrderCostCostAndProfit(dbOrder.OrderTotalPrice.Value, purchaseProductAmount, purchaseFreight, outPackAmount, 0M); |
|
|
|
|
|
|
|
|
|
|
|
var orderPurchaseInfoList = fsql.Select<OrderPurchaseInfo>().Where(opi => opi.OrderId == request.OrderId && opi.IsEnabled == true).ToList(); |
|
|
|
var historyPurchaseOrder = orderPurchaseInfoList.FirstOrDefault(opi => opi.PurchaseOrderId == request.PurchaseOrderId); |
|
|
|
if (historyPurchaseOrder == null) |
|
|
|
throw new BusinessException("未查询到采购单"); |
|
|
|
orderPurchaseInfoList.Remove(historyPurchaseOrder); |
|
|
|
dbOrder.CalculationOrderState(fsql, orderPurchaseInfoList: orderPurchaseInfoList); |
|
|
|
|
|
|
|
fsql.Transaction(() => |
|
|
|
{ |
|
|
|
fsql.Update<OrderPurchaseInfo>() |
|
|
|
fsql.Update<OrderPurchaseInfo>(historyPurchaseOrder.Id) |
|
|
|
.Set(opi => opi.IsEnabled, false) |
|
|
|
.Set(opi => opi.OrderState, Enums.PurchaseOrderState.已取消) |
|
|
|
.Where(opi => opi.PurchaseOrderId == request.PurchaseOrderId) |
|
|
@ -1026,6 +1039,7 @@ namespace BBWYB.Server.Business |
|
|
|
fsql.Delete<PurchaseExpressOrder>().Where(peo => peo.PurchaseOrderId == request.PurchaseOrderId).ExecuteAffrows(); |
|
|
|
|
|
|
|
fsql.Update<OrderCost>().SetSource(dbOrderCost).ExecuteAffrows(); |
|
|
|
fsql.Update<Order>(dbOrder.Id).Set(o => o.OrderState, dbOrder.OrderState).ExecuteAffrows(); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|