diff --git a/BBWYB.Server.API/Controllers/OrderController.cs b/BBWYB.Server.API/Controllers/OrderController.cs index c6e38d2..3f6e849 100644 --- a/BBWYB.Server.API/Controllers/OrderController.cs +++ b/BBWYB.Server.API/Controllers/OrderController.cs @@ -58,11 +58,19 @@ namespace BBWYB.Server.API.Controllers /// /// [HttpPost] - public void EditPrice([FromBody]OP_EditPriceRequest request) - { + public void EditPrice([FromBody] OP_EditPriceRequest request) + { orderBusiness.EditPrice(request); } - + /// + /// 修改商家备注 + /// + /// + [HttpPost] + public void EditVenderRemark([FromBody] EditVenderRemarkRequest request) + { + orderBusiness.EditVenderRemark(request); + } } } diff --git a/BBWYB.Server.Business/Order/OrderBusiness.cs b/BBWYB.Server.Business/Order/OrderBusiness.cs index 44a917b..74791a5 100644 --- a/BBWYB.Server.Business/Order/OrderBusiness.cs +++ b/BBWYB.Server.Business/Order/OrderBusiness.cs @@ -73,7 +73,6 @@ namespace BBWYB.Server.Business return (o, ocs, oct) => new Order() { Id = o.Id, - BuyerRemark = o.BuyerRemark, EndTime = o.EndTime, FreightPrice = o.FreightPrice, ModifyTime = o.ModifyTime, @@ -88,6 +87,7 @@ namespace BBWYB.Server.Business StartTime = o.StartTime, VenderRemark = o.VenderRemark, PurchaseRemark = o.PurchaseRemark, + BuyerRemark = o.BuyerRemark, //WaybillNo = o.WaybillNo, SellerPreferentialAmount = o.SellerPreferentialAmount, PreferentialAmount = o.PreferentialAmount, @@ -317,5 +317,10 @@ namespace BBWYB.Server.Business HttpMethod.Post); #endregion } + + public void EditVenderRemark(EditVenderRemarkRequest request) + { + fsql.Update(request.OrderId).Set(o => o.VenderRemark, request.VenderRemark).ExecuteAffrows(); + } } } diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index 5357d1d..a303c5d 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; @@ -1010,20 +1011,20 @@ namespace BBWYB.Server.Business updateOrderCostDetailList.Add(fsql.Update().SetSource(dbOrderSkuDetail)); } - dbOrderCost.PurchaseAmount = totalPurchaseAmount; + dbOrderCost.TotalCost = dbOrderCost.PurchaseAmount = totalPurchaseAmount; dbOrderCost.Profit = dbOrder.OrderTotalPrice - dbOrderCost.PurchaseAmount - dbOrderCost.DeliveryExpressFreight; // -orderCost.PlatformCommissionAmount + updateOrderCost = fsql.Update(dbOrderCost.OrderId) + .Set(oc => oc.PurchaseAmount, dbOrderCost.PurchaseAmount) + .Set(oc => oc.TotalCost, dbOrderCost.TotalCost) + .Set(oc => oc.Profit, dbOrderCost.Profit); fsql.Transaction(() => { foreach (var update in updateOrderCostDetailList) update.ExecuteAffrows(); updateOrderCost?.ExecuteAffrows(); - - //fsql.Update(dbOrderCost.OrderId).Set(oc => oc.PurchaseAmount, dbOrderCost.PurchaseAmount) - // .Set(oc => oc.Profit, dbOrderCost.Profit) - // .ExecuteAffrows(); }); } } diff --git a/BBWYB.Server.Model/Dto/Request/Order/EditVenderRemarkRequest.cs b/BBWYB.Server.Model/Dto/Request/Order/EditVenderRemarkRequest.cs new file mode 100644 index 0000000..6f9795a --- /dev/null +++ b/BBWYB.Server.Model/Dto/Request/Order/EditVenderRemarkRequest.cs @@ -0,0 +1,9 @@ +namespace BBWYB.Server.Model.Dto +{ + public class EditVenderRemarkRequest + { + public string OrderId { get; set; } + + public string VenderRemark { get; set; } + } +} 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