Browse Source

Merge branch 'liangku_skuoptimazation' of http://code.qiyue666.com/pengcong001/bbwyb into liangku_skuoptimazation

liangku_skuoptimazation
shanji 1 year ago
parent
commit
7f347aacd1
  1. 11
      BBWYB.Server.API/Controllers/PurchaseSchemeController.cs
  2. 10
      BBWYB.Server.API/Controllers/SkuOptimizationController.cs
  3. 70
      BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
  4. 1
      BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs
  5. 1
      BBWYB.Server.Business/Sync/OrderSyncBusiness.cs

11
BBWYB.Server.API/Controllers/PurchaseSchemeController.cs

@ -208,5 +208,16 @@ namespace BBWYB.Server.API.Controllers
{
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());
}
}
}

10
BBWYB.Server.API/Controllers/SkuOptimizationController.cs

@ -35,6 +35,16 @@ namespace BBWYB.Server.API.Controllers
optimizationBusiness.CompleteOptimization(taskId, userId);
}
/// <summary>
/// 更新报价
/// </summary>
/// <param name="request"></param>
[HttpPost]
public void BatchUpdateCompetitiveTenderQuotation([FromBody] BatchUpdateCompetitiveTenderQuotationRequest request)
{
optimizationBusiness.BatchUpdateCompetitiveTenderQuotation(request, GetUserId());
}
/// <summary>
/// 查询待议价任务列表
/// </summary>

70
BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs

@ -1603,6 +1603,8 @@ namespace BBWYB.Server.Business
foreach (var purchasedSku in purchasedSkuList)
{
if (list.Any(x => x.PurchaseSku == purchasedSku.PurchaseSkuId))
continue;
var goodsSourceTag = new GoodsSourceTagResponse()
{
PurchaseSku = purchasedSku.PurchaseSkuId,
@ -1617,8 +1619,72 @@ namespace BBWYB.Server.Business
#region 查询添加为采购方案的sku
if (purchaseSkuIdList.Count() > 0)
{
{
var schemeUsedSkuList = fsql.Select<PurchaseScheme, PurchaseSchemeProductSku>()
.InnerJoin((ps, pss) => ps.Id == pss.SkuPurchaseSchemeId)
.Where((ps, pss) => purchaseSkuIdList.Contains(pss.PurchaseSkuId))
.GroupBy((ps, pss) => new { pss.SkuPurchaseSchemeId, pss.PurchaseSkuId, ps.BelongBargainTeamId })
.ToList(g => new
{
g.Key.PurchaseSkuId,
g.Key.SkuPurchaseSchemeId,
g.Key.BelongBargainTeamId
});
foreach (var usedSku in schemeUsedSkuList)
{
if (list.Any(x => x.PurchaseSku == usedSku.PurchaseSkuId))
continue;
var goodsSourceTag = new GoodsSourceTagResponse()
{
PurchaseSku = usedSku.PurchaseSkuId,
GoodsSourceTagType = usedSku.BelongBargainTeamId != uInfo.user.DepartmentId ?
Enums.GoodsSourceTagType. :
Enums.GoodsSourceTagType.
};
list.Add(goodsSourceTag);
purchaseSkuIdList.Remove(usedSku.PurchaseSkuId); //排除绑定过采购方案的sku
}
}
#endregion
#region 历史采购过相同供应商的商品
if (purchaseSkuIdList.Count() > 0)
{
purchaserIdList.Clear();
var goodsSourceList = requestList.Where(x => purchaseSkuIdList.Contains(x.PurchaseSkuId)).ToList();
purchaserIdList.AddRange(goodsSourceList.Select(x => x.PurchaserId).Distinct().ToList());
var purchasedBySamePurchaserList = fsql.Select<OrderPurchaseInfo, OrderPurchaseRelationInfo, PurchaseScheme>()
.InnerJoin((opi, opri, ps) => opi.OrderId == opri.OrderId &&
opi.PurchaseOrderId == opri.PurchaseOrderId)
.InnerJoin((opi, opri, ps) => opri.SchemeId == ps.Id)
.Where((opi, opri, ps) => opi.IsEnabled == true &&
purchaserIdList.Contains(opi.PurchaserId))
.GroupBy((opi, opri, ps) => new { opi.PurchaserId, opri.SchemeId, ps.BelongBargainTeamId })
.ToList(g => new
{
g.Key.PurchaserId,
g.Key.SchemeId,
g.Key.BelongBargainTeamId
});
if (purchasedBySamePurchaserList.Count() > 0)
{
foreach (var purchaserBySame in purchasedBySamePurchaserList)
{
var item = goodsSourceList.FirstOrDefault(x => x.PurchaserId == purchaserBySame.PurchaserId);
if (item != null && list.Any(x => x.PurchaseSku == item.PurchaseSkuId))
continue;
list.Add(new GoodsSourceTagResponse()
{
PurchaseSku = item.PurchaseSkuId,
GoodsSourceTagType = purchaserBySame.BelongBargainTeamId != uInfo.user.DepartmentId ?
Enums.GoodsSourceTagType. :
Enums.GoodsSourceTagType.
});
}
}
}
#endregion

1
BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs

@ -184,6 +184,7 @@ namespace BBWYB.Server.Business
PreItemCount = 0,
PrePurchaseAmount = 0M
};
insertSpuOptimizationTaskList.Add(spuOptimizationTask);
#endregion
#region 创建SKU优化任务

1
BBWYB.Server.Business/Sync/OrderSyncBusiness.cs

@ -498,6 +498,7 @@ namespace BBWYB.Server.Business.Sync
PreItemCount = 0,
PrePurchaseAmount = 0M
};
insertSpuOptimizationTaskList.Add(spuOptimizationTask);
#endregion
#region 创建SKU优化任务

Loading…
Cancel
Save