shanji 2 years ago
parent
commit
1d2a7d09a1
  1. 40
      BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

40
BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

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

Loading…
Cancel
Save