From 77bbadb5be83e47886d7ae31b48ae1c959fa3de4 Mon Sep 17 00:00:00 2001
From: shanj <18996038927@163.com>
Date: Thu, 7 Sep 2023 13:24:04 +0800
Subject: [PATCH 1/4] =?UTF-8?q?1.=E9=87=87=E8=B4=AD=E6=96=B9=E6=A1=88?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0=E6=96=B9=E6=A1=88=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=202.=E5=9C=A8=E7=BA=BF=E4=B8=8B=E5=8D=95=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E6=96=B9=E6=A1=88=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../PurchaseOrder/PurchaseOrderBusiness.cs | 5 +-
.../Db/Order/OrderPurchaseRelationinfo.cs | 5 ++
.../OrderPurchaseRelationInfo.cs | 40 ---------
.../Db/PurchaseScheme/PurchaseScheme.cs | 6 ++
.../history/HistoryPurchaseScheme.cs | 89 +++++++++++++++++++
.../history/HistoryPurchaseSchemeProduct.cs | 65 ++++++++++++++
.../HistoryPurchaseSchemeProductsku.cs | 77 ++++++++++++++++
.../PurchaseOrder/CargoParamRequest.cs | 5 ++
8 files changed, 251 insertions(+), 41 deletions(-)
delete mode 100644 BBWYB.Server.Model/Db/PurchaseScheme/OrderPurchaseRelationInfo.cs
create mode 100644 BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseScheme.cs
create mode 100644 BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProduct.cs
create mode 100644 BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProductsku.cs
diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
index 57fc92e..3ddb21a 100644
--- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
+++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
@@ -392,7 +392,8 @@ namespace BBWYB.Server.Business
PurchaseSpecId = cargoParam.SpecId,
Quantity = cargoParam.Quantity,
SchemeId = cargoParam.SchemeId,
- SourceSkuId = orderSku?.BelongSkuId
+ SourceSkuId = orderSku?.BelongSkuId,
+ SchemeVersion = cargoParam.SchemeVersion ?? 1
});
}
#endregion
@@ -863,6 +864,7 @@ namespace BBWYB.Server.Business
PurchaseProductId = cargoParam.ProductId,
PurchaseSpecId = cargoParam.SpecId,
SchemeId = cargoParam.SchemeId,
+ SchemeVersion = cargoParam.SchemeVersion ?? 1,
Quantity = assOrderCostDetail.PurchaseQuantity,
SourceSkuId = dbOrderSku.BelongSkuId
};
@@ -3124,6 +3126,7 @@ namespace BBWYB.Server.Business
ProductId = pss.PurchaseProductId,
SkuId = pss.PurchaseSkuId,
SchemeId = pss.SkuPurchaseSchemeId,
+ SchemeVersion = scheme.Version,
SpecId = pss.PurchaseSkuSpecId,
Quantity = itemTotal * (pss.PurchaseRatio ?? 1)
}));
diff --git a/BBWYB.Server.Model/Db/Order/OrderPurchaseRelationinfo.cs b/BBWYB.Server.Model/Db/Order/OrderPurchaseRelationinfo.cs
index 66af1a8..2712ae5 100644
--- a/BBWYB.Server.Model/Db/Order/OrderPurchaseRelationinfo.cs
+++ b/BBWYB.Server.Model/Db/Order/OrderPurchaseRelationinfo.cs
@@ -64,6 +64,11 @@ namespace BBWYB.Server.Model.Db
///
public long? SchemeId { get; set; }
+ ///
+ /// 采购方案版本
+ ///
+ public int SchemeVersion { get; set; } = 1;
+
///
/// 来源SkuId (JD)
///
diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/OrderPurchaseRelationInfo.cs b/BBWYB.Server.Model/Db/PurchaseScheme/OrderPurchaseRelationInfo.cs
deleted file mode 100644
index 629c939..0000000
--- a/BBWYB.Server.Model/Db/PurchaseScheme/OrderPurchaseRelationInfo.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using FreeSql.DataAnnotations;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Xml.Linq;
-
-namespace BBWYB.Server.Model.Db.PurchaseScheme
-{
- [Table(Name = "orderpurchaserelationinfo", DisableSyncStructure = true)]
- public class OrderPurchaseRelationInfo
- {
- [Column( IsPrimary = true)]
- public long Id { get; set; }
-
- ///
- /// 采购单Id
- ///
- public string PurchaseOrderId { get; set; }
- ///
- /// 订单Id
- ///
- public string OrderId { get; set; }
-
- ///
- /// 采购方案Id
- ///
- public string SchemeId { get; set; }
- ///
- /// 采购spu
- ///
- public string PurchaseProductId { get; set; }
- ///
- /// 采购sku
- ///
- public string PurchaseSkuId { get; set; }
- }
-}
diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs b/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs
index 4b9e582..2880073 100644
--- a/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs
+++ b/BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs
@@ -70,6 +70,12 @@ namespace BBWYB.Server.Model
[Column(DbType = "bigint")]
public long SchemeGroupId { get; set; } = 0;
+ ///
+ /// 方案版本
+ ///
+ [Column(DbType = "int")]
+ public int Version { get; set; } = 1;
+
[Column(IsIgnore = true)]
public List PurchaseSchemeProductList { get; set; }
}
diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseScheme.cs b/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseScheme.cs
new file mode 100644
index 0000000..d9798b2
--- /dev/null
+++ b/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseScheme.cs
@@ -0,0 +1,89 @@
+using FreeSql.DataAnnotations;
+
+namespace BBWYB.Server.Model.Db
+{
+
+ ///
+ /// 历史采购方案表
+ ///
+ [Table(Name = "historypurchasescheme", DisableSyncStructure = true)]
+ public partial class HistoryPurchaseScheme
+ {
+ ///
+ /// 历史流水Id
+ ///
+ [Column(DbType = "bigint", IsPrimary = true)]
+ public long HistoryId { get; set; }
+
+ [Column(DbType = "datetime")]
+ public DateTime? CreateTime { get; set; }
+
+ ///
+ /// 采购默认成本
+ ///
+
+ public decimal? DefaultCost { get; set; }
+
+ ///
+ /// 慧眼标的Id
+ ///
+ [Column(StringLength = 50)]
+ public string HYBDId { get; set; }
+
+ ///
+ /// 慧眼采购方案Id
+ ///
+ [Column(StringLength = 50)]
+ public string HYSchemeId { get; set; }
+
+ ///
+ /// 采购方案Id
+ ///
+ [Column(DbType = "bigint")]
+ public long? Id { get; set; }
+
+ ///
+ /// 上次采购成本
+ ///
+ [Column(DbType = "decimal(18,2)")]
+ public decimal? LastPurchasePriceCost { get; set; }
+
+ ///
+ /// 上次采购时间
+ ///
+ [Column(DbType = "datetime")]
+ public DateTime? LastPurchaseTime { get; set; }
+
+ [Column(StringLength = 50, IsNullable = false)]
+ public string ProductId { get; set; }
+
+ ///
+ /// 采购商Id
+ ///
+ [Column(StringLength = 20)]
+ public string PurchaserId { get; set; }
+
+ ///
+ /// 方案分组Id
+ ///
+ [Column(DbType = "bigint")]
+ public long? SchemeGroupId { get; set; }
+
+ ///
+ /// 店铺Id
+ ///
+ [Column(DbType = "bigint")]
+ public long ShopId { get; set; }
+
+ [Column(StringLength = 50, IsNullable = false)]
+ public string SkuId { get; set; }
+
+ ///
+ /// 采购方案版本
+ ///
+ [Column(DbType = "int")]
+ public int? Version { get; set; } = 1;
+
+ }
+
+}
diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProduct.cs b/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProduct.cs
new file mode 100644
index 0000000..982cc45
--- /dev/null
+++ b/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProduct.cs
@@ -0,0 +1,65 @@
+using FreeSql.DataAnnotations;
+
+namespace BBWYB.Server.Model.Db
+{
+
+ ///
+ /// 采购方案商品表
+ ///
+ [ Table(Name = "historypurchaseschemeproduct", DisableSyncStructure = true)]
+ public partial class HistoryPurchaseSchemeProduct {
+
+ ///
+ /// 历史流水Id
+ ///
+ [Column(DbType = "bigint", IsPrimary = true)]
+ public long HistoryId { get; set; }
+
+ [Column(DbType = "datetime")]
+ public DateTime? CreateTime { get; set; }
+
+ ///
+ /// 采购商品流水Id
+ ///
+ [Column(DbType = "bigint")]
+ public long? Id { get; set; }
+
+ [Column(StringLength = 50)]
+ public string ProductId { get; set; }
+
+ ///
+ /// 采购商品Id
+ ///
+ [Column(StringLength = 50)]
+ public string PurchaseProductId { get; set; }
+
+ ///
+ /// 商家Id
+ ///
+ [Column(StringLength = 50)]
+ public string PurchaserId { get; set; }
+
+ ///
+ /// 采购商品链接
+ ///
+ [Column(StringLength = 500)]
+ public string PurchaseUrl { get; set; }
+
+ [Column(StringLength = 50)]
+ public string SkuId { get; set; }
+
+ ///
+ /// Sku采购方案Id
+ ///
+ [Column(DbType = "bigint")]
+ public long? SkuPurchaseSchemeId { get; set; }
+
+ ///
+ /// 采购方案版本
+ ///
+ [Column(DbType = "int")]
+ public int? Version { get; set; } = 1;
+
+ }
+
+}
diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProductsku.cs b/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProductsku.cs
new file mode 100644
index 0000000..95eba67
--- /dev/null
+++ b/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProductsku.cs
@@ -0,0 +1,77 @@
+using FreeSql.DataAnnotations;
+
+namespace BBWYB.Server.Model.Db
+{
+
+ ///
+ /// 采购方案sku表
+ ///
+ [Table(Name = "historypurchaseschemeproductsku", DisableSyncStructure = true)]
+ public partial class HistoryPurchaseSchemeProductSku {
+
+ ///
+ /// 历史流水Id
+ ///
+ [Column(DbType = "bigint", IsPrimary = true)]
+ public long HistoryId { get; set; }
+
+ ///
+ /// 实际单价(人工设置)
+ ///
+ [Column(DbType = "decimal(18,2)")]
+ public decimal? ActualPrice { get; set; } = 0.00M;
+
+ [Column(DbType = "datetime")]
+ public DateTime? CreateTime { get; set; }
+
+ ///
+ /// 采购sku流水Id
+ ///
+ [Column(DbType = "bigint")]
+ public long? Id { get; set; }
+
+ [Column(StringLength = 50, IsNullable = false)]
+ public string ProductId { get; set; }
+
+ ///
+ /// 采购商品Id
+ ///
+ [Column(StringLength = 50, IsNullable = false)]
+ public string PurchaseProductId { get; set; }
+
+ ///
+ /// 采购比例
+ ///
+ [Column(DbType = "int")]
+ public int? PurchaseRatio { get; set; } = 1;
+
+ ///
+ /// 采购商品的SkuId
+ ///
+ [Column(StringLength = 50)]
+ public string PurchaseSkuId { get; set; }
+
+ ///
+ /// 采购商品Sku的SpecId
+ ///
+ [Column(StringLength = 50)]
+ public string PurchaseSkuSpecId { get; set; }
+
+ [Column(StringLength = 50, IsNullable = false)]
+ public string SkuId { get; set; }
+
+ ///
+ /// Sku采购方案Id
+ ///
+ [Column(DbType = "bigint")]
+ public long SkuPurchaseSchemeId { get; set; }
+
+ ///
+ /// 采购方案版本
+ ///
+ [Column(DbType = "int")]
+ public int? Version { get; set; } = 1;
+
+ }
+
+}
diff --git a/BBWYB.Server.Model/Dto/Request/PurchaseOrder/CargoParamRequest.cs b/BBWYB.Server.Model/Dto/Request/PurchaseOrder/CargoParamRequest.cs
index 22bbb7b..2286220 100644
--- a/BBWYB.Server.Model/Dto/Request/PurchaseOrder/CargoParamRequest.cs
+++ b/BBWYB.Server.Model/Dto/Request/PurchaseOrder/CargoParamRequest.cs
@@ -31,6 +31,11 @@
///
public long SchemeId { get; set; }
+ ///
+ /// 采购方案版本
+ ///
+ public int? SchemeVersion { get; set; } = 1;
+
///
/// 配件的采购比例 不传值默认1
///
From f570b4c4d63bd773c2a05aecab7791004a2b5a08 Mon Sep 17 00:00:00 2001
From: shanj <18996038927@163.com>
Date: Thu, 7 Sep 2023 18:23:29 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=87=87=E8=B4=AD?=
=?UTF-8?q?=E6=96=B9=E6=A1=88=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
BBWYB.Common/Log/NLogManager.cs | 2 --
.../PurchaseOrder/PurchaseOrderBusiness.cs | 3 ++-
.../PurchaseScheme/PurchaseSchemeBusiness.cs | 7 +++++++
.../Request/QiKu/QiKuPackTaskSkuPurchaseSchemeIdRequest.cs | 5 +++++
4 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/BBWYB.Common/Log/NLogManager.cs b/BBWYB.Common/Log/NLogManager.cs
index 54c00a6..698aede 100644
--- a/BBWYB.Common/Log/NLogManager.cs
+++ b/BBWYB.Common/Log/NLogManager.cs
@@ -29,8 +29,6 @@ namespace BBWYB.Common.Log
loggerDictionary.TryAdd(loggerName, logger);
}
return logger;
-
-
}
}
}
diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
index 3ddb21a..51e2bda 100644
--- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
+++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
@@ -489,7 +489,8 @@ namespace BBWYB.Server.Business
notifyQikuPackSchemeParamList.Add(new QiKuPackTaskSkuPurchaseSchemeIdRequest()
{
SkuId = orderSku.BelongSkuId,
- SkuPurchaseSchemeId = cargoParam.SchemeId.ToString()
+ SkuPurchaseSchemeId = cargoParam.SchemeId.ToString(),
+ SchemeVersion = cargoParam.SchemeVersion ?? 1
});
}
}
diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
index 7a53413..5affc42 100644
--- a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
+++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
@@ -206,6 +206,7 @@ namespace BBWYB.Server.Business
List dbSchemeGroupList = null;
List dbPurchaseSchemeList = null;
List deleteSchemeIdList = new List();
+
#region 数据验证
if ((batchCURDSchemeRequest.EditPurchaseSchemeList == null || batchCURDSchemeRequest.EditPurchaseSchemeList.Count == 0) &&
(batchCURDSchemeRequest.AddPurchaseSchemeList == null || batchCURDSchemeRequest.AddPurchaseSchemeList.Count == 0))
@@ -338,6 +339,10 @@ namespace BBWYB.Server.Business
IInsert? insertPurchaseSchemeGroupIndex = null;
IUpdate? updatePurchaseSchemeGroupIndex = null;
+ List insertHistoryPSList = new List();
+ List insertHistoryPSPList = new List();
+ List insertHistoryPSSList = new List();
+
if (batchCURDSchemeRequest.AddPurchaseSchemeList != null && batchCURDSchemeRequest.AddPurchaseSchemeList.Count > 0)
{
@@ -423,6 +428,8 @@ namespace BBWYB.Server.Business
if (batchCURDSchemeRequest.EditPurchaseSchemeList != null && batchCURDSchemeRequest.EditPurchaseSchemeList.Count > 0)
{
ExtractNewPurchaser(batchCURDSchemeRequest.EditPurchaseSchemeList, newPurchaserList);
+ var editSchemeIdList = batchCURDSchemeRequest.EditPurchaseSchemeList.Select(ps => ps.Id).ToList();
+ List dbPurchaseSchemes = fsql.Select().Where(ps => editSchemeIdList.Contains(ps.Id)).ToList();
deletePartsSchemeIdList.AddRange(batchCURDSchemeRequest.EditPurchaseSchemeList.Select(ps => ps.Id));
foreach (var psReq in batchCURDSchemeRequest.EditPurchaseSchemeList)
diff --git a/BBWYB.Server.Model/Dto/Request/QiKu/QiKuPackTaskSkuPurchaseSchemeIdRequest.cs b/BBWYB.Server.Model/Dto/Request/QiKu/QiKuPackTaskSkuPurchaseSchemeIdRequest.cs
index 8bde0fe..08ce525 100644
--- a/BBWYB.Server.Model/Dto/Request/QiKu/QiKuPackTaskSkuPurchaseSchemeIdRequest.cs
+++ b/BBWYB.Server.Model/Dto/Request/QiKu/QiKuPackTaskSkuPurchaseSchemeIdRequest.cs
@@ -5,5 +5,10 @@
public string SkuId { get; set; }
public string SkuPurchaseSchemeId { get; set; }
+
+ ///
+ /// 采购方案版本
+ ///
+ public long? SchemeVersion { get; set; } = 1;
}
}
From bfd64ba4b34c4dfef14d3235824383109f1f3030 Mon Sep 17 00:00:00 2001
From: shanj <18996038927@163.com>
Date: Thu, 7 Sep 2023 21:30:23 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E7=BC=96=E8=BE=91/=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E9=87=87=E8=B4=AD=E6=96=B9=E6=A1=88=E4=BF=9D=E5=AD=98=E9=87=87?=
=?UTF-8?q?=E8=B4=AD=E5=8E=86=E5=8F=B2=EF=BC=8C=E4=BF=AE=E8=A1=A5=E9=87=87?=
=?UTF-8?q?=E8=B4=AD=E6=96=B9=E6=A1=88=E5=8E=86=E5=8F=B2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/DataRepairController.cs | 4 ++
.../DataRepair/DataRepairBusiness.cs | 70 ++++++++++++++++++-
.../PurchaseScheme/PurchaseSchemeBusiness.cs | 70 +++++++++++++++++--
.../history/HistoryPurchaseScheme.cs | 6 --
.../history/HistoryPurchaseSchemeProduct.cs | 6 --
.../HistoryPurchaseSchemeProductsku.cs | 5 --
BBWYB.Server.Model/MappingProfiles.cs | 8 ++-
7 files changed, 144 insertions(+), 25 deletions(-)
diff --git a/BBWYB.Server.API/Controllers/DataRepairController.cs b/BBWYB.Server.API/Controllers/DataRepairController.cs
index df6b0a4..b1b3720 100644
--- a/BBWYB.Server.API/Controllers/DataRepairController.cs
+++ b/BBWYB.Server.API/Controllers/DataRepairController.cs
@@ -70,5 +70,9 @@ namespace BBWYB.Server.API.Controllers
[HttpPost]
public void SelectBExistsAndCNotExists()
{ dataRepairBusiness.SelectBExistsAndCNotExists(); }
+
+ [HttpPost]
+ public void SyncHistoryPurchaseScheme()
+ { dataRepairBusiness.SyncHistoryPurchaseScheme();}
}
}
diff --git a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
index 49b735d..a9ab217 100644
--- a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
+++ b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
@@ -1,4 +1,5 @@
-using BBWYB.Common.Log;
+using BBWYB.Common.Extensions;
+using BBWYB.Common.Log;
using BBWYB.Common.Models;
using BBWYB.Server.Model;
using BBWYB.Server.Model.Db;
@@ -15,12 +16,14 @@ namespace BBWYB.Server.Business
private PurchaseSchemeBusiness purchaseSchemeBusiness;
private PurchaseOrderBusiness purchaseOrderBusiness;
private FreeSqlMultiDBManager freeSqlMultiDBManager;
- public DataRepairBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, KuaiDi100Manager kuaiDi100Manager, PurchaseSchemeBusiness purchaseSchemeBusiness, PurchaseOrderBusiness purchaseOrderBusiness, FreeSqlMultiDBManager freeSqlMultiDBManager) : base(fsql, nLogManager, idGenerator)
+ private VenderBusiness venderBusiness;
+ public DataRepairBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, KuaiDi100Manager kuaiDi100Manager, PurchaseSchemeBusiness purchaseSchemeBusiness, PurchaseOrderBusiness purchaseOrderBusiness, FreeSqlMultiDBManager freeSqlMultiDBManager, VenderBusiness venderBusiness) : base(fsql, nLogManager, idGenerator)
{
this.kuaiDi100Manager = kuaiDi100Manager;
this.purchaseSchemeBusiness = purchaseSchemeBusiness;
this.purchaseOrderBusiness = purchaseOrderBusiness;
this.freeSqlMultiDBManager = freeSqlMultiDBManager;
+ this.venderBusiness = venderBusiness;
}
@@ -393,5 +396,68 @@ namespace BBWYB.Server.Business
Console.WriteLine($"B端在而C端不在的数量有 {bexceptIdList.Count()}");
Console.WriteLine($"C端在而B端不在的数量有 {cexceptIdList.Count()}");
}
+
+ public void SyncHistoryPurchaseScheme()
+ {
+ var qtShops = venderBusiness.GetShopList(platform: Enums.Platform.拳探);
+ foreach (var shop in qtShops)
+ {
+ var psList = purchaseSchemeBusiness.GetPurchaseSchemeList(new QuerySchemeRequest()
+ {
+ ShopId = long.Parse(shop.ShopId)
+ });
+
+ List insertHistoryPSList = new List();
+ List insertHistoryPSPList = new List();
+ List insertHistoryPSSList = new List();
+ //List updatePurchaseSchemeIdList = new List();
+
+ foreach (var ps in psList)
+ {
+ //var newVersion = ps.Version + 1;
+ var newVersion = ps.Version;
+ foreach (var psp in ps.PurchaseSchemeProductList)
+ {
+ foreach (var pss in psp.PurchaseSchemeProductSkuList)
+ {
+ #region 处理历史版本
+ var historyPss = psp.Map();
+ historyPss.HistoryId = idGenerator.NewLong();
+ historyPss.Version = newVersion;
+ insertHistoryPSSList.Add(historyPss);
+ #endregion
+ }
+ #region 处理历史版本
+ var historyPsp = psp.Map();
+ historyPsp.HistoryId = idGenerator.NewLong();
+ historyPsp.Version = newVersion;
+ insertHistoryPSPList.Add(historyPsp);
+ #endregion
+ }
+
+ #region 处理历史版本
+ var historyPs = ps.Map();
+ historyPs.HistoryId = idGenerator.NewLong();
+ historyPs.Version = newVersion;
+ insertHistoryPSList.Add(historyPs);
+
+ //updatePurchaseSchemeIdList.Add(ps.Id);
+ #endregion
+ }
+
+
+ fsql.Transaction(() =>
+ {
+ if (insertHistoryPSList.Count() > 0)
+ fsql.Insert(insertHistoryPSList).ExecuteAffrows();
+ if (insertHistoryPSPList.Count() > 0)
+ fsql.Insert(insertHistoryPSPList).ExecuteAffrows();
+ if (insertHistoryPSSList.Count() > 0)
+ fsql.Insert(insertHistoryPSSList).ExecuteAffrows();
+ //if (updatePurchaseSchemeIdList.Count() > 0)
+ // fsql.Update(updatePurchaseSchemeIdList).Set(ps => ps.Version + 1).ExecuteAffrows();
+ });
+ }
+ }
}
}
diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
index 5affc42..b9b324b 100644
--- a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
+++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
@@ -340,8 +340,8 @@ namespace BBWYB.Server.Business
IUpdate? updatePurchaseSchemeGroupIndex = null;
List insertHistoryPSList = new List();
- List insertHistoryPSPList = new List();
- List insertHistoryPSSList = new List();
+ List insertHistoryPSPList = new List();
+ List insertHistoryPSSList = new List();
if (batchCURDSchemeRequest.AddPurchaseSchemeList != null && batchCURDSchemeRequest.AddPurchaseSchemeList.Count > 0)
@@ -400,7 +400,8 @@ namespace BBWYB.Server.Business
ShopId = psReq.ShopId,
HYBDId = psReq.HYBDId,
HYSchemeId = psReq.HYSchemeId,
- SchemeGroupId = psReq.SchemeGroupId ?? 0
+ SchemeGroupId = psReq.SchemeGroupId ?? 0,
+ Version = 1
};
addPurchaseSchemeList.Add(ps);
foreach (var pspReq in psReq.PurchaseSchemeProductList)
@@ -419,8 +420,28 @@ namespace BBWYB.Server.Business
pss.SkuPurchaseSchemeId = ps.Id;
addPurchaseSchemeProductSkuList.Add(pss);
ps.DefaultCost += ((pssReq.ActualPrice ?? pssReq.DefaultPrice) ?? 0) * (pssReq.PurchaseRatio ?? 1);
+
+ #region 处理历史版本
+ var historyPss = psp.Map();
+ historyPss.HistoryId = idGenerator.NewLong();
+ historyPss.Version = 1;
+ insertHistoryPSSList.Add(historyPss);
+ #endregion
}
+
+ #region 处理历史版本
+ var historyPsp = psp.Map();
+ historyPsp.HistoryId = idGenerator.NewLong();
+ historyPsp.Version = 1;
+ insertHistoryPSPList.Add(historyPsp);
+ #endregion
}
+
+ #region 处理历史版本
+ var historyPs = ps.Map();
+ historyPs.HistoryId = idGenerator.NewLong();
+ insertHistoryPSList.Add(historyPs);
+ #endregion
}
}
@@ -435,6 +456,10 @@ namespace BBWYB.Server.Business
foreach (var psReq in batchCURDSchemeRequest.EditPurchaseSchemeList)
{
var schemeId = psReq.Id;
+ var dbps = dbPurchaseSchemes.FirstOrDefault(x => x.Id == schemeId);
+ if (dbps == null)
+ throw new BusinessException($"未找到编辑方案{schemeId}");
+ var newVersion = dbps.Version + 1; //采购方案版本
var defaultCost = 0M;
foreach (var pspReq in psReq.PurchaseSchemeProductList)
{
@@ -452,13 +477,43 @@ namespace BBWYB.Server.Business
pss.SkuPurchaseSchemeId = schemeId;
addPurchaseSchemeProductSkuList.Add(pss);
defaultCost += ((pssReq.ActualPrice ?? pssReq.DefaultPrice) ?? 0) * (pssReq.PurchaseRatio ?? 1);
+
+ #region 处理历史版本
+ var historyPss = pssReq.Map();
+ historyPss.HistoryId = idGenerator.NewLong();
+ historyPss.CreateTime = DateTime.Now;
+ historyPss.SkuPurchaseSchemeId = schemeId;
+ historyPss.Version = newVersion;
+ insertHistoryPSSList.Add(historyPss);
+ #endregion
}
+
+ #region 处理历史版本
+ var historyPsp = pspReq.Map();
+ historyPsp.HistoryId = idGenerator.NewLong();
+ historyPsp.CreateTime = DateTime.Now;
+ historyPsp.SkuPurchaseSchemeId = schemeId;
+ historyPsp.Version = newVersion;
+ insertHistoryPSPList.Add(historyPsp);
+ #endregion
}
var psupdate = fsql.Update(schemeId)
.Set(ps => ps.DefaultCost, defaultCost)
.Set(ps => ps.HYSchemeId, psReq.HYSchemeId)
- .Set(ps => ps.HYBDId, psReq.HYBDId);
+ .Set(ps => ps.HYBDId, psReq.HYBDId)
+ .Set(ps => ps.Version, newVersion);
updatePurchaseSchemeList.Add(psupdate);
+
+ #region 处理历史版本
+ var historyPs = psReq.Map();
+ historyPs.LastPurchaseTime = dbps.LastPurchaseTime;
+ historyPs.LastPurchasePriceCost = dbps.LastPurchasePriceCost;
+ historyPs.DefaultCost = defaultCost;
+ historyPs.CreateTime = DateTime.Now;
+ historyPs.Version = newVersion;
+ historyPs.HistoryId = idGenerator.NewLong();
+ insertHistoryPSList.Add(historyPs);
+ #endregion
}
}
#endregion
@@ -497,6 +552,13 @@ namespace BBWYB.Server.Business
}
insertPurchaseSchemeGroupIndex?.ExecuteAffrows();
updatePurchaseSchemeGroupIndex?.ExecuteAffrows();
+
+ if (insertHistoryPSList.Count() > 0)
+ fsql.Insert(insertHistoryPSList).ExecuteAffrows();
+ if (insertHistoryPSPList.Count() > 0)
+ fsql.Insert(insertHistoryPSPList).ExecuteAffrows();
+ if (insertHistoryPSSList.Count() > 0)
+ fsql.Insert(insertHistoryPSSList).ExecuteAffrows();
});
//删除信息残缺的采购方案
diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseScheme.cs b/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseScheme.cs
index d9798b2..fa4f370 100644
--- a/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseScheme.cs
+++ b/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseScheme.cs
@@ -57,12 +57,6 @@ namespace BBWYB.Server.Model.Db
[Column(StringLength = 50, IsNullable = false)]
public string ProductId { get; set; }
- ///
- /// 采购商Id
- ///
- [Column(StringLength = 20)]
- public string PurchaserId { get; set; }
-
///
/// 方案分组Id
///
diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProduct.cs b/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProduct.cs
index 982cc45..86cab85 100644
--- a/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProduct.cs
+++ b/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProduct.cs
@@ -18,12 +18,6 @@ namespace BBWYB.Server.Model.Db
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
- ///
- /// 采购商品流水Id
- ///
- [Column(DbType = "bigint")]
- public long? Id { get; set; }
-
[Column(StringLength = 50)]
public string ProductId { get; set; }
diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProductsku.cs b/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProductsku.cs
index 95eba67..78c6cb2 100644
--- a/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProductsku.cs
+++ b/BBWYB.Server.Model/Db/PurchaseScheme/history/HistoryPurchaseSchemeProductsku.cs
@@ -24,11 +24,6 @@ namespace BBWYB.Server.Model.Db
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
- ///
- /// 采购sku流水Id
- ///
- [Column(DbType = "bigint")]
- public long? Id { get; set; }
[Column(StringLength = 50, IsNullable = false)]
public string ProductId { get; set; }
diff --git a/BBWYB.Server.Model/MappingProfiles.cs b/BBWYB.Server.Model/MappingProfiles.cs
index 65112b1..d3b3542 100644
--- a/BBWYB.Server.Model/MappingProfiles.cs
+++ b/BBWYB.Server.Model/MappingProfiles.cs
@@ -50,8 +50,12 @@ namespace BBWYB.Server.Model
.ForPath(t => t.OrderCost.PurchaseFreight, opt => opt.MapFrom(f => f.PurchaseFreight));
CreateMap();
- //CreateMap();
-
+ CreateMap();
+ CreateMap();
+ CreateMap();
+ CreateMap();
+ CreateMap();
+ CreateMap();
}
}
}
From 866f757ac4ef886de7ae8164e23c56b6cc0c063e Mon Sep 17 00:00:00 2001
From: shanj <18996038927@163.com>
Date: Thu, 7 Sep 2023 21:31:34 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E9=A6=96=E6=AC=A1=E4=BF=AE=E5=A4=8D?=
=?UTF-8?q?=E9=87=87=E8=B4=AD=E7=89=88=E6=9C=AC=E4=B8=8D=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?version?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
index a9ab217..14d12b6 100644
--- a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
+++ b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
@@ -410,7 +410,7 @@ namespace BBWYB.Server.Business
List insertHistoryPSList = new List();
List insertHistoryPSPList = new List();
List insertHistoryPSSList = new List();
- //List updatePurchaseSchemeIdList = new List();
+
foreach (var ps in psList)
{