Browse Source

增加配件级报价记录

master
shanji 1 year ago
parent
commit
65f4b2080e
  1. 22
      BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
  2. 20
      BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs
  3. 29
      BBWYB.Server.Model/Db/SpuOptimization/Spuoptimizationproductskuupdatequotedpricerecord.cs

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

@ -1080,13 +1080,19 @@ namespace BBWYB.Server.Business
IncludePurchaseSkuBasicInfo = 1 IncludePurchaseSkuBasicInfo = 1
}); });
List<SpuOptimizationCompetitiveTenderTask> competitiveTenderTaskList = null; //List<SpuOptimizationCompetitiveTenderTask> competitiveTenderTaskList = null;
List<SpuOptimizationProductSkuUpdateQuotedPriceRecord> updatePriceList = null;
if (user.isBargainTeam && request.SpuOptimizationTaskId != null && request.SpuOptimizationTaskId != 0) if (user.isBargainTeam && request.SpuOptimizationTaskId != null && request.SpuOptimizationTaskId != 0)
{ {
competitiveTenderTaskList = fsql.Select<SpuOptimizationCompetitiveTenderTask>() //competitiveTenderTaskList = fsql.Select<SpuOptimizationCompetitiveTenderTask>()
.Where(ct => ct.SpuOptimizationTaskId == request.SpuOptimizationTaskId && // .Where(ct => ct.SpuOptimizationTaskId == request.SpuOptimizationTaskId &&
ct.BargainTeamId == user.bargainTeam.Id) // ct.BargainTeamId == user.bargainTeam.Id)
// .ToList();
updatePriceList = fsql.Select<SpuOptimizationProductSkuUpdateQuotedPriceRecord>()
.Where(x => x.SpuOptimizationTaskId == request.SpuOptimizationTaskId &&
x.BargainTeamId == user.bargainTeam.Id)
.ToList(); .ToList();
} }
@ -1105,12 +1111,10 @@ namespace BBWYB.Server.Business
mergePss = pss.Map<MergePurchaseSchemeProductSkuResponse>(); mergePss = pss.Map<MergePurchaseSchemeProductSkuResponse>();
mergePssList.Add(mergePss); mergePssList.Add(mergePss);
} }
if (competitiveTenderTaskList != null)
{ if (updatePriceList != null && updatePriceList.Any(x => x.PurchaseSkuId == mergePss.PurchaseSkuId))
var belongCompetitiveTenderTask = competitiveTenderTaskList.FirstOrDefault(ct => ct.SchemeId == scheme.Id);
if (belongCompetitiveTenderTask != null && belongCompetitiveTenderTask.IsUpdateQuotedPrice == true)
mergePss.IsUpdateQuotedPrice = true; mergePss.IsUpdateQuotedPrice = true;
}
mergePss.BelongSkuIdList.Add(pss.SkuId); mergePss.BelongSkuIdList.Add(pss.SkuId);
} }
} }

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

@ -366,6 +366,7 @@ namespace BBWYB.Server.Business
#region DBOperation #region DBOperation
List<SpuOptimizationCompetitiveTenderTask> insertSpuOptimizationCompetitiveTenderTaskList = new List<SpuOptimizationCompetitiveTenderTask>(); List<SpuOptimizationCompetitiveTenderTask> insertSpuOptimizationCompetitiveTenderTaskList = new List<SpuOptimizationCompetitiveTenderTask>();
List<long> updateCompetitiveTenderTaskIdList = new List<long>(); List<long> updateCompetitiveTenderTaskIdList = new List<long>();
List<SpuOptimizationProductSkuUpdateQuotedPriceRecord> insertUpdatePriceList = new List<SpuOptimizationProductSkuUpdateQuotedPriceRecord>();
#endregion #endregion
//var skuList = request.ItemList.Select(x => x.SkuId).Distinct().ToList(); //var skuList = request.ItemList.Select(x => x.SkuId).Distinct().ToList();
@ -393,6 +394,11 @@ namespace BBWYB.Server.Business
IncludePurchaseSkuBasicInfo = 0 IncludePurchaseSkuBasicInfo = 0
}); });
//查询配件级报价任务
var updatePriceRecordList = fsql.Select<SpuOptimizationProductSkuUpdateQuotedPriceRecord>()
.Where(x => x.SpuOptimizationTaskId == request.SpuOptimizationTaskId &&
x.BargainTeamId == uInfo.bargainTeam.Id)
.ToList();
//筛选出不在竞标任务中的采购方案 //筛选出不在竞标任务中的采购方案
var noJoinCompetitiveTenderPurchaseSchemeList = relationPurchaseSchemeList.Where(ps => !competitiveTenderTaskList.Any(ct => ct.SchemeId == ps.Id)).ToList(); var noJoinCompetitiveTenderPurchaseSchemeList = relationPurchaseSchemeList.Where(ps => !competitiveTenderTaskList.Any(ct => ct.SchemeId == ps.Id)).ToList();
@ -404,6 +410,15 @@ namespace BBWYB.Server.Business
purchaseSchemeBusiness.BatchEditPurchaseSkuActualPrice(batchEditPurchaseSkuActualPriceRequest, uInfo); purchaseSchemeBusiness.BatchEditPurchaseSkuActualPrice(batchEditPurchaseSkuActualPriceRequest, uInfo);
} }
insertUpdatePriceList.AddRange(request.ItemList.Where(x => !updatePriceRecordList.Any(r => r.PurchaseSkuId == x.PurchaseSkuId)).Select(x => new SpuOptimizationProductSkuUpdateQuotedPriceRecord()
{
Id = idGenerator.NewLong(),
BargainTeamId = uInfo.bargainTeam.Id,
CreateTime = DateTime.Now,
PurchaseSkuId = x.PurchaseSkuId,
SpuOptimizationTaskId = request.SpuOptimizationTaskId,
UserId = uInfo.user.Id
}));
if (noJoinCompetitiveTenderPurchaseSchemeList.Count() > 0) if (noJoinCompetitiveTenderPurchaseSchemeList.Count() > 0)
{ {
@ -421,6 +436,7 @@ namespace BBWYB.Server.Business
UpdateTime = DateTime.Now UpdateTime = DateTime.Now
})); }));
} }
if (competitiveTenderTaskList.Count() > 0) if (competitiveTenderTaskList.Count() > 0)
{ {
//updateCompetitiveTenderTaskIdList.AddRange(competitiveTenderTaskList.Select(ct => ct.Id).ToList()); //updateCompetitiveTenderTaskIdList.AddRange(competitiveTenderTaskList.Select(ct => ct.Id).ToList());
@ -450,6 +466,8 @@ namespace BBWYB.Server.Business
.Set(ct => ct.IsUpdateQuotedPrice, true) .Set(ct => ct.IsUpdateQuotedPrice, true)
.Set(ct => ct.UpdateTime, DateTime.Now) .Set(ct => ct.UpdateTime, DateTime.Now)
.ExecuteAffrows(); .ExecuteAffrows();
if (insertUpdatePriceList.Count() > 0)
fsql.Insert(insertUpdatePriceList).ExecuteAffrows();
}); });
} }
@ -790,7 +808,7 @@ namespace BBWYB.Server.Business
var winGroupKey = psGroups.Select(g => new { SchemeGroupId = g.Key, Cost = g.Sum(ps => ps.BargainingCost ?? ps.DefaultCost) }) var winGroupKey = psGroups.Select(g => new { SchemeGroupId = g.Key, Cost = g.Sum(ps => ps.BargainingCost ?? ps.DefaultCost) })
.OrderByDescending(x => x.Cost) .OrderByDescending(x => x.Cost)
.FirstOrDefault(); .FirstOrDefault();
victoryList.AddRange(competitiveTenderTaskList.Where(ct=>ct.SchemeGroupId == winGroupKey.SchemeGroupId)); victoryList.AddRange(competitiveTenderTaskList.Where(ct => ct.SchemeGroupId == winGroupKey.SchemeGroupId));
//foreach (var psGroup in psGroups) //foreach (var psGroup in psGroups)
//{ //{

29
BBWYB.Server.Model/Db/SpuOptimization/Spuoptimizationproductskuupdatequotedpricerecord.cs

@ -0,0 +1,29 @@
using FreeSql.DataAnnotations;
namespace BBWYB.Server.Model.Db
{
[Table(Name = "spuoptimizationproductskuupdatequotedpricerecord", DisableSyncStructure = true)]
public partial class SpuOptimizationProductSkuUpdateQuotedPriceRecord
{
[Column(DbType = "bigint", IsPrimary = true)]
public long Id { get; set; }
[Column(StringLength = 50)]
public string BargainTeamId { get; set; }
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
[Column(StringLength = 50)]
public string PurchaseSkuId { get; set; }
[Column(DbType = "bigint")]
public long? SpuOptimizationTaskId { get; set; }
[Column(StringLength = 50)]
public string UserId { get; set; }
}
}
Loading…
Cancel
Save