From ea2fac9e5bb184ee9724b99fed2a6f15343c2a79 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Sun, 30 Jul 2023 19:55:32 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E5=8D=95=20=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=A2=9E=E5=8A=A0=E5=B9=B3=E4=BB=B7=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataRepair/DataRepairBusiness.cs | 2 +- BBWYB.Server.Business/Order/OrderBusiness.cs | 21 ++++++++++++++++++- .../PurchaseOrder/PurchaseOrderBusiness.cs | 7 ++++++- .../Db/Order/OrderPurchaseInfo.cs | 6 ++++++ .../Dto/Response/Order/OrderResponse.cs | 2 ++ BBWYB.Server.Model/Enums.cs | 8 +++++++ 6 files changed, 43 insertions(+), 3 deletions(-) diff --git a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs index d396495..3fbebc0 100644 --- a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs +++ b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs @@ -126,7 +126,7 @@ namespace BBWYB.Server.Business PurchaseFreight = osc.PurchaseFreight, SkuAmount = osc.SkuAmount, TotalCost = osc.PurchaseFreight + osc.SkuAmount, - Profit = ((osku.Price * osku.ItemTotal) ?? 0M) - osc.PurchaseFreight - osc.SkuAmount + Profit = ((osku.Price * osku.ItemTotal) ?? 0M) + osku.BuyerPayFreight - osc.PurchaseFreight - osc.SkuAmount }; insertOrderSkuCostList.Add(insert); } diff --git a/BBWYB.Server.Business/Order/OrderBusiness.cs b/BBWYB.Server.Business/Order/OrderBusiness.cs index 4761bf8..9e97055 100644 --- a/BBWYB.Server.Business/Order/OrderBusiness.cs +++ b/BBWYB.Server.Business/Order/OrderBusiness.cs @@ -179,7 +179,7 @@ namespace BBWYB.Server.Business InPackAmount = o.InPackAmount, IsWaitPack = o.IsWaitPack, IntoStoreType = o.IntoStoreType, - PayTime = o.PayTime, + PayTime = o.PayTime ContactName = ocs.ContactName, Address = ocs.Address, @@ -289,6 +289,25 @@ namespace BBWYB.Server.Business orderPurchaseInfo.OrderPurchaseSkuInfoList = orderPurchaseSkuInfoList.Where(opsi => opsi.PurchaseOrderId == orderPurchaseInfo.PurchaseOrderId).ToList(); orderPurchaseInfo.PurchaseExpressOrderList = purchaseExpressOrderList.Where(peo => peo.PurchaseOrderId == orderPurchaseInfo.PurchaseOrderId).ToList(); } + + if (order.OrderPurchaseInfoList != null && order.OrderPurchaseInfoList.Count() > 0) + { + if (order.OrderState == Enums.OrderState.部分采购 && + order.OrderPurchaseInfoList.Any(opi => opi.IsAutoEditOrderPrice == Enums.AutoEditOrderPriceType.已平价)) + { + order.IsAutoEditOrderPrice = Enums.AutoEditOrderPriceType.部分平价; + continue; + } + + var opiCount = order.OrderPurchaseInfoList.Count(); + var pjCount = order.OrderPurchaseInfoList.Count(opi => opi.IsAutoEditOrderPrice == Enums.AutoEditOrderPriceType.已平价); + if (pjCount == 0) + order.IsAutoEditOrderPrice = Enums.AutoEditOrderPriceType.未平价; + if (opiCount == pjCount) + order.IsAutoEditOrderPrice = Enums.AutoEditOrderPriceType.已平价; + else if (opiCount > pjCount) + order.IsAutoEditOrderPrice = Enums.AutoEditOrderPriceType.部分平价; + } } #endregion diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index b605dea..9347618 100644 --- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -2810,7 +2810,7 @@ namespace BBWYB.Server.Business bool isEditOrderPrice = true; try { - var orderPurchaseInfo = fsql.Select().Where(opi => opi.PurchaseOrderId == purchaseOrderId).ToOne(); + var orderPurchaseInfo = fsql.Select().Where(opi => opi.PurchaseOrderId == purchaseOrderId && opi.IsEnabled == true).ToOne(); if (orderPurchaseInfo == null) throw new Exception($"采购单{purchaseOrderId}-未查询到采购单"); @@ -2862,6 +2862,8 @@ namespace BBWYB.Server.Business IList op_EditPriceSkuRequests = new List(); + IUpdate updatePurchaseOrder = null; + var ppclient = ppPlatformClientFactory.GetClient(AdapterEnums.PlatformType.阿里巴巴); var totalPurchaseProductAmount = 0M; @@ -2944,6 +2946,8 @@ namespace BBWYB.Server.Business updateOrder = fsql.Update(dbOrder.Id).Set(o => o.OrderTotalPrice, dbOrder.OrderTotalPrice) .Set(o => o.OrderSellerPrice, dbOrder.OrderSellerPrice) .Set(o => o.FreightPrice, dbOrder.FreightPrice); + + updatePurchaseOrder = fsql.Update(orderPurchaseInfo.Id).Set(opi => opi.IsAutoEditOrderPrice, Enums.AutoEditOrderPriceType.已平价); } #region 订单Sku成本 @@ -2983,6 +2987,7 @@ namespace BBWYB.Server.Business fsql.Transaction(() => { + updatePurchaseOrder?.ExecuteAffrows(); foreach (var update in updateOrderCostDetailList) update.ExecuteAffrows(); updateOrderCost?.ExecuteAffrows(); diff --git a/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs b/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs index 5eb6899..112db0e 100644 --- a/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs +++ b/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs @@ -83,6 +83,12 @@ namespace BBWYB.Server.Model.Db /// [Column(MapType = typeof(int?))] public Enums.PurchaseOrderState? OrderState { get; set; } + + /// + /// Ƿƽ + /// + [Column(MapType = typeof(int?))] + public Enums.AutoEditOrderPriceType? IsAutoEditOrderPrice { get; set; } } } diff --git a/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs b/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs index f1b3591..2655e4f 100644 --- a/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs @@ -152,6 +152,8 @@ public Enums.PackConfigState? PackConfigState { get; set; } public Enums.IntoStoreType? IntoStoreType { get; set; } + + public Enums.AutoEditOrderPriceType? IsAutoEditOrderPrice { get; set; } } public class OrderListResponse diff --git a/BBWYB.Server.Model/Enums.cs b/BBWYB.Server.Model/Enums.cs index 48a2e81..0c1429f 100644 --- a/BBWYB.Server.Model/Enums.cs +++ b/BBWYB.Server.Model/Enums.cs @@ -314,5 +314,13 @@ { 采购任务 = 0, 合格证拟定任务 = 10, 合格证补充任务 = 11, 待核算任务 = 20 } + + /// + /// 平价状态 未平价=0 已平价=1 部分平价=2 + /// + public enum AutoEditOrderPriceType + { + 未平价 = 0, 已平价 = 1, 部分平价 = 2 + } } }