Browse Source

大调整

liangku_skuoptimazation
shanji 1 year ago
parent
commit
9dad1ce806
  1. 1
      BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
  2. 1
      BBWYB.Server.Business/Order/OrderBusiness.cs
  3. 26
      BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
  4. 1
      BBWYB.Server.Business/SkuOptimization/SkuOptimizationBusiness.cs
  5. 55
      BBWYB.Server.Business/Sync/OrderSyncBusiness.cs
  6. 66
      BBWYB.Server.Model/Db/SkuOptimization/SkuOptimizationCompetitiveTenderTask.cs
  7. 0
      BBWYB.Server.Model/Db/SkuOptimization/Skuoptimizationchildtask.cs
  8. 0
      BBWYB.Server.Model/Db/SkuOptimization/Skuoptimizationhistory.cs
  9. 0
      BBWYB.Server.Model/Db/SkuOptimization/Skuoptimizationtask.cs
  10. 2
      BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationChildTaskResponse.cs
  11. 1
      BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs
  12. 2
      BBWYB.Server.Model/Dto/Response/Product/SkuOptimizationHistoryResponse.cs
  13. 1
      BBWYB.Server.Model/MappingProfiles.cs

1
BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs

@ -5,6 +5,7 @@ using BBWYB.Common.Models;
using BBWYB.Server.Model;
using BBWYB.Server.Model.Db;
using BBWYB.Server.Model.Db.HY;
using BBWYB.Server.Model.Db.SkuOptimization;
using BBWYB.Server.Model.Dto;
using FreeSql;
using Newtonsoft.Json.Linq;

1
BBWYB.Server.Business/Order/OrderBusiness.cs

@ -5,6 +5,7 @@ using BBWYB.Common.Models;
using BBWYB.Server.Business.Extensions;
using BBWYB.Server.Model;
using BBWYB.Server.Model.Db;
using BBWYB.Server.Model.Db.SkuOptimization;
using BBWYB.Server.Model.Dto;
using FreeSql;
using Microsoft.Extensions.DependencyInjection;

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

@ -8,6 +8,7 @@ using BBWYB.Server.Model.Core;
using BBWYB.Server.Model.Db;
using BBWYB.Server.Model.Db.Mds;
using BBWYB.Server.Model.Db.MDS;
using BBWYB.Server.Model.Db.SkuOptimization;
using BBWYB.Server.Model.Dto;
using FreeSql;
using Microsoft.Extensions.DependencyInjection;
@ -580,7 +581,7 @@ namespace BBWYB.Server.Business
var dbSkuAndPurchaserRelationList = fsql.Select<SkuHistoryPurchaserRelation>()
.Where(spr => purchaserIdList.Contains(spr.PurchaserId) && spr.ShopId == request.ShopId)
.ToList();
var dbPurchaserList = fsql.Select<Purchaser>(purchaserIdList).ToList();
foreach (var purchaserId in purchaserIdList)
{
purchaserSkuDictionary.TryGetValue(purchaserId, out var fromRequestSkuList);
@ -601,15 +602,10 @@ namespace BBWYB.Server.Business
SkuId = x
}));
}
#region 更新采购商归属
var purchaser = dbPurchaserList.FirstOrDefault(p => p.Id == purchaserId);
if (purchaser != null && !string.IsNullOrEmpty(purchaser.BelongBargainTeamId) && purchaser.BelongType == Enums.PurchaserBelongType.)
{
var updatePurchaser = fsql.Update<Purchaser>(purchaserId).Set(p => p.BelongType, Enums.PurchaserBelongType.);
updatePurchaserList.Add(updatePurchaser);
}
#endregion
//var update = fsql.Update<Purchaser>(purchaserId)
// .Set(p => p.PurchasedCount + 1)
// .SetIf(newSkuRelationCount > 0, p => p.PurchasedSkuCount + newSkuRelationCount);
//updatePurchaserList.Add(update);
}
}
@ -798,11 +794,11 @@ namespace BBWYB.Server.Business
if (updateSkuOptimizationPurhcasementByIdList.Count() > 0)
fsql.Update<SkuOptimizationTask>(updateSkuOptimizationPurhcasementByIdList).Set(s => s.IsPurchasementCompleted, true).ExecuteAffrows();
if (updatePurchaserList.Count() > 0)
{
foreach (var update in updatePurchaserList)
update.ExecuteAffrows();
}
//if (updatePurchaserList.Count() > 0)
//{
// foreach (var update in updatePurchaserList)
// update.ExecuteAffrows();
//}
});
//#region 更新采购方案最新价格

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

