修复包裹拒收功能报错

This commit is contained in:
wule committed 2026-10-29 20:00:14 +08:00
1 parent 679bd39144
commit 430bf8d574
5 files changed
+77 -11

No files matched your search

@@ -296,7 +296,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
public void AutoGetOrder()
{
Task.Run(() =>
Task.Run(async () =>
{
//Thread.Sleep(5000);
while (true)
@@ -318,7 +318,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
btnSearch.Content = "读单";
}));
GetOrder();
await GetOrder();
nextGetOrderTime = DateTime.Now.AddMinutes(25);
}
Thread.Sleep(1000);
@@ -554,7 +554,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
else
item.ItemTransitOrders.AddRange(transitOrderList.Where(t => t.order_no == item.order_id));
// 中转仓退货包裹订单
if (item.order_id == "3740040052771291904")
if (item.order_id == "3740137835668615168")
{
}
@@ -575,6 +575,11 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
// 装载订单售后详情
order.refundItems = new ObservableCollection<oms_wei_refund_info>(refunds.Where(of => of.order_id == order.order_id));
if (order.order_id.Contains("3740137835668615168"))
{
var x = order.orderItems.FirstOrDefault();
}
// 装载同步单
order.SyncLogisticsList = [.. syncLogistics.Where(os => order.orderItems.Any(oi => oi.DirectPddBuyerOrders.Any(od => od.order_sn == os.order_id))),];
if (order.SyncLogisticsList.Count > 0)
@@ -582,12 +587,6 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
if (order.order_id.Contains("3738794693820307200"))
{
}
// 装载订单物流最后一条信息
order.latestEWaybills = [.. ewaybillLst.Where(ew => ew.order_id == order.order_id.ParseToLong())];
@@ -1252,7 +1252,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
try
{
BaseMsgWindow.ShowInfo(await RejectTransitOrder(orderItem, orderItem.ItemTransitOrder));
var transitOrder = orderItem.ItemTransitOrder ?? orderItem.ItemTransitOrderWithVoid;
BaseMsgWindow.ShowInfo(await RejectTransitOrder(orderItem, transitOrder));
}
catch (Exception ex)
{
@@ -1304,7 +1305,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
orderItem.PddBuyerOrders.AddRange(OrderListCtrl.GetTbBuyerOrders(orderItem.order_id).Where(o => o.wx_send_type == 0).ToList());
OrderListCtrl.InitOrderItemObservableProp(orderItem);
var itemTransitOrder = orderItem.ItemTransitOrders.FirstOrDefault(o => o.order_code == _itemTransitOrder.order_code && o.out_order_no == _itemTransitOrder.out_order_no);
var itemTransitOrder = orderItem.ItemTransitOrders.FirstOrDefault(o => o.order_code == _itemTransitOrder?.order_code && o.out_order_no == _itemTransitOrder?.out_order_no);
if (itemTransitOrder == null)
itemTransitOrder = _itemTransitOrder;
@@ -27,6 +27,11 @@ public partial class OrderTransitListCtrl : UserControl
{
InitializeComponent();
UpdateViewModel(transitInfo);
}
public void UpdateViewModel(oms_wei_order_item_transit_info transitInfo)
{
ViewModel = new OrderTransitListCtrlViewModel(transitInfo);
ViewModel.RequestClose += ViewModel_RequestClose;
@@ -292,6 +292,19 @@
VerticalAlignment="Center"
Orientation="Vertical"
VerticalSpacing="5">
<Button
x:Name="btnVoidPackage"
MinWidth="38"
MinHeight="20"
Margin="0,0,0,0"
Padding="2"
HorizontalAlignment="Center"
d:Visibility="Visible"
Click="btnVoidPackage_Click"
Style="{StaticResource BasePageButtonLightStyle}"
Visibility="{Binding VoidPackageBtnVisibility}">
作废包裹
</Button>
<Button
x:Name="btnAddEditTransitWarehouseReject_New"
MinWidth="38"
@@ -1,4 +1,5 @@
using _29WxOrderWpf.BaseWindows;
using AllBase.Helper;
using AllBase.Model.DBModel;
using System;
using System.Collections.Generic;
@@ -27,6 +28,13 @@ public partial class OrderTransitListDetailCtrl : UserControl
InitializeComponent();
}
/// <summary> 作废包裹 </summary>
private void btnVoidPackage_Click(object sender, RoutedEventArgs e)
{
}
/// <summary> 拒收包裹 </summary>
private async void btnAddEditTransitWarehouseReject_Click(object sender, RoutedEventArgs e)
{
if (this.DataContext is oms_wei_order_item_transit_detail_info transitDetailInfo)
@@ -36,6 +44,7 @@ public partial class OrderTransitListDetailCtrl : UserControl
var returnOrder = transitDetailInfo.oms_wei_external_procurement_after_sale_info;
var extOrder = transitDetailInfo.oms_wei_transfer_extra_package;
// 拒收发货包裹
if (transitOrder != null)
{
try
@@ -46,6 +55,22 @@ public partial class OrderTransitListDetailCtrl : UserControl
{
BaseMsgWindow.ShowError(ex.Message);
}
}
// 拒收额外包裹(额外包裹暂不支持多件商品发货,故暂不存在拒收功能)
else if (extOrder != null)
{
}
// 更新列表
if (FindParent<OrderTransitListCtrl>(this) is OrderTransitListCtrl transitListCtrl)
{
oms_wei_order_item_transit_info transitInfo = new oms_wei_order_item_transit_info()
{
OrderItem = GlobalConfig.lstOrder.FirstOrDefault(o => o.order_id == orderItem.order_id)?.orderItems.FirstOrDefault(oi => oi.sku_id == orderItem.sku_id),
};
transitListCtrl.UpdateViewModel(transitInfo);
}
}
}
@@ -59,4 +84,27 @@ public partial class OrderTransitListDetailCtrl : UserControl
{
}
/// <summary>
/// 查找指定类型的父级控件
/// </summary>
/// <typeparam name="T">目标父控件类型</typeparam>
/// <param name="child">起始子控件</param>
/// <returns>找到的父控件,未找到则返回 null</returns>
public static T FindParent<T>(DependencyObject child) where T : DependencyObject
{
DependencyObject parentObject = VisualTreeHelper.GetParent(child);
if (parentObject == null) return null;
if (parentObject is T parent)
{
return parent;
}
else
{
// 递归继续向上查找
return FindParent<T>(parentObject);
}
}
}