diff --git a/BBWYB.Server.API/Controllers/DataRepairController.cs b/BBWYB.Server.API/Controllers/DataRepairController.cs
index 7588b57..fa223f4 100644
--- a/BBWYB.Server.API/Controllers/DataRepairController.cs
+++ b/BBWYB.Server.API/Controllers/DataRepairController.cs
@@ -34,16 +34,20 @@ namespace BBWYB.Server.API.Controllers
dataRepairBusiness.SupplementOrderSkuCost();
}
+
[HttpPost]
- public void PingJia()
+ public void SupplementPurchaserInfo()
{
- dataRepairBusiness.PingJia();
+ dataRepairBusiness.SupplementPurchaserInfo();
}
+ ///
+ /// 补采购方案分组
+ ///
[HttpPost]
- public void SupplementPurchaserInfo()
+ public void SupplementPurchaseSchemeGroup()
{
- dataRepairBusiness.SupplementPurchaserInfo();
+ dataRepairBusiness.SupplementPurchaseSchemeGroup();
}
}
}
diff --git a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
index ec73edd..e744102 100644
--- a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
+++ b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
@@ -27,17 +27,6 @@ namespace BBWYB.Server.Business
kuaiDi100Manager.SubscribeKuaiDi100(waybillNo, targetCompanyCode, "http://bbwyb.qiyue666.com/api/purchaseorder/kuaidi100publish");
}
- public void PingJia()
- {
-
- var list = new List()
- {
-
- };
- foreach (var pid in list)
- purchaseOrderBusiness.OnSomeOnePurchaseOrderChanged(pid, false);
- }
-
public void SupplementOrderSkuCost()
{
@@ -148,5 +137,69 @@ namespace BBWYB.Server.Business
});
}
}
+
+ public void SupplementPurchaseSchemeGroup()
+ {
+ List insertSchemeGroups = new List();
+ IList> updatePurchaseSchemeList = new List>();
+
+ var purchaseSchemeList = fsql.Select().ToList().OrderByDescending(ps => ps.CreateTime);
+ var purchaseSchemeSpuGroups = purchaseSchemeList.GroupBy(ps => ps.ProductId);
+ foreach (var purchaseSchemeSpuGroup in purchaseSchemeSpuGroups)
+ {
+ var purchaseSchemeSkuGroups = purchaseSchemeSpuGroup.GroupBy(ps => ps.SkuId);
+ var maxPsGroupCount = purchaseSchemeSkuGroups.Max(g => g.Count()); //该spu最大的采购分组数
+
+ for (var i = 0; i < maxPsGroupCount; i++)
+ {
+ IList currentIndexSchemeList = new List();
+ //取每个sku的第i个方案
+ foreach (var purchaseSchemeSkuGroup in purchaseSchemeSkuGroups)
+ {
+ var currentSkuPurchaseSchemeList = purchaseSchemeSkuGroup.ToList();
+
+ if (currentSkuPurchaseSchemeList.Count() >= (i + 1))
+ {
+ var scheme = currentSkuPurchaseSchemeList[i];
+ currentIndexSchemeList.Add(scheme);
+ }
+ }
+ var schemeGroupId = currentIndexSchemeList.FirstOrDefault(ps => ps.SchemeGroupId != null)?.SchemeGroupId;
+ if (schemeGroupId == null)
+ {
+ schemeGroupId = idGenerator.NewLong();
+ //同位中没有分组
+ var insertSchemeGroup = new PurchaseSchemeGroup()
+ {
+ Id = schemeGroupId.Value,
+ GroupName = schemeGroupId.Value.ToString(),
+ CreateTime = DateTime.Now,
+ ProductId = currentIndexSchemeList.First().ProductId,
+ ShopId = currentIndexSchemeList.First().ShopId
+ };
+ insertSchemeGroups.Add(insertSchemeGroup);
+ }
+ foreach (var purchaseScheme in currentIndexSchemeList)
+ {
+ if (purchaseScheme.SchemeGroupId != schemeGroupId)
+ {
+ var update = fsql.Update(purchaseScheme.Id).Set(ps => ps.SchemeGroupId, schemeGroupId);
+ updatePurchaseSchemeList.Add(update);
+ }
+ }
+ }
+ }
+
+ fsql.Transaction(() =>
+ {
+ if (insertSchemeGroups.Count() > 0)
+ fsql.Insert(insertSchemeGroups).ExecuteAffrows();
+ if (updatePurchaseSchemeList.Count() > 0)
+ {
+ foreach (var update in updatePurchaseSchemeList)
+ update.ExecuteAffrows();
+ }
+ });
+ }
}
}
diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
index 7acb9a7..92d592f 100644
--- a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
+++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
@@ -219,7 +219,7 @@ namespace BBWYB.Server.Business
}
}
var sql = select.ToSql();
- var purchaseSchemeList = select.ToList();
+ var purchaseSchemeList = select.OrderByDescending(ps => ps.CreateTime).ToList();
if (purchaseSchemeList.Count > 0)
diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs b/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs
index 7fd4b57..2da1ef0 100644
--- a/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs
+++ b/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs
@@ -1,6 +1,8 @@
using BBWYB.Server.Model.Db;
using FreeSql.DataAnnotations;
+using Newtonsoft.Json;
+
namespace BBWYB.Server.Model
{
@@ -50,8 +52,23 @@ namespace BBWYB.Server.Model
///
public DateTime? LastPurchaseTime { get; set; }
- //[Column(MapType = typeof(int), DbType = "int(1)")]
- //public Enums.Platform PurchasePlatform { get; set; }
+ ///
+ /// 慧眼标的Id
+ ///
+ [Column(StringLength = 50)]
+ public string HYBDId { get; set; }
+
+ ///
+ /// 慧眼方案Id
+ ///
+ [Column(StringLength = 50)]
+ public string HYSchemeId { get; set; }
+
+ ///
+ /// 分组Id
+ ///
+ [Column(DbType = "bigint", IsNullable = true)]
+ public long? SchemeGroupId { get; set; }
[Column(IsIgnore = true)]
public List PurchaseSchemeProductList { get; set; }
diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseSchemeGroup.cs b/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseSchemeGroup.cs
new file mode 100644
index 0000000..035efd9
--- /dev/null
+++ b/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseSchemeGroup.cs
@@ -0,0 +1,45 @@
+using FreeSql.DataAnnotations;
+
+namespace BBWYB.Server.Model.Db
+{
+
+ ///
+ /// 采购方案分组表
+ ///
+ [Table(Name = "purchaseschemegroup", DisableSyncStructure = true)]
+ public partial class PurchaseSchemeGroup
+ {
+
+ ///
+ /// 分组Id
+ ///
+ [Column(DbType = "bigint", IsPrimary = true)]
+ public long Id { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ [Column(DbType = "datetime")]
+ public DateTime? CreateTime { get; set; }
+
+ ///
+ /// 组名
+ ///
+ [Column(StringLength = 100)]
+ public string GroupName { get; set; }
+
+ ///
+ /// 店铺spu,店铺商品Id
+ ///
+ [Column(StringLength = 50)]
+ public string ProductId { get; set; }
+
+ ///
+ /// 店铺Id
+ ///
+ [Column(DbType = "bigint")]
+ public long? ShopId { get; set; }
+
+ }
+
+}