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;
}
}