From 42f9c1402dcaf12b740a0137c77b53c9ca356d97 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Thu, 21 Sep 2023 01:32:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=87=87=E8=B4=AD=E6=96=B9?= =?UTF-8?q?=E6=A1=88=E9=A6=96=E9=80=89=EF=BC=8C=E5=B9=B6=E6=8C=89=E9=A6=96?= =?UTF-8?q?=E9=80=89=E5=92=8C=E6=97=B6=E9=97=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/PurchaseSchemeController.cs | 14 ++++++++++-- .../PurchaseScheme/PurchaseSchemeBusiness.cs | 22 ++++++++++++++++++- .../Db/PurchaseScheme/PurchaseScheme.cs | 5 +++++ 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/BBWYB.Server.API/Controllers/PurchaseSchemeController.cs b/BBWYB.Server.API/Controllers/PurchaseSchemeController.cs index 171612f..1b7f63d 100644 --- a/BBWYB.Server.API/Controllers/PurchaseSchemeController.cs +++ b/BBWYB.Server.API/Controllers/PurchaseSchemeController.cs @@ -172,9 +172,19 @@ namespace BBWYB.Server.API.Controllers /// /// 最新的采购方案成本 [HttpDelete] - public decimal DeletePurchaseSku([FromBody]DeletePurchaseSkuRequest request) - { + public decimal DeletePurchaseSku([FromBody] DeletePurchaseSkuRequest request) + { return purchaseSchemeBusiness.DeletePurchaseSku(request); } + + /// + /// 设置首选采购方案,同时互斥相同Sku的其他采购方案 + /// + /// + [HttpPost("{schemeId}")] + public void SetFirstPurchaseScheme([FromRoute]long schemeId) + { + purchaseSchemeBusiness.SetFirstPurchaseScheme(schemeId); + } } } diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs index 4da9300..f3ffbde 100644 --- a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs +++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs @@ -639,7 +639,7 @@ namespace BBWYB.Server.Business .Where((psp, p) => psp.SkuPurchaseSchemeId == ps.Id).Any()); } //var sql = select.ToSql(); - var purchaseSchemeList = select.OrderByDescending(ps => ps.CreateTime).ToList(); + var purchaseSchemeList = select.OrderByDescending(ps => ps.IsFirst).OrderByDescending(ps => ps.CreateTime).ToList(); if (purchaseSchemeList.Count > 0) @@ -1194,5 +1194,25 @@ namespace BBWYB.Server.Business }); return defaultCost; } + + /// + /// 设置首选采购方案 + /// + /// + public void SetFirstPurchaseScheme(long schemeId) + { + var scheme = fsql.Select(schemeId).ToOne(s => new + { + s.Id, + s.SkuId + }); + if (scheme == null) + new BusinessException("采购方案不存在"); + fsql.Transaction(() => + { + fsql.Update().Set(s => s.IsFirst, 0).Where(s => s.SkuId == scheme.SkuId && s.Id != schemeId).ExecuteAffrows(); + fsql.Update(schemeId).Set(s => s.IsFirst, 1).ExecuteAffrows(); + }); + } } } diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs b/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs index b46941e..a840856 100644 --- a/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs +++ b/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs @@ -93,6 +93,11 @@ namespace BBWYB.Server.Model /// 采购金额 /// public decimal? PurchasedAmount { get; set; } = 0M; + + /// + /// 首选采购方案 (是=1 否=0) + /// + public int? IsFirst { get; set; } = 0; } }