You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

223 lines
8.1 KiB

using BBWYB.Server.Business;
using BBWYB.Server.Model.Dto;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace BBWYB.Server.API.Controllers
{
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public class PurchaseSchemeController : BaseApiController
{
private PurchaseSchemeBusiness purchaseSchemeBusiness;
public PurchaseSchemeController(PurchaseSchemeBusiness purchaseSchemeBusiness, IHttpContextAccessor httpContextAccessor) : base(httpContextAccessor)
{
this.purchaseSchemeBusiness = purchaseSchemeBusiness;
}
/// <summary>
/// 添加/编辑采购方案
/// </summary>
/// <param name="batchCURDSchemeRequest"></param>
[HttpPost]
public void EditPurchaseScheme([FromBody] BatchCURDSchemeRequest batchCURDSchemeRequest)
{
purchaseSchemeBusiness.EditPurchaseScheme(batchCURDSchemeRequest);
}
/// <summary>
/// 添加/编辑采购方案(web)
/// </summary>
/// <param name="batchCURDSchemeRequest"></param>
[HttpPost]
public void EditPurchaseSchemeV2([FromBody] BatchCURDSchemeRequest batchCURDSchemeRequest)
{
purchaseSchemeBusiness.EditPurchaseSchemeV2(batchCURDSchemeRequest, GetUserId());
}
/// <summary>
/// 获取采购方案列表
/// </summary>
/// <param name="querySchemeRequest"></param>
/// <returns></returns>
[HttpPost]
public IList<PurchaseSchemeResponse> GetPurchaseSchemeList([FromBody] QuerySchemeRequest querySchemeRequest)
{
//querySchemeRequest.IncludePurchaserStatisticsInfo = 1;
return purchaseSchemeBusiness.GetPurchaseSchemeList(querySchemeRequest);
}
/// <summary>
/// 获取采购分组和采购方案
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public IList<PurchaseSchemeGroupResponse> GetPurchaseSchemeAndGroupList(QuerySchemeAndGroupRequest request)
{
return purchaseSchemeBusiness.GetPurchaseSchemeAndGroupList(request, GetUserId());
}
/// <summary>
/// 获取Sku采购方案数量
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public IList<PurchaseSchemeCountResponse> GetPurchaseSchemeCountList([FromBody] QuerySchemeCountRequest request)
{
return purchaseSchemeBusiness.GetPurchaseSchemeCountList(request);
}
///// <summary>
///// 删除采购商
///// </summary>
///// <param name="deletePurchaseSchemeRequest"></param>
//[HttpDelete]
//public void DeletePurchaser([FromBody] DeletePurchaseSchemeRequest deletePurchaseSchemeRequest)
//{
// purchaseSchemeBusiness.DeletePurchaser(deletePurchaseSchemeRequest);
//}
/// <summary>
/// 删除采购方案
/// </summary>
/// <param name="schemeId"></param>
[HttpDelete("{schemeId}")]
public void DeletePurchaseScheme([FromRoute] long schemeId)
{
purchaseSchemeBusiness.DeletePurchaseScheme(schemeId);
}
///// <summary>
///// 查询共有采购商
///// </summary>
///// <param name="querySchemeRequest"></param>
///// <returns></returns>
//[HttpPost]
//public IList<Purchaser> GetSharePurchaser([FromBody] QuerySchemeRequest querySchemeRequest)
//{
// return purchaseSchemeBusiness.GetSharePurchaser(querySchemeRequest);
//}
/// <summary>
/// 查询采购方案中采购Sku的基本信息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public PurchaseSkuBasicInfoResponse GetPurchaseSkuBasicInfo([FromBody] PurchaseSkuBasicInfoRequest request)
{
return purchaseSchemeBusiness.GetPurchaseSkuBasicInfo(request);
}
/// <summary>
/// 批量查询采购方案中采购Sku的基本信息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public IList<PurchaseSkuBasicInfoResponse> BatchGetPurchaseSkuBasicInfo([FromBody] BatchPurchaseSkuBasicInfoRequest request)
{
return purchaseSchemeBusiness.BatchGetPurchaseSkuBasicInfo(request);
}
/// <summary>
/// 更新采购方案报价
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public IList<PurchaseSchemeResponse> RefreshPurchaseScheme([FromBody] RefreshSchemeRequest request)
{
return purchaseSchemeBusiness.RefreshPurchaseScheme(request);
}
///// <summary>
///// 修改采购配件比例
///// </summary>
///// <param name="request"></param>
//[HttpPost]
//public void EditPurchaseRatio([FromBody]EditPurchaseRatioAndActualPriceRequest request)
//{
// purchaseSchemeBusiness.EditPurchaseRatio(request);
//}
/// <summary>
/// 根据慧眼标的Id获取慧眼采购方案(含全部配件基本信息)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public IList<HYPurchaseSchemeResponse> GetPurchaseSchemeByHYBDId([FromBody] QueryHYSchemeRequest request)
{
return purchaseSchemeBusiness.GetPurchaseSchemeByHYBDId(request);
}
/// <summary>
/// 修改采购配件比例
/// </summary>
/// <param name="request">最新的采购方案成本</param>
/// <returns>最新的采购方案成本</returns>
[HttpPost]
public decimal EditPurchaseRatio([FromBody] EditPurchaseRatioRequest request)
{
return purchaseSchemeBusiness.EditPurchaseRatio(request);
}
/// <summary>
/// 删除采购Sku
/// </summary>
/// <param name="request"></param>
/// <returns>最新的采购方案成本</returns>
[HttpDelete]
public decimal DeletePurchaseSku([FromBody] DeletePurchaseSkuRequest request)
{
return purchaseSchemeBusiness.DeletePurchaseSku(request);
}
/// <summary>
/// 设置首选采购方案,同时互斥相同Sku的其他采购方案
/// </summary>
/// <param name="schemeId"></param>
[HttpPost("{schemeId}")]
public void SetFirstPurchaseScheme([FromRoute] long schemeId)
{
purchaseSchemeBusiness.SetFirstPurchaseScheme(schemeId);
}
/// <summary>
/// 查询同spu同采购商的其他配件接口,排除失效配件
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public IList<PurchaseSchemeProductSkuResponse> QuerySameSpuAndSamePurchaserOtherPurchaseSkuList([FromBody] QuerySameSpuAndSamePurchaserOtherPurchaseSkuRequest request)
{
return purchaseSchemeBusiness.QuerySameSpuAndSamePurchaserOtherPurchaseSkuList(request);
}
/// <summary>
/// 批量修改采购配件实际单价
/// </summary>
/// <param name="request"></param>
[HttpPost]
public void BatchEditPurchaseSkuActualPrice([FromBody] BatchEditPurchaseSkuActualPriceRequest request)
{
purchaseSchemeBusiness.BatchEditPurchaseSkuActualPrice(request, null, GetUserId());
}
/// <summary>
/// 货源标记接口
/// </summary>
/// <param name="requestList"></param>
/// <returns></returns>
[HttpPost]
public IList<GoodsSourceTagResponse> GetGoodsSourceTagsInfo([FromBody] List<QueryGoodsSourceTagRequest> requestList)
{
return purchaseSchemeBusiness.GetGoodsSourceTagsInfo(requestList, GetUserId());
}
}
}