@ -4,6 +4,7 @@ using BBWYB.Common.Models;
using BBWYB.Server.Model;
using BBWYB.Server.Model.Db;
using BBWYB.Server.Model.Db.BBWY;
using BBWYB.Server.Model.Db.SkuOptimization;
using BBWYB.Server.Model.Dto;
using FreeSql;
using Newtonsoft.Json;

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

@ -2,6 +2,7 @@
using BBWYB.Common.Models;
using BBWYB.Server.Model;
using BBWYB.Server.Model.Db;
using BBWYB.Server.Model.Db.SkuOptimization;
using BBWYB.Server.Model.Dto;
using FreeSql;
using Newtonsoft.Json.Linq;
@ -145,6 +146,7 @@ namespace BBWYB.Server.Business.Sync
List<SkuOptimizationTask> insertSkuOptimizationTaskList = new List<SkuOptimizationTask>();
List<SkuOptimizationChildTask> insertSkuOptimizationChildTaskList = new List<SkuOptimizationChildTask>();
List<SkuOptimizationCompetitiveTenderTask> insertCompetitiveTenderList = new List<SkuOptimizationCompetitiveTenderTask>();
#endregion
//等待检查sku销量的订单集合
@ -403,6 +405,13 @@ namespace BBWYB.Server.Business.Sync
if (noFisrstPurchasedSpuList.Count() > 0)
{
var bargainTeamList = venderBusiness.GetYiJiaGroup(); //获取议价组
var bargainTeamIdList = bargainTeamList.Select(t => t.Id).ToList();
var waitToCompetitiveTenderSchemeList = fsql.Select<PurchaseScheme>()
.Where(ps => bargainTeamIdList.Contains(ps.BelongBargainTeamId) &&
skuIdList.Contains(ps.SkuId))
.ToList(); //需要参与竞标采购方案
foreach (var waitCheckOrder in waitToCheckSkuSaleOrderList)
{
foreach (var waitCheckOrderSku in waitCheckOrder.OrderSkuList)
@ -460,8 +469,7 @@ namespace BBWYB.Server.Business.Sync
#region 创建待优化子任务
{
var yijiagroups = venderBusiness.GetYiJiaGroup();
foreach (var department in yijiagroups)
foreach (var department in bargainTeamList)
{
var skuOptimizationChildTask = new SkuOptimizationChildTask()
{
@ -473,6 +481,13 @@ namespace BBWYB.Server.Business.Sync
OptimizationTaskId = skuOptimizationTask.Id
};
insertSkuOptimizationChildTaskList.Add(skuOptimizationChildTask);
#region 创建竞标任务
var schemeList = waitToCompetitiveTenderSchemeList.Where(ps => ps.SkuId == waitCheckOrderSku.SkuId &&
ps.BelongBargainTeamId == department.Id)
.ToList();
#endregion
}
}
#endregion
@ -501,39 +516,6 @@ namespace BBWYB.Server.Business.Sync
}
}
}
//#region 更新订单sku优化标记
//var allSkuOptimizationTaskList = dbSkuOptimizationTaskList.Union(insertSkuOptimizationTaskList);
//foreach (var waitCheckOrder in waitToCheckSkuSaleOrderList)
//{
// foreach (var waitCheckOrderSku in waitCheckOrder.OrderSkuList)
// {
// var task = allSkuOptimizationTaskList.FirstOrDefault(t => t.SkuId == waitCheckOrderSku.SkuId);
// if (task != null)
// {
// #region 更新sku优化标记
// var oskuId = long.Parse(waitCheckOrderSku.SkuId);
// var insertOrderSku = insertOrderSkuList.FirstOrDefault(s => s.Id == oskuId);
// if (insertOrderSku != null)
// {
// insertOrderSku.IsNeedOptimization = 1;
// insertOrderSku.TriggerOptimizationReason = task.TriggerOptimizationReason;
// }
// else
// {
// //updateOrderSkuIdList_OptimizationFlag.Add(oskuId);
// if (!updateOSkuOptimizationFlagByReasonGroups.TryGetValue(task.TriggerOptimizationReason.Value, out var updateOSkuOptimizationFlagByReasonList))
// {
// updateOSkuOptimizationFlagByReasonList = new List<long>();
// updateOSkuOptimizationFlagByReasonGroups.Add(task.TriggerOptimizationReason.Value, updateOSkuOptimizationFlagByReasonList);
// }
// updateOSkuOptimizationFlagByReasonList.Add(oskuId);
// }
// #endregion
// }
// }
//}
//#endregion
}
}
#endregion
@ -562,6 +544,9 @@ namespace BBWYB.Server.Business.Sync
if (insertSkuOptimizationChildTaskList.Count() > 0)
fsql.Insert(insertSkuOptimizationChildTaskList).ExecuteAffrows();
if (insertCompetitiveTenderList.Count() > 0)
fsql.Insert(insertCompetitiveTenderList).ExecuteAffrows();
if (updateOrderList.Count() > 0)
foreach (var update in updateOrderList)
update.ExecuteAffrows();

