diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs index d4bfee6..a78fe59 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs @@ -1686,13 +1686,13 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls }); } - public void FilterOneOrder(string orderId, bool updateTabCount = false) + public async Task FilterOneOrder(string orderId, bool updateTabCount = false) { var orderExist = GlobalConfig.lstFilterOrder.ToList().FirstOrDefault(o => o.order_id == orderId); - FilterOneOrder(orderExist, updateTabCount); + await FilterOneOrder(orderExist, updateTabCount); } - public void FilterOneOrder(oms_wei_order_info order, bool updateTabCount = false) + public async Task FilterOneOrder(oms_wei_order_info order, bool updateTabCount = false) { if (order == null) return; @@ -1717,23 +1717,24 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls if (!GetOrderIsFilter(order)) { - var index = -1; - oms_wei_order_info nextOrder = null; - lock (MainWindow._orderLock) - { - if (GlobalConfig.OrderTabHeaderStr.StartsWith("需处理售后单") || GlobalConfig.OrderTabHeaderStr.StartsWith("退货仓自动售后单")) - nextOrder = GlobalConfig.lstFilterOrder.ToList().FirstOrDefault(o => o.RefundDatetime < order.RefundDatetime); - else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常需重拍")) - nextOrder = GlobalConfig.lstFilterOrder.ToList().FirstOrDefault(o => o.update_time < order.update_time); - else - nextOrder = GlobalConfig.lstFilterOrder.ToList().FirstOrDefault(o => o.create_time < order.create_time); - } - if (nextOrder != null) - index = GlobalConfig.lstFilterOrder.IndexOf(nextOrder); - Dispatcher.InvokeAsync(() => + await Dispatcher.InvokeAsync(() => { lock (MainWindow._orderLock) { + var index = -1; + oms_wei_order_info nextOrder = null; + //lock (MainWindow._orderLock) + { + if (GlobalConfig.OrderTabHeaderStr.StartsWith("需处理售后单") || GlobalConfig.OrderTabHeaderStr.StartsWith("退货仓自动售后单")) + nextOrder = GlobalConfig.lstFilterOrder.FirstOrDefault(o => o.RefundDatetime < order.RefundDatetime); + else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常需重拍")) + nextOrder = GlobalConfig.lstFilterOrder.FirstOrDefault(o => o.update_time < order.update_time); + else + nextOrder = GlobalConfig.lstFilterOrder.FirstOrDefault(o => o.create_time < order.create_time); + } + if (nextOrder != null) + index = GlobalConfig.lstFilterOrder.IndexOf(nextOrder); + if (nextOrder != null && index >= 0 && GlobalConfig.lstFilterOrder.Count > index) { GlobalConfig.lstFilterOrder.Insert(index, order); @@ -1749,7 +1750,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls if (updateTabCount) { - disPlayOrderTabOrderCount(); + await disPlayOrderTabOrderCount(); } } diff --git a/AllBase/Model/DBModel/oms_wei_order_item_info.cs b/AllBase/Model/DBModel/oms_wei_order_item_info.cs index 6e17c6b..33f62c2 100644 --- a/AllBase/Model/DBModel/oms_wei_order_item_info.cs +++ b/AllBase/Model/DBModel/oms_wei_order_item_info.cs @@ -1531,10 +1531,16 @@ namespace AllBase.Model.DBModel get { return this.GetValue(x => x.BtnDirectBuyOrderVisibility); } set { this.SetValue(x => x.BtnDirectBuyOrderVisibility, value); } } + public bool? _itemOrderIsAbnormal { get; set; } = false; + public bool? _itemOrderIsWaitBuy { get; set; } = false; public void SetAbnormalAndDirectBtnVisibility() { - bool? _itemOrderIsAbnormal = ItemOrder?.GetIsAbnormal(); - bool? _itemOrderIsWaitBuy = ItemOrder?.GetIsWaitBuy(); + _itemOrderIsAbnormal = ItemOrder?.GetIsAbnormal(); + if (ItemOrder != null) + ItemOrder.IsAbnormal = _itemOrderIsAbnormal == true; + _itemOrderIsWaitBuy = ItemOrder?.GetIsWaitBuy(); + if (ItemOrder != null) + ItemOrder.IsWaitBuy = _itemOrderIsWaitBuy == true; // 买手秒退异常重拍 var _btnAbnormalOrderRebuyVisibility = Visibility.Visible; @@ -1914,7 +1920,7 @@ namespace AllBase.Model.DBModel } /// - /// 判断中转仓订单是否可以异常重拍 + /// 判断中转仓订单是否可以异常重拍(拍单时用,初始化数据时候返回的数据是错的) /// /// /// diff --git a/AllBase/Model/DBModel/oms_wei_order_item_transit_model.cs b/AllBase/Model/DBModel/oms_wei_order_item_transit_model.cs index 390c168..9b1dcbb 100644 --- a/AllBase/Model/DBModel/oms_wei_order_item_transit_model.cs +++ b/AllBase/Model/DBModel/oms_wei_order_item_transit_model.cs @@ -196,10 +196,11 @@ public class oms_wei_order_item_transit_model : PropertyNotifyObject !OrderItem.ItemTransitOrderAfterSales.Any(af => af.pack_type == 1 && af.order_code == transitDetail.OrderCode && af.order_void_status != 1) && !OrderItem.ItemTransitExtraOrders.Any(af => af.pack_type == "1" && af.order_code == transitDetail.OrderCode && af.order_void_status != 1) ? Visibility.Visible : Visibility.Collapsed; /* 拦截退货包裹按钮 */ - transitDetail.ExtraPackagesBtnVisibility = (transitOrder.warehouse_status == 0 || transitOrder.warehouse_status == 1 || transitOrder.warehouse_status == 3 || !transitOrder.location_code.IsNullOrEmpty()) && + transitDetail.ExtraPackagesBtnVisibility = ((transitOrder.warehouse_status == 0 || transitOrder.warehouse_status == 1 || transitOrder.warehouse_status == 3 || !transitOrder.location_code.IsNullOrEmpty()) && !(transitDetail.CreateTime > DateTime.Now.AddDays(-2)) && !OrderItem.ItemTransitOrderAfterSales.Any(af => af.pack_type == 1 && af.order_code == transitDetail.OrderCode && af.order_void_status != 1) && - !OrderItem.ItemTransitExtraOrders.Any(af => af.pack_type == "1" && af.order_code == transitDetail.OrderCode && af.order_void_status != 1) ? + !OrderItem.ItemTransitExtraOrders.Any(af => af.pack_type == "1" && af.order_code == transitDetail.OrderCode && af.order_void_status != 1)) || + OrderItem._itemOrderIsAbnormal == true ? Visibility.Visible : Visibility.Collapsed; /* 额外发货包裹按钮 */ diff --git a/Work/_29Tools/Forms/PddMobileBuyOrderForm.cs b/Work/_29Tools/Forms/PddMobileBuyOrderForm.cs index d807ce2..45ffc90 100644 --- a/Work/_29Tools/Forms/PddMobileBuyOrderForm.cs +++ b/Work/_29Tools/Forms/PddMobileBuyOrderForm.cs @@ -91,7 +91,7 @@ namespace TemuKJD.ToolForms // 订单仓库 private TransitWarehouseParam transitWarehouse = null; // (拍单后)回调函数,过滤订单 - private Action filterOrderAction = null; + private Func filterOrderAction = null; // (拍单后)回调函数,更新拍单余额 private Action updateBalanceAction = null; @@ -131,7 +131,7 @@ namespace TemuKJD.ToolForms bool HasChangeAddress = false; - public PddMobileBuyOrderForm(Action filterOrder, Action updateBalance, oms_wei_order_item_info orderItemInfo, BuyerLoginInfo buyerInfo, WXBuyMapInfo buy_map = null) + public PddMobileBuyOrderForm(Func filterOrder, Action updateBalance, oms_wei_order_item_info orderItemInfo, BuyerLoginInfo buyerInfo, WXBuyMapInfo buy_map = null) { InitializeComponent();