diff --git a/BBWYB.Client/Views/Order/OrderList.xaml.cs b/BBWYB.Client/Views/Order/OrderList.xaml.cs
index d0f7e38..999a77e 100644
--- a/BBWYB.Client/Views/Order/OrderList.xaml.cs
+++ b/BBWYB.Client/Views/Order/OrderList.xaml.cs
@@ -19,7 +19,7 @@ namespace BBWYB.Client.Views.Order
{
this.Dispatcher.Invoke(() =>
{
- scrollviewer_OrderList.Dispatcher.Invoke(() => scrollviewer_OrderList.ScrollToTop());
+ scrollviewer_OrderList.Dispatcher?.Invoke(() => scrollviewer_OrderList.ScrollToTop());
});
});
}
diff --git a/BBWYB.Client/Views/WebB/WebB.xaml.cs b/BBWYB.Client/Views/WebB/WebB.xaml.cs
index a4ae4c4..90bd88a 100644
--- a/BBWYB.Client/Views/WebB/WebB.xaml.cs
+++ b/BBWYB.Client/Views/WebB/WebB.xaml.cs
@@ -23,6 +23,14 @@ namespace BBWYB.Client.Views.WebB
{
InitializeComponent();
this.Loaded += WebB_Loaded;
+ this.Unloaded += WebB_Unloaded;
+ }
+
+ private void WebB_Unloaded(object sender, RoutedEventArgs e)
+ {
+ grid.Children.Remove(w2m.wb2);
+ //w2m.wb2.Dispose();
+ w2m.Close();
}
private void WebB_Loaded(object sender, System.Windows.RoutedEventArgs e)
@@ -48,6 +56,7 @@ namespace BBWYB.Client.Views.WebB
w2m.Init();
w2m.wb2.SetValue(Grid.RowProperty, 1);
w2m.wb2.Margin = new Thickness(1, 0, 1, 0);
+ //grid.Children.Clear();
grid.Children.Add(w2m.wb2);
if (w2m.IsInitializationCompleted && !isNavigated)
diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
index 5b887d4..847fe46 100644
--- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
+++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
@@ -71,6 +71,12 @@ namespace BBWYB.Server.Business
return orderProductParamList;
}
+ ///
+ /// 预览采购单
+ ///
+ ///
+ ///
+ ///
public PreviewOrderResponse PreviewPurchaseOrder(PreviewOrderRequest request)
{
nLogManager.Default().Info($"PreviewPurchaseOrder {JsonConvert.SerializeObject(request)}");
@@ -145,6 +151,11 @@ namespace BBWYB.Server.Business
};
}
+ ///
+ /// 创建采购单
+ ///
+ ///
+ ///
public void CreatePurchaseOrder(CreateOrderRequest request)
{
nLogManager.Default().Info($"CreatePurchaseOrder\r\n{JsonConvert.SerializeObject(request)}");
@@ -304,6 +315,7 @@ namespace BBWYB.Server.Business
PurchaseMethod = Enums.PurchaseMethod.线上采购,
PurchaseOrderId = createOrderResponse.OrderId,
PurchasePlatform = cargoParamGroup.PurchasePlatform,
+ PurchaserId = cargoParamGroup.PurchaserId,
PurchaserName = cargoParamGroup.PurchaserName,
ShopId = request.ShopId,
BelongSkuIds = string.Join(",", belongSkuGroups.Select(bsg => bsg.Key))
@@ -373,6 +385,52 @@ namespace BBWYB.Server.Business
});
}
+ ///
+ /// 获取关联订单列表
+ ///
+ ///
+ ///
+ public IList GetAssociationPurchaseOrderList(string orderId)
+ {
+ IList list = new List();
+ var purchaseOrderList = fsql.Select().Where(opi => opi.OrderId == orderId).ToList();
+ var orderSkuList = fsql.Select().Where(osku => osku.OrderId == orderId).ToList();
+ var orderCostDetailList = fsql.Select().Where(ocd => ocd.OrderId == orderId).ToList();
+
+ foreach (var purchaseOrder in purchaseOrderList)
+ {
+ var associationPurchaseOrder = new AssociationPurchaseOrderResponse()
+ {
+ PurchaseAccountId = purchaseOrder.PurchaseAccountId,
+ PurchaseAccountName = purchaseOrder.PurchaseAccountName,
+ PurchasePlatform = purchaseOrder.PurchasePlatform.Value,
+ PurchaserId = purchaseOrder.PurchaserId,
+ PurchaserName = purchaseOrder.PurchaserName,
+ PurchaserOrderId = purchaseOrder.PurchaseOrderId
+ };
+ var currentOrderCostDetailList = orderCostDetailList.Where(ocd => ocd.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList();
+ foreach (var orderCostDetail in currentOrderCostDetailList)
+ {
+ var orderSku = orderSkuList.FirstOrDefault(osku => osku.SkuId == orderCostDetail.SkuId);
+ var assocationOrderCostDetail = new AssocationOrderCostDetailResponse()
+ {
+ Id = orderCostDetail.Id,
+ Logo = orderSku.Logo,
+ Title = orderSku.Title,
+ OrderId = orderSku.OrderId,
+ SkuId = orderSku.SkuId,
+ PurchaseQuantity = orderCostDetail.DeductionQuantity ?? 0,
+ PurchaseFreight = orderCostDetail.PurchaseFreight ?? 0M,
+ SkuAmount = orderCostDetail.SkuAmount ?? 0M,
+ };
+ if (assocationOrderCostDetail.PurchaseQuantity != 0)
+ assocationOrderCostDetail.PurchasePrice = assocationOrderCostDetail.SkuAmount / assocationOrderCostDetail.PurchaseQuantity;
+ }
+ list.Add(associationPurchaseOrder);
+ }
+ return list;
+ }
+
#region 1688CallBack
public void CallbackFrom1688(string jsonStr)
{
diff --git a/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs b/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs
index fdeb97a..0e0e21c 100644
--- a/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs
+++ b/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs
@@ -39,6 +39,12 @@ namespace BBWYB.Server.Model.Db
[Column(MapType = typeof(int?))]
public Enums.Platform? PurchasePlatform { get; set; }
+ ///
+ /// ɹId
+ ///
+ [Column(StringLength = 100)]
+ public string PurchaserId { get; set; }
+
///
/// ɹ
///
diff --git a/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssocationOrderCostDetailResponse.cs b/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssocationOrderCostDetailResponse.cs
new file mode 100644
index 0000000..164f6c9
--- /dev/null
+++ b/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssocationOrderCostDetailResponse.cs
@@ -0,0 +1,44 @@
+namespace BBWYB.Server.Model.Dto
+{
+ public class AssocationOrderCostDetailResponse
+ {
+ ///
+ /// SKU成本Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// 订单Id
+ ///
+ public string OrderId { get; set; }
+
+ public string SkuId { get; set; }
+
+ ///
+ /// SKU标题
+ ///
+ public string Title { get; set; }
+
+ public string Logo { get; set; }
+
+ ///
+ /// 采购货款
+ ///
+ public decimal SkuAmount { get; set; }
+
+ ///
+ /// 采购运费
+ ///
+ public decimal PurchaseFreight { get; set; }
+
+ ///
+ /// 采购数量
+ ///
+ public int PurchaseQuantity { get; set; }
+
+ ///
+ /// 采购单价
+ ///
+ public decimal PurchasePrice { get; set; }
+ }
+}
diff --git a/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs b/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs
new file mode 100644
index 0000000..fdf95b0
--- /dev/null
+++ b/BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs
@@ -0,0 +1,53 @@
+namespace BBWYB.Server.Model.Dto
+{
+ public class AssociationPurchaseOrderResponse
+ {
+ public AssociationPurchaseOrderResponse()
+ {
+ AssocationOrderCostDetailList = new List();
+ }
+
+ ///
+ /// 采购单号
+ ///
+ public string PurchaserOrderId { get; set; }
+
+ public Enums.Platform PurchasePlatform { get; set; }
+
+ ///
+ /// 买家账号Id (如果采购平台为不支持的平台,此Id可填空)
+ ///
+ public string PurchaseAccountId { get; set; }
+
+ ///
+ /// 买家账号
+ ///
+ public string PurchaseAccountName { get; set; }
+
+
+ ///
+ /// 商家Id
+ ///
+ public string PurchaserId { get; set; }
+
+ ///
+ /// 商家名称
+ ///
+ public string PurchaserName { get; set; }
+
+ ///
+ /// 采购金额
+ ///
+ public decimal PurchaseAmount { get; set; }
+
+ ///
+ /// 采购运费
+ ///
+ public decimal PurchaseFreight { get; set; }
+
+ ///
+ /// 订单成本明细列表
+ ///
+ public IList AssocationOrderCostDetailList { get; set; }
+ }
+}