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