diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index d5c1d4ea..9a491c92 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -174,7 +174,9 @@ namespace BBWY.Server.Business var orderIdList = orderList.Select(o => o.Id).ToList(); #region 处理代发信息 - var orderDropShippingList = fsql.Select().Where(ods => orderIdList.Contains(ods.OrderId)).ToList().Map>(); + var orderDropShippingList = fsql.Select().Where(ods => orderIdList.Contains(ods.OrderId) && ods.IsHistory == false) + .ToList() + .Map>(); foreach (var order in orderList) order.OrderDropShippingList = orderDropShippingList.Where(ods => ods.OrderId == order.Id).ToList(); #endregion @@ -296,7 +298,7 @@ namespace BBWY.Server.Business StorageAmount = g.Sum(g.Value.StorageAmount), PurchaseFreight = g.Sum(g.Value.PurchaseFreight) }); - var orderDropShippingList = fsql.Select().Where(ods => orderIdList.Contains(ods.OrderId)).ToList(); + var orderDropShippingList = fsql.Select().Where(ods => orderIdList.Contains(ods.OrderId) && ods.IsHistory == false).ToList(); foreach (var order in orderSourceList) { @@ -327,7 +329,7 @@ namespace BBWY.Server.Business var orderSkuList = fsql.Select().Where(osku => osku.OrderId == orderId).ToList().Map>(); var orderCouponList = fsql.Select().Where(oc => oc.OrderId == orderId).ToList().Map>(); var orderCostDetailList = fsql.Select().Where(ocd => ocd.OrderId == orderId && ocd.IsEnabled == true).ToList().Map>(); - var orderDropShippingList = fsql.Select().Where(ods => ods.OrderId == orderId).ToList().Map>(); + var orderDropShippingList = fsql.Select().Where(ods => ods.OrderId == orderId && ods.IsHistory == false).ToList().Map>(); if (order.IsAfterSaleOrder) orderResponse.AfterSaleOrderList = fsql.Select().Where(aso => aso.OrderId == orderId).ToList(); diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index efdf2997..b8f2f543 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -136,6 +136,12 @@ namespace BBWY.Server.Business if (dbOrder.OrderState != Model.Enums.OrderState.等待采购) throw new BusinessException("只能为等待采购的订单进行采购"); + var oldPourchaseIdList = fsql.Select().Where(ocd => ocd.OrderId == dbOrder.Id) + .ToList(ocd => ocd.PurchaseOrderPKId); + + var deletePurchaseOrder = fsql.Delete().Where(po => oldPourchaseIdList.Contains(po.Id)); + var deleteOrderCostDetail = fsql.Delete().Where(ocd => ocd.OrderId == dbOrder.Id); + #region 合并重复的采购sku var repeatPurchaseSkuGroups = createOnlinePurchaseOrderRequest.CargoParamList.GroupBy(p => p.SkuId).ToList(); foreach (var group in repeatPurchaseSkuGroups) @@ -301,6 +307,10 @@ namespace BBWY.Server.Business fsql.Transaction(() => { + deletePurchaseOrder.ExecuteAffrows(); + deleteOrderCostDetail.ExecuteAffrows(); + fsql.Update().Set(ods => ods.IsHistory, true).Where(ods => ods.OrderId == createOnlinePurchaseOrderRequest.OrderId).ExecuteAffrows(); + fsql.Insert(insertPurchaseOrders).ExecuteAffrows(); fsql.Insert(insertPurchaseOrderDetails).ExecuteAffrows(); fsql.Insert(insertOrderCostDetails).ExecuteAffrows(); diff --git a/BBWY.Server.Model/Db/Order/OrderDropShipping.cs b/BBWY.Server.Model/Db/Order/OrderDropShipping.cs index eff54f94..7c3dd2e0 100644 --- a/BBWY.Server.Model/Db/Order/OrderDropShipping.cs +++ b/BBWY.Server.Model/Db/Order/OrderDropShipping.cs @@ -84,6 +84,8 @@ namespace BBWY.Server.Model.Db /// public long? ShopId { get; set; } + [Column(DbType = "bit")] + public bool IsHistory { get; set; } = false; } } diff --git a/BBWY.Test/Program.cs b/BBWY.Test/Program.cs index f9945b31..593992b5 100644 --- a/BBWY.Test/Program.cs +++ b/BBWY.Test/Program.cs @@ -26,10 +26,10 @@ namespace BBWY.Test { var appkey = "120EA9EC65AB017567D78CC1139EEEA5"; var appSecret = "866a9877f5f24b03b537483b4defe75d"; - var token = "e3bb89d1dcf6461fae2f197dfc5d6d68niyj";//"2ace3023200c4ea9aa682bbf8bffee18jztm"; + var token = "2ace3023200c4ea9aa682bbf8bffee18jztm";//"2ace3023200c4ea9aa682bbf8bffee18jztm"; - var startDate = DateTime.Parse("2022-09-29"); - var endDate = DateTime.Parse("2022-09-29"); + var startDate = DateTime.Parse("2022-07-06"); + var endDate = DateTime.Parse("2022-10-05"); var jdClient = GetJdClient(appkey, appSecret); var req = new DspPlatformFinanceOpenapiQuerycostdetailsRequest();