66
BBWYB.Server.Model/Db/SkuOptimization/SkuOptimizationCompetitiveTenderTask.cs

@ -0,0 +1,66 @@
using FreeSql.DataAnnotations;
namespace BBWYB.Server.Model.Db
{
/// <summary>
/// 采购方案竞标表
/// </summary>
[Table(Name = "skuoptimizationcompetitivetendertask", DisableSyncStructure = true)]
public partial class SkuOptimizationCompetitiveTenderTask
{
[Column(DbType = "bigint", IsPrimary = true)]
public long Id { get; set; }
[Column(DbType = "bigint")]
public long? ChildTaskId { get; set; }
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
/// <summary>
/// 是否更新报价
/// </summary>
public bool? IsUpdateQuotedPrice { get; set; }
/// <summary>
/// 更新后的运费
/// </summary>
public decimal? NewFreight { get; set; }
/// <summary>
/// 更新后的报价
/// </summary>
public decimal? NewQuotedPrice { get; set; }
/// <summary>
/// 未更新的运费
/// </summary>
public decimal? OldFreight { get; set; }
/// <summary>
/// 未更新的报价
/// </summary>
public decimal? OldQuotedPrice { get; set; }
[Column(DbType = "bigint")]
public long? SchemeId { get; set; }
[Column(DbType = "bigint")]
public long? TaskId { get; set; }
[Column(StringLength = 50)]
public string SkuId { get; set; }
[Column(DbType = "bigint")]
public long? TeamId { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(DbType = "datetime")]
public DateTime? UpdateTime { get; set; }
}
}

0
BBWYB.Server.Model/Db/Product/Skuoptimizationchildtask.cs → BBWYB.Server.Model/Db/SkuOptimization/Skuoptimizationchildtask.cs

0
BBWYB.Server.Model/Db/Product/Skuoptimizationhistory.cs → BBWYB.Server.Model/Db/SkuOptimization/Skuoptimizationhistory.cs

0
BBWYB.Server.Model/Db/Product/Skuoptimizationtask.cs → BBWYB.Server.Model/Db/SkuOptimization/Skuoptimizationtask.cs

2
BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationChildTaskResponse.cs

@ -1,4 +1,4 @@
using BBWYB.Server.Model.Db;
using BBWYB.Server.Model.Db.SkuOptimization;
namespace BBWYB.Server.Model.Dto
{

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

@ -1,4 +1,5 @@
using BBWYB.Server.Model.Db;
using BBWYB.Server.Model.Db.SkuOptimization;
namespace BBWYB.Server.Model.Dto
{

2
BBWYB.Server.Model/Dto/Response/Product/SkuOptimizationHistoryResponse.cs

@ -1,4 +1,4 @@
using BBWYB.Server.Model.Db;
using BBWYB.Server.Model.Db.SkuOptimization;
namespace BBWYB.Server.Model.Dto
{

1
BBWYB.Server.Model/MappingProfiles.cs

@ -1,5 +1,6 @@
using AutoMapper;
using BBWYB.Server.Model.Db;
using BBWYB.Server.Model.Db.SkuOptimization;
using BBWYB.Server.Model.Dto;
namespace BBWYB.Server.Model

Loading…
Cancel
Save