diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index 5357d1d..6d317e3 100644 --- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -426,7 +426,8 @@ namespace BBWYB.Server.Business PurchaserId = purchaseOrder.PurchaserId, PurchaserName = purchaseOrder.PurchaserName, PurchaserOrderId = purchaseOrder.PurchaseOrderId, - IsEnabled = purchaseOrder.IsEnabled + IsEnabled = purchaseOrder.IsEnabled, + PurchaseMethod = purchaseOrder.PurchaseMethod.Value }; var currentOrderCostDetailList = orderCostDetailList.Where(ocd => ocd.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); @@ -466,7 +467,6 @@ namespace BBWYB.Server.Business if (request.AssociationPurchaseOrderList == null || request.AssociationPurchaseOrderList.Count() == 0) throw new BusinessException("缺少采购单信息"); - var dbPurchaseOrderList = fsql.Select().Where(opi => opi.OrderId == request.OrderId).ToList(); var dbInvalidPurchaseOrderIdList = dbPurchaseOrderList.Where(opi => !opi.IsEnabled).Select(opi => opi.PurchaseOrderId).ToList(); @@ -500,7 +500,7 @@ namespace BBWYB.Server.Business IsEnabled = true, BelongSkuIds = string.Join(",", purchaseOrder.AssocationOrderCostDetailList.Select(x => x.SkuId)), CreateTime = DateTime.Now, - PurchaseMethod = Enums.PurchaseMethod.线下采购, + PurchaseMethod = Enums.PurchaseMethod.关联外部单, PurchaseOrderId = purchaseOrder.PurchaserOrderId, PurchasePlatform = purchaseOrder.PurchasePlatform, PurchaserId = purchaseOrder.PurchaserId, @@ -522,7 +522,8 @@ namespace BBWYB.Server.Business ProductId = dbOrderSku.ProductId, SkuId = assOrderCostDetail.SkuId, PurchaseFreight = avgFreight, - TotalCost = assOrderCostDetail.SkuAmount + avgFreight + TotalCost = assOrderCostDetail.SkuAmount + avgFreight, + PurchaseOrderId = purchaseOrder.PurchaserOrderId }; insertOrderCostDetailList.Add(orderCostDetail); } @@ -597,19 +598,17 @@ namespace BBWYB.Server.Business } insertOrderCost?.ExecuteAffrows(); updateOrderCost?.ExecuteAffrows(); + if (dbOrder.OrderState == Enums.OrderState.待付款) + fsql.Update(dbOrder.Id).Set(o => o.OrderState, Enums.OrderState.待出库).ExecuteAffrows(); }); } 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).ToList(); var dbOrderCost = fsql.Select(request.OrderId).ToOne(); var dbOrder = fsql.Select(request.OrderId).ToOne(); - var invalidCost = dbOrderCostDetailList.Sum(ocd => ocd.SkuAmount + ocd.PurchaseFreight); - - //orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio; try { dbOrderCost.PurchaseAmount = dbOrderCostDetailList.Where(ocd => ocd.PurchaseOrderId != request.PurchaseOrderId).Sum(ocd => ocd.TotalCost); @@ -958,14 +957,16 @@ namespace BBWYB.Server.Business if (dbOrderCostDetails.Count() == 0) throw new Exception($"采购单{purchaseOrderId}-未查询到订单{orderPurchaseInfo.OrderId}的明细成本"); - var dbOrderPurchaseRelationInfos = fsql.Select().Where(x => x.OrderId == dbOrder.Id).ToList(); - if (dbOrderPurchaseRelationInfos.Count() == 0) - throw new Exception($"采购单{purchaseOrderId}-未查询到采购单关联明细,手动关联的采购单不支持改价"); var dbOrderPurchaseInfoList = fsql.Select().Where(opi => opi.OrderId == orderPurchaseInfo.OrderId && opi.IsEnabled == true).ToList(); if (dbOrderPurchaseInfoList.Count() == 0) throw new Exception($"采购单{purchaseOrderId}-未查询到订单{orderPurchaseInfo.OrderId}的采购单集合"); + var dbPurchaseOrderIdList = dbOrderPurchaseInfoList.Select(x => x.PurchaseOrderId).ToList(); + var dbOrderPurchaseRelationInfos = fsql.Select().Where(x => dbPurchaseOrderIdList.Contains(x.PurchaseOrderId)).ToList(); + if (dbOrderPurchaseRelationInfos.Count() == 0) + throw new Exception($"采购单{purchaseOrderId}-未查询到采购单关联明细,手动关联的采购单不支持改价"); + List> updateOrderCostDetailList = new List>(); IUpdate updateOrderCost = null; diff --git a/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs b/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs index 095d7f8..6291511 100644 --- a/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs @@ -50,6 +50,8 @@ /// public bool IsEnabled { get; set; } + public Enums.PurchaseMethod PurchaseMethod { get; set; } + /// /// 订单成本明细列表 /// diff --git a/BBWYB.Server.Model/Enums.cs b/BBWYB.Server.Model/Enums.cs index 69e6ec5..449fcec 100644 --- a/BBWYB.Server.Model/Enums.cs +++ b/BBWYB.Server.Model/Enums.cs @@ -16,12 +16,13 @@ } /// - /// 采购方式 线上采购 = 0,线下采购 = 1 + /// 采购方式 线上采购 = 0,关联外部单 = 1,手动下单 = 2 /// public enum PurchaseMethod { 线上采购 = 0, - 线下采购 = 1 + 关联外部单 = 1, + 手动下单 = 2 } /// @@ -85,7 +86,7 @@ 暂停 = 7, 已退款 = 8, Unknow = 100, - 待配置 = 101, + 待配置 = 101, } /// diff --git a/zh-Hans/FreeSql.resources.dll b/zh-Hans/FreeSql.resources.dll new file mode 100644 index 0000000..5eb0c06 Binary files /dev/null and b/zh-Hans/FreeSql.resources.dll differ