Browse Source

区分视角

master
shanji 1 year ago
parent
commit
6fb097b1cc
  1. 62
      BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
  2. 58
      BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs
  3. 14
      BBWYB.Server.Model/Dto/Request/Optimization/QueryNoCompletionOptimizationTaskRequest.cs
  4. 1
      BBWYB.Server.Model/Dto/Response/Optimization/SpuOptimizationBargainTeamTaskResponse.cs

62
BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

@ -521,49 +521,33 @@ namespace BBWYB.Server.Business
var allCargoParamList = new List<CargoParamRequest>();
request.CargoParamGroupList.ForEach(x => allCargoParamList.AddRange(x.CargoParamList));
#region 更新采购方案
{
var cargoParamGroupsBySchemeList = allCargoParamList.GroupBy(c => c.SchemeId);
foreach (var cargoParamGroupsByScheme in cargoParamGroupsBySchemeList)
{
var schemeId = cargoParamGroupsByScheme.Key;
var skuId = cargoParamGroupsByScheme.FirstOrDefault().BelongSkuId;
var skuItemCount = orderSkus.FirstOrDefault(osku => osku.SkuId == skuId)?.ItemTotal ?? 0;
//var lastPurchasePriceCost = cargoParamGroupsByScheme.Sum(cargoParam => createdPurchaseOrderItemList.Where(x => x.SkuId == cargoParam.SkuId)
// .Select(x => x.Price * (cargoParam.PurchaseRatio ?? 1))
// .DefaultIfEmpty(0M)
// .First());
//#region 更新采购方案
//{
// var cargoParamGroupsBySchemeList = allCargoParamList.GroupBy(c => c.SchemeId);
// foreach (var cargoParamGroupsByScheme in cargoParamGroupsBySchemeList)
// {
// var schemeId = cargoParamGroupsByScheme.Key;
// var skuId = cargoParamGroupsByScheme.FirstOrDefault().BelongSkuId;
// var skuItemCount = orderSkus.FirstOrDefault(osku => osku.SkuId == skuId)?.ItemTotal ?? 0;
var lastPurchasePriceCost = cargoParamGroupsByScheme.Sum(cargoParam =>
{
return (createdPurchaseOrderItemList.FirstOrDefault(x => x.SkuId == cargoParam.SkuId)?.Price ?? 0) * (cargoParam.PurchaseRatio ?? 1);
});
// //var lastPurchasePriceCost = cargoParamGroupsByScheme.Sum(cargoParam => createdPurchaseOrderItemList.Where(x => x.SkuId == cargoParam.SkuId)
// // .Select(x => x.Price * (cargoParam.PurchaseRatio ?? 1))
// // .DefaultIfEmpty(0M)
// // .First());
// var lastPurchasePriceCost = cargoParamGroupsByScheme.Sum(cargoParam =>
// {
// return (createdPurchaseOrderItemList.FirstOrDefault(x => x.SkuId == cargoParam.SkuId)?.Price ?? 0) * (cargoParam.PurchaseRatio ?? 1);
// });
var purchasedAmount = insertOrderCostDetails.Where(ocd => ocd.SkuId == skuId).Sum(ocd => ocd.SkuAmount);
var update = fsql.Update<PurchaseScheme>(schemeId).Set(ps => ps.LastPurchaseTime, DateTime.Now)
.Set(ps => ps.LastPurchasePriceCost, lastPurchasePriceCost)
.Set(ps => ps.PurchasedCount + 1)
.Set(ps => ps.PurchasedItemCount + skuItemCount)
.Set(ps => ps.PurchasedAmount + purchasedAmount);
updatePurchaseSchemeList.Add(update);
}
}
#endregion
//#region 更新采购配件
//{
// foreach (var cargoParam in allCargoParamList)
// {
// var createOrderItem = createdPurchaseOrderItemList.FirstOrDefault(x => x.SkuId == cargoParam.SkuId);
// if (createOrderItem != null)
// {
// var update = fsql.Update<PurchaseSchemeProductSku>()
// .Set(pss => pss.LastPurchasePriceCost, createOrderItem.Price)
// .Where(pss => pss.PurchaseSkuId == cargoParam.SkuId && pss.SkuPurchaseSchemeId == cargoParam.SchemeId);
// updatePssList.Add(update);
// }
// var purchasedAmount = insertOrderCostDetails.Where(ocd => ocd.SkuId == skuId).Sum(ocd => ocd.SkuAmount);
// var update = fsql.Update<PurchaseScheme>(schemeId).Set(ps => ps.LastPurchaseTime, DateTime.Now)
// .Set(ps => ps.LastPurchasePriceCost, lastPurchasePriceCost)
// .Set(ps => ps.PurchasedCount + 1)
// .Set(ps => ps.PurchasedItemCount + skuItemCount)
// .Set(ps => ps.PurchasedAmount + purchasedAmount);
// updatePurchaseSchemeList.Add(update);
// }
//}
//#endregion

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

@ -8,6 +8,7 @@ using BBWYB.Server.Model.Db.SpuOptimization;
using BBWYB.Server.Model.Dto;
using FreeSql;
using Newtonsoft.Json;
using Org.BouncyCastle.Asn1;
using System.Numerics;
using System.Text.RegularExpressions;
using Yitter.IdGenerator;
@ -617,7 +618,8 @@ namespace BBWYB.Server.Business
public ListResponse<SpuOptimizationTaskResponse> GetNoCompletionSkuOptimizationTask(QueryNoCompletionOptimizationTaskRequest request, string userId)
{
request.EndTime = request.EndTime.Date.AddDays(1).AddSeconds(-1);
var uInfo = userBusiness.GetisBargainTeamByUserId(userId);
var uInfo = userBusiness.GetisBargainTeamByUserId(userId)
ISelect<SpuOptimizationTask> select = null;
if (request.SpuOptimizationTaskId != null && request.SpuOptimizationTaskId != 0)
@ -648,8 +650,10 @@ namespace BBWYB.Server.Business
.WhereIf(!string.IsNullOrEmpty(skuKeyWords), st => st.SkuId == skuKeyWords)
.Any())
.WhereIf(!string.IsNullOrEmpty(request.TitleKeywords), t => t.ProductTitle.Contains(request.TitleKeywords))
.WhereIf(!string.IsNullOrEmpty(spuKeyWords), t => t.ProductId == spuKeyWords)
.WhereIf(request.IsCompleted, t => t.IsOptimizationCompleted == true ||
.WhereIf(!string.IsNullOrEmpty(spuKeyWords), t => t.ProductId == spuKeyWords);
/*
.WhereIf(request.IsCompleted, t => t.IsOptimizationCompleted == true ||
fsql.Select<SpuOptimizationBargainTeamTask>()
.Where(sbt => sbt.IsOptimizationCompleted == true &&
sbt.SpuOptimizationTaskId == t.Id &&
@ -661,7 +665,53 @@ namespace BBWYB.Server.Business
sbt.SpuOptimizationTaskId == t.Id &&
sbt.BelongTeamId == barginTeamId)
.Any())
.WhereIf(!request.IsCompleted && string.IsNullOrEmpty(barginTeamId), t => t.IsOptimizationCompleted == false);
.WhereIf(!request.IsCompleted && string.IsNullOrEmpty(barginTeamId), t => t.IsOptimizationCompleted == false)
*/
if (request.State == 0)
{
if (string.IsNullOrEmpty(barginTeamId))
{
//非议价组查询未完成
select = select.Where(t => t.IsOptimizationCompleted == false);
}
else
{
//议价组查询未完成
select = select.Where(t => t.IsOptimizationCompleted == false &&
fsql.Select<SpuOptimizationBargainTeamTask>()
.Where(sbt => sbt.IsOptimizationCompleted == false &&
sbt.SpuOptimizationTaskId == t.Id &&
sbt.BelongTeamId == barginTeamId)
.Any());
}
}
else if (request.State == 1)
{
if (string.IsNullOrEmpty(barginTeamId))
{
//非议价组查询已完成
select = select.Where(t => t.IsOptimizationCompleted == true);
}
else
{
//议价组查询已完成
select = select.Where(t => fsql.Select<SpuOptimizationBargainTeamTask>()
.Where(sbt => sbt.IsOptimizationCompleted == true &&
sbt.SpuOptimizationTaskId == t.Id &&
sbt.BelongTeamId == barginTeamId)
.Any());
}
}
else if (request.State == 2)
{
//已超时
select = select.Where(t => t.IsOptimizationCompleted == true)
.Where(t=> fsql.Select<SpuOptimizationBargainTeamTask>()
.Where(sbt => sbt.IsOptimizationCompleted == false &&
sbt.SpuOptimizationTaskId == t.Id )
.WhereIf(!string.IsNullOrEmpty(barginTeamId),sbt=>sbt.BelongTeamId == barginTeamId)
.Any());
}
}
var sql = select.ToSql();

14
BBWYB.Server.Model/Dto/Request/Optimization/QueryNoCompletionOptimizationTaskRequest.cs

@ -41,9 +41,19 @@ namespace BBWYB.Server.Model.Dto
/// </summary>
public string TitleKeywords { get; set; }
///// <summary>
///// 是否完成 (议价组完成视为完成)
///// </summary>
//public bool IsCompleted { get; set; }
///// <summary>
///// 是否关闭
///// </summary>
//public bool IsClosed { get; set; }
/// <summary>
/// 是否完成 (议价组完成视为完成)
/// 任务相对状态 0=待优化 1=已完成 2=已关闭
/// </summary>
public bool IsCompleted { get; set; }
public int State { get; set; }
}
}

1
BBWYB.Server.Model/Dto/Response/Optimization/SpuOptimizationBargainTeamTaskResponse.cs

@ -4,5 +4,6 @@ namespace BBWYB.Server.Model.Dto
{
public class SpuOptimizationBargainTeamTaskResponse : SpuOptimizationBargainTeamTask
{
}
}

Loading…
Cancel
Save