From 1d2a7d09a154bf8f87e1718d250ae9c439fc8bcc Mon Sep 17 00:00:00 2001
From: shanji <18996038927@163.com>
Date: Sun, 25 Jun 2023 10:07:11 +0800
Subject: [PATCH] 1
---
.../PurchaseOrder/PurchaseOrderBusiness.cs | 40 +++++++++++++------
1 file changed, 27 insertions(+), 13 deletions(-)
diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
index 6d40972..a6e6344 100644
--- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
+++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
@@ -992,25 +992,38 @@ namespace BBWYB.Server.Business
///
public void SetHistoryPurchaseOrder(SetHistoryPurchaseOrderRequest request)
{
- var dbOrderCostDetailList = fsql.Select().Where(ocd => ocd.OrderId == request.OrderId).ToList();
+ var dbOrderCostDetailList = fsql.Select().Where(ocd => ocd.OrderId == request.OrderId &&
+ ocd.PurchaseOrderId != request.PurchaseOrderId).ToList();
var dbOrderCost = fsql.Select(request.OrderId).ToOne();
var dbOrder = fsql.Select(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().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()
+ fsql.Update(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().Where(peo => peo.PurchaseOrderId == request.PurchaseOrderId).ExecuteAffrows();
fsql.Update().SetSource(dbOrderCost).ExecuteAffrows();
+ fsql.Update(dbOrder.Id).Set(o => o.OrderState, dbOrder.OrderState).ExecuteAffrows();
});
}