From 5721d0f7f3b181c6cafed8bd80f1f7b5fb56196e Mon Sep 17 00:00:00 2001 From: wule Date: Mon, 24 Aug 2026 20:37:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AF=BB=E5=8D=95=E5=8D=A1?= =?UTF-8?q?=E9=A1=BF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ctrls/OrderCtrls/OrderListCtrl.xaml | 2 +- .../Ctrls/OrderCtrls/OrderListCtrl.xaml.cs | 210 ++++++----- .../TransitAfterSaleWindow.xaml.cs | 13 +- AllBase/BaseClass.cs | 2 +- AllBase/Model/DBModel/oms_wei_order_info.cs | 327 +++++++++--------- .../Model/DBModel/oms_wei_order_item_info.cs | 6 +- 6 files changed, 293 insertions(+), 267 deletions(-) diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml index afbedf6..ae1647c 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml @@ -327,7 +327,7 @@ Checked="chkSubFilterSonditions_Checked" Content="过滤多商品订单" FontSize="12" - IsChecked="{Binding orderFilterConfig.chkHideGreenFlagIsChecked}" + IsChecked="{Binding orderFilterConfig.chkNoMultiOrderIsChecked}" Unchecked="chkSubFilterSonditions_Checked" /> b.buyer_nick == buyerNickName); - // if (buyer == null) - // continue; - // var afterSalesId = orderItem.PddBuyerAfterSale?.afterSalesId; - // if (string.IsNullOrEmpty(afterSalesId)) - // continue; - // var waybillId = orderItem.DistribReturnOrderInfo?.real_logistics_express_code; + if (order.out_after_sale_status.ParseToString().Contains("待用户发货") && !(orderItem.DistribReturnOrderInfo?.real_logistics_express_code).IsNullOrEmpty()) + { + string orderSn = order.out_order_no; + if (orderSn.IsNullOrEmpty()) + continue; + string buyerNickName = order.out_account; + if (buyerNickName.IsNullOrEmpty()) + continue; + var buyer = GlobalConfig.PDDBuyerLoginList.ToList().FirstOrDefault(b => b.buyer_nick == buyerNickName); + if (buyer == null) + continue; + var afterSalesId = orderItem.PddBuyerAfterSale?.afterSalesId; + if (string.IsNullOrEmpty(afterSalesId)) + continue; + var waybillId = orderItem.DistribReturnOrderInfo?.real_logistics_express_code; - // var chkRst = AddReturnPddShopPackageInfocheck(buyer, orderSn, afterSalesId, waybillId); - // var type = 4; - // if (chkRst.Contains("\"interactType\":0")) - // type = 2; - // var result = AddReturnPddShopPackageInfo(buyer, orderSn, afterSalesId, waybillId, "韵达快递", "121", type.ToString()); - // if (!result.Contains("\"result\":\"ok\"")) - // { - // type = type == 4 ? 2 : 4; - // result = AddReturnPddShopPackageInfo(buyer, orderSn, afterSalesId, waybillId, "韵达快递", "121", type.ToString()); - // } + var chkRst = AddReturnPddShopPackageInfocheck(buyer, orderSn, afterSalesId, waybillId); + var type = 4; + if (chkRst.Contains("\"interactType\":0")) + type = 2; + var result = AddReturnPddShopPackageInfo(buyer, orderSn, afterSalesId, waybillId, "韵达快递", "121", type.ToString()); + if (!result.Contains("\"result\":\"ok\"")) + { + type = type == 4 ? 2 : 4; + result = AddReturnPddShopPackageInfo(buyer, orderSn, afterSalesId, waybillId, "韵达快递", "121", type.ToString()); + } - // if (result.Contains("\"result\":\"ok\"")) - // { - // order.out_after_sale_status = "商家处理中"; - // } - // else - // { - // order.out_after_sale_status = "待用户发货 自动退货失败"; - // } - // var pddBuyerOrderLiteInfo = new PddBuyerOrderLiteInfo() - // { - // ShopOrderIdStr = orderItem.order_id, - // order_sn = orderSn, - // }; - // // 更新中转仓退货信息 - // var e57Rst = PDDBuyerOrderReadCtrl.SendAfterSaleE57NeedManual(pddBuyerOrderLiteInfo, order.out_after_sale_status); - // if (e57Rst.Contains("0") || e57Rst.Contains("200")) - // { - // BaseMsgWindow.ShowAnimateMessage("买手退款信息更新成功", "Msg", 3); - // Thread.Sleep(Randomx.GetId(10000, 12001)); - // } - // else - // { - // var msg = BaseRegex.GetStringXml(ref e57Rst, "msg"); - // BaseMsgWindow.ShowAnimateMessage("买手退款信息更新失败,服务端返回 " + msg, "Error", 5); - // } - //} + if (result.Contains("\"result\":\"ok\"")) + { + order.out_after_sale_status = "商家处理中"; + } + else + { + order.out_after_sale_status = "待用户发货 自动退货失败"; + } + var pddBuyerOrderLiteInfo = new PddBuyerOrderLiteInfo() + { + ShopOrderIdStr = orderItem.order_id, + order_sn = orderSn, + }; + // 更新中转仓退货信息 + var e57Rst = PDDBuyerOrderReadCtrl.SendAfterSaleE57NeedManual(pddBuyerOrderLiteInfo, order.out_after_sale_status); + if (e57Rst.Contains("0") || e57Rst.Contains("200")) + { + BaseMsgWindow.ShowAnimateMessage("买手退款信息更新成功", "Msg", 3); + Thread.Sleep(Randomx.GetId(10000, 12001)); + } + else + { + var msg = BaseRegex.GetStringXml(ref e57Rst, "msg"); + BaseMsgWindow.ShowAnimateMessage("买手退款信息更新失败,服务端返回 " + msg, "Error", 5); + } + } } else { @@ -1107,77 +1107,103 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls Dispatcher.Invoke(new Action(() => { tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("待采购")); })); if (tabItem != null) { - var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "待采购")).ToList(); - Dispatcher.Invoke(new Action(() => { tabItem.Header = "待采购(" + userOrderLst.Where(r => r.IsWaitBuy).Count() + "|" + filteLstTmp.Count() + ")"; })); + var lstCount = userOrderLst.Where(r => r.IsWaitBuy).Count(); + var filteLstTmpCount = userOrderLst.Where(o => !GetOrderIsFilter(o, "待采购")).Count(); + Dispatcher.Invoke(new Action(() => { tabItem.Header = "待采购(" + lstCount + "|" + filteLstTmpCount + ")"; })); } Dispatcher.Invoke(new Action(() => { tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("待发货")); })); if (tabItem != null) { - var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "待发货")).ToList(); - Dispatcher.Invoke(new Action(() => { tabItem.Header = "待发货(" + userOrderLst.Where(r => r.IsWaitSend).Count() + "|" + filteLstTmp.Count() + ")"; })); + var lstCount = userOrderLst.Where(r => r.IsWaitSend).Count(); + var filteLstTmpCount = userOrderLst.Where(o => !GetOrderIsFilter(o, "待发货")).Count(); + Dispatcher.Invoke(new Action(() => { tabItem.Header = "待发货(" + lstCount + "|" + filteLstTmpCount + ")"; })); } Dispatcher.Invoke(new Action(() => { tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("待收货")); })); if (tabItem != null) { - var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "待收货")).ToList(); - Dispatcher.Invoke(new Action(() => { tabItem.Header = "待收货(" + userOrderLst.Where(r => r.IsWaitReceive).Count() + "|" + filteLstTmp.Count() + ")"; })); + var lstCount = userOrderLst.Where(r => r.IsWaitReceive).Count(); + var filteLstTmpCount = userOrderLst.Where(o => !GetOrderIsFilter(o, "待收货")).Count(); + Dispatcher.Invoke(new Action(() => { tabItem.Header = "待收货(" + lstCount + "|" + filteLstTmpCount + ")"; })); } Dispatcher.Invoke(new Action(() => { tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("售后完成单")); })); if (tabItem != null) { - var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "售后完成单")).ToList(); + var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "售后完成单")); Dispatcher.Invoke(new Action(() => { tabItem.Header = "售后完成单(" + userOrderLst.Where(r => r.IsRefund).Count() + "|" + filteLstTmp.Count() + ")"; })); } Dispatcher.Invoke(new Action(() => { tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("需处理售后单")); })); if (tabItem != null) { - var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "需处理售后单")).ToList(); + var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "需处理售后单")); Dispatcher.Invoke(new Action(() => { tabItem.Header = "需处理售后单(" + userOrderLst.Where(r => r.IsEmergencyManualReturnOrder).Count() + "|" + filteLstTmp.Count() + ")"; })); } Dispatcher.Invoke(new Action(() => { tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("退货仓自动售后单")); })); if (tabItem != null) { - var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "退货仓自动售后单")).ToList(); + var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "退货仓自动售后单")); Dispatcher.Invoke(new Action(() => { tabItem.Header = "退货仓自动售后单(" + userOrderLst.Where(r => r.IsEmergencyDistribReturnOrder).Count() + "|" + filteLstTmp.Count() + ")"; })); } Dispatcher.Invoke(new Action(() => { tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("异常单")); })); if (tabItem != null) { - var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "异常单")).ToList(); + var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "异常单")); Dispatcher.Invoke(new Action(() => { tabItem.Header = "异常单(" + userOrderLst.Where(r => r.isAbnormal).Count() + "|" + filteLstTmp.Count() + ")"; })); } Dispatcher.Invoke(new Action(() => { tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("全部订单")); })); if (tabItem != null) { - var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "全部订单")).ToList(); + var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "全部订单")); Dispatcher.Invoke(new Action(() => { tabItem.Header = "全部订单(" + userOrderLst.Count() + "|" + filteLstTmp.Count() + ")"; })); } //txtMsg.Text = "当前条件共计 " + GlobalConfig.lstFilterOrder.Count() + " 条订单记录"; } + CancellationTokenSource TokenSource = null; public void FilterOrders() { - try - { - if (this.lbxOrder == null) - return; + if (TokenSource != null) + TokenSource.Cancel(); + TokenSource = new CancellationTokenSource(); - Dispatcher.Invoke(new Action(() => + Task.Run(() => + { + var token = TokenSource.Token; + try { - if (GlobalConfig.OrderTabHeaderStr.StartsWith("需处理售后单") || GlobalConfig.OrderTabHeaderStr.StartsWith("退货仓自动售后单")) - GlobalConfig.lstFilterOrder = new ObservableCollectionThreadSafe(GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.RefundDatetime)); - else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常单")) - GlobalConfig.lstFilterOrder = new ObservableCollectionThreadSafe(GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.update_time)); - else - GlobalConfig.lstFilterOrder = new ObservableCollectionThreadSafe(GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.create_time)); - this.lbxOrder.ItemsSource = GlobalConfig.lstFilterOrder; + if (this.lbxOrder == null) + return; - disPlayOrderTabOrderCount(); - })); - } - catch (Exception ex) - { - } + var orderLstTmp = new List(); + if (GlobalConfig.OrderTabHeaderStr.StartsWith("需处理售后单") || GlobalConfig.OrderTabHeaderStr.StartsWith("退货仓自动售后单")) + orderLstTmp = GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.RefundDatetime).ToList(); + else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常单")) + orderLstTmp = GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.update_time).ToList(); + else + orderLstTmp = GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.create_time).ToList(); + + Task.Run(() => { disPlayOrderTabOrderCount(); }); + Dispatcher.Invoke(new Action(() => + { + //GlobalConfig.lstFilterOrder = new ObservableCollectionThreadSafe(orderLstTmp); + //this.lbxOrder.ItemsSource = GlobalConfig.lstFilterOrder; + GlobalConfig.lstFilterOrder.Clear(); + })); + foreach (var order in orderLstTmp) + { + if (token.IsCancellationRequested) + break; + + Dispatcher.Invoke(new Action(() => + { + if (!GlobalConfig.lstFilterOrder.Any(o => o.order_id == order.order_id)) + GlobalConfig.lstFilterOrder.Add(order); + })); + } + } + catch (Exception ex) + { + } + }); } public void FilterOneOrder(string orderId, bool updateTabCount = false) @@ -1217,10 +1243,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls if (updateTabCount) { - Dispatcher.Invoke(new Action(() => - { - disPlayOrderTabOrderCount(); - })); + //Dispatcher.Invoke(new Action(() => + //{ + //})); + disPlayOrderTabOrderCount(); } } @@ -1362,16 +1388,16 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls })); if (filterTimeRst) return filterTimeRst; - - var filterHeadStrRst = false; - Dispatcher.Invoke(new Action(() => - { - filterHeadStrRst = FilterTabPage(order, filterHeadStr); - })); - if (filterHeadStrRst) - return filterHeadStrRst; } + var filterHeadStrRst = false; + Dispatcher.Invoke(new Action(() => + { + filterHeadStrRst = FilterTabPage(order, filterHeadStr); + })); + if (filterHeadStrRst) + return filterHeadStrRst; + return false; } diff --git a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs index 7e3bdba..a9bc490 100644 --- a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs +++ b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs @@ -110,11 +110,14 @@ namespace _29WxOrderWpf.Windows.OrderWindows return; } - var workOrder = AddWorkOrder(); - if (!workOrder.Contains("\"success\":true")) + if (string.IsNullOrEmpty(lblWorkOrderMsg.Content.ParseToString())) { - BaseMsgWindow.ShowError("中转拦截包裹添加失败," + BaseRegex.GetStringJson(ref workOrder, "message"), "", this); - return; + var workOrder = AddWorkOrder(); + if (!workOrder.Contains("\"success\":true")) + { + BaseMsgWindow.ShowError("中转拦截包裹添加失败," + BaseRegex.GetStringJson(ref workOrder, "message"), "", this); + return; + } } //{"success":true,"replayed":true,"operation":"replayed","ticket":{"id":"1d268a38-7f60-4295-9345-a8f21298181c","ticketNo":"WO-20260820102516-AE62D8F2","issueType":"拦截退回云仓-出库后","status":"pending_approval","queue":"pending"},"creatorBinding":{"bound":true,"clientUserId":"user_1784451034258_a6da3c","username":"18305598906"},"targetOrder":{"appId":"wx5cfcfda1fae03689","wechatOrderNo":"3737793636785868032","purchaseOrderNo":"260716-496899202560980","verified":true},"requestId":"2bbd8e98-0a95-4162-9fc1-b377644209ed"} @@ -168,7 +171,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows { //创建退货包裹成功0 MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id); - MainWindow.Instance.orderListCtrl.FilterOrders(); + Task.Run(() => { MainWindow.Instance.orderListCtrl.FilterOrders(); }); BaseMsgWindow.ShowInfo("添加退货包裹成功", "", this); this.Close(); } diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index 8b8a193..752d56b 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -36,7 +36,7 @@ namespace AllBase /// 版本ID /// - public static int VersionCount = 258; + public static int VersionCount = 259; public static string ServerUrl { get; set; } = "http://1.13.195.131:9000"; public static string DebugUrl { get; set; } = "http://localhost:9000"; diff --git a/AllBase/Model/DBModel/oms_wei_order_info.cs b/AllBase/Model/DBModel/oms_wei_order_info.cs index bf98fb3..a1dd286 100644 --- a/AllBase/Model/DBModel/oms_wei_order_info.cs +++ b/AllBase/Model/DBModel/oms_wei_order_info.cs @@ -42,138 +42,74 @@ namespace AllBase.Model.DBModel public ObservableCollection refundItems { get; set; } = new ObservableCollection(); - public bool IsWaitBuyOrIsWaitSend + /// + /// 待采购 + /// + public bool IsWaitBuy { - get { return IsWaitBuy || IsWaitSend; } - set { } + get { return this.GetValue(x => x.IsWaitBuy); } + set { this.SetValue(x => x.IsWaitBuy, value); } } - - /// - /// 待采购 - /// - public bool IsWaitBuy + /// + /// 待发货 + /// + public bool IsWaitSend { - get - { - if (status != 20 && status != 21) - return false; - if (refundItems?.Any(r => r.IsRefund) == true) - return false; - // 子表有售后信息(可能更新不及时) - if (orderItems?.Any(oi => oi.refund_status > 1) == true) - return false; - // 中转仓有拍单信息 - if (orderItems.All(oi => oi.ItemTransitOrder != null)) - return false; - // 采购状态为已采购 - if (purchase_status != 0) - return false; - // 礼物单已发货 - if (gift_order_status == 1 || gift_order_status == 2) - return false; - // 直发订单未退款 - // out_after_sale_status 新拍订单也不会变,内存里直接根据退款单修改掉 - if (!string.IsNullOrEmpty(out_order_no) && out_after_sale_status != "退款成功") - return false; - return true; - } - set { } + get { return this.GetValue(x => x.IsWaitSend); } + set { this.SetValue(x => x.IsWaitSend, value); } } - /// - /// 待发货 - /// - public bool IsWaitSend + /// + /// 待收货 + /// + public bool IsWaitReceive { - //get { return (purchase_status == 1 || !string.IsNullOrEmpty(out_order_no)) && (status == 20 || status == 21); } - get - { - if (order_id == "3738070866253717760") - { - - } - - if (status != 20 && status != 21) - return false; - if (refundItems?.Any(r => r.IsRefund) == true) - return false; - if (orderItems?.Any(oi => oi.refund_status > 1) == true) - return false; - // 礼物单已发货 - if (gift_order_status == 1 || gift_order_status == 2) - return false; - // 店铺未发货,外采已采购 - // out_after_sale_status 新拍订单也不会变,内存里直接根据退款单修改掉 - if (!orderItems.All(oi => oi.ItemTransitOrder != null) && purchase_status != 1 && (string.IsNullOrEmpty(out_order_no) || out_after_sale_status == "退款成功")) - return false; - return true; - } - set { } + get { return this.GetValue(x => x.IsWaitReceive); } + set { this.SetValue(x => x.IsWaitReceive, value); } } - /// - /// 待收货 - /// - public bool IsWaitReceive - { - get - { - if (refundItems?.Any(r => r.IsRefund) == true) - return false; - if (orderItems?.Any(oi => oi.refund_status > 1) == true) - return false; - if (!(status == 30 || status == 100 || gift_order_status == 1 || gift_order_status == 2)) - return false; - return true; - } - set { } - } - /// - /// 售后订单(不含售后关闭) -- 改为售后完成单 260726 - /// - public bool IsRefund - { - //get { return refundItems?.Count > 0 && refundItems.Any(r => r.status != "USER_CANCELD"); } - get - { + /// + /// 售后订单(不含售后关闭) -- 改为售后完成单 260726 + /// + public bool IsRefund + { + get + { + // return refundItems?.Count > 0 && refundItems.Any(r => r.status != "USER_CANCELD"); if (!orderItems.Any(oi => oi.refund_status > 1)) - return false; - if (IsEmergency) - return false; - return true; - } - set { } - } - public bool IsRefundWithCancel - { - get { return refundItems?.Count > 0; } - set { } - } - /// - /// 紧急订单 - /// - public bool IsEmergency - { - get - { - if (this.order_id == "3737858759084367872") - { - } - // 微信订单退货中 - if (orderItems.Any(oi => oi.refund_status == 2 || oi.refund_status == 3)) - { - return true; - } - // 微信订单退款中或退款成功,但是买手订单未完成退款 - if (orderItems.Any(oi => oi.refund_status > 1 && oi.ItemTransitOrders.Count > 0 && oi.ItemTransitOrders.Any(t => !t.refund_status.Contains("退款成功")))) - { - return true; - } - if (orderItems.Any(oi => oi.refund_status > 1) && !out_order_no.IsNullOrEmpty() && this.out_after_sale_status != "退款成功") - { - return true; - } - return false; - } - set { } + return false; + if (IsEmergency) + return false; + return true; + } + set { } + } + + /// + /// 紧急订单 + /// + public bool IsEmergency + { + get + { + if (this.order_id == "3737858759084367872") + { + } + // 微信订单退货中 + if (orderItems.Any(oi => oi.refund_status == 2 || oi.refund_status == 3)) + { + return true; + } + // 微信订单退款中或退款成功,但是买手订单未完成退款 + if (orderItems.Any(oi => oi.refund_status > 1 && oi.ItemTransitOrders.Count > 0 && oi.ItemTransitOrders.Any(t => !t.refund_status.Contains("退款成功")))) + { + return true; + } + if (orderItems.Any(oi => oi.refund_status > 1) && !out_order_no.IsNullOrEmpty() && this.out_after_sale_status != "退款成功") + { + return true; + } + return false; + } + set { } } public bool IsEmergencyDistribReturnOrder @@ -206,29 +142,8 @@ namespace AllBase.Model.DBModel /// public bool isAbnormal { - get - { - if (order_id == "3738000949931831296") - { - - } - - if (orderItems.Any(oi => !(oi.OrderItemExt?.abnormal_text).IsNullOrEmpty())) - return true; - - // 订单无售后或者售后关闭,有未作废的仓库单且仓库单买手信息为退款成功 - if (orderItems.Any(oi => oi.refund_status <= 1 && oi.ItemTransitOrder != null && oi.ItemTransitOrder.refund_status == "买手退款成功")) - return true; - - // 取号异常或无法调用发货也放在异常单 - // 订单不满足鸿浩仓库发货条件,无法调用鸿浩仓库接口发货 - else if (orderItems.Any(oi => ((oi.ItemTransitOrderWithVoid?.raw_message).ParseToString().Contains("取号异常") || - (oi.ItemTransitOrderWithVoid?.raw_message).ParseToString().Contains("无法调用")) && - oi.ItemTransitOrderWithVoid?.transfer_warehouse_status != 1)) - return true; - return false; - } - set { } + get { return this.GetValue(x => x.IsWaitReceive); } + set { this.SetValue(x => x.IsWaitReceive, value); } } public string orderStatusStr @@ -742,22 +657,104 @@ namespace AllBase.Model.DBModel Shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ErpShopId == shop_id.ParseToString()); if (this.orderItems.Any(oi => oi.OrderItemExt?.buy_type == "直发") && this.orderItems.Any(oi => oi.ItemTransitOrderWithVoid != null)) - { - OrderBuyType = "云改直"; - OrderBuyTypeColor = GlobalConfig.PurpleBrush190; - } - else if (this.orderItems.Any(oi => oi.OrderItemExt?.buy_type == "直发")) - { - OrderBuyType = "直发"; - OrderBuyTypeColor = GlobalConfig.RedTextBrush205; - } - else if (this.orderItems.Any(oi => oi.ItemTransitOrderWithVoid != null)) - { - OrderBuyType = "云仓"; - OrderBuyTypeColor = GlobalConfig.GreenTextBrush; - } - else - OrderBuyType = ""; + { + OrderBuyType = "云改直"; + OrderBuyTypeColor = GlobalConfig.PurpleBrush190; + } + else if (this.orderItems.Any(oi => oi.OrderItemExt?.buy_type == "直发")) + { + OrderBuyType = "直发"; + OrderBuyTypeColor = GlobalConfig.RedTextBrush205; + } + else if (this.orderItems.Any(oi => oi.ItemTransitOrderWithVoid != null)) + { + OrderBuyType = "云仓"; + OrderBuyTypeColor = GlobalConfig.GreenTextBrush; + } + else + OrderBuyType = ""; + + IsWaitBuy = GetIsWaitBuy(); + IsWaitSend = GetIsWaitSend(); + IsWaitReceive = GetIsWaitReceive(); + isAbnormal = GetIsAbnormal(); } - } + + private bool GetIsWaitBuy() + { + if (status != 20 && status != 21) + return false; + if (refundItems?.Any(r => r.IsRefund) == true) + return false; + // 子表有售后信息(可能更新不及时) + if (orderItems?.Any(oi => oi.refund_status > 1) == true) + return false; + // 中转仓有拍单信息 + if (orderItems.All(oi => oi.ItemTransitOrder != null)) + return false; + // 采购状态为已采购 + if (purchase_status != 0) + return false; + // 礼物单已发货 + if (gift_order_status == 1 || gift_order_status == 2) + return false; + // 直发订单未退款 + // out_after_sale_status 新拍订单也不会变,内存里直接根据退款单修改掉 + if (!string.IsNullOrEmpty(out_order_no) && out_after_sale_status != "退款成功") + return false; + return true; + } + + private bool GetIsWaitSend() + { + if (status != 20 && status != 21) + return false; + if (refundItems?.Any(r => r.IsRefund) == true) + return false; + if (orderItems?.Any(oi => oi.refund_status > 1) == true) + return false; + // 礼物单已发货 + if (gift_order_status == 1 || gift_order_status == 2) + return false; + // 店铺未发货,外采已采购 + // out_after_sale_status 新拍订单也不会变,内存里直接根据退款单修改掉 + if (!orderItems.All(oi => oi.ItemTransitOrder != null) && purchase_status != 1 && (string.IsNullOrEmpty(out_order_no) || out_after_sale_status == "退款成功")) + return false; + return true; + } + + private bool GetIsWaitReceive() + { + if (refundItems?.Any(r => r.IsRefund) == true) + return false; + if (orderItems?.Any(oi => oi.refund_status > 1) == true) + return false; + if (!(status == 30 || status == 100 || gift_order_status == 1 || gift_order_status == 2)) + return false; + return true; + } + + private bool GetIsAbnormal() + { + if (order_id == "3738000949931831296") + { + + } + + if (orderItems.Any(oi => !(oi.OrderItemExt?.abnormal_text).IsNullOrEmpty())) + return true; + + // 订单无售后或者售后关闭,有未作废的仓库单且仓库单买手信息为退款成功 + if (orderItems.Any(oi => oi.refund_status <= 1 && oi.ItemTransitOrder != null && oi.ItemTransitOrder.refund_status == "买手退款成功")) + return true; + + // 取号异常或无法调用发货也放在异常单 + // 订单不满足鸿浩仓库发货条件,无法调用鸿浩仓库接口发货 + else if (orderItems.Any(oi => ((oi.ItemTransitOrderWithVoid?.raw_message).ParseToString().Contains("取号异常") || + (oi.ItemTransitOrderWithVoid?.raw_message).ParseToString().Contains("无法调用")) && + oi.ItemTransitOrderWithVoid?.transfer_warehouse_status != 1)) + return true; + return false; + } + } } diff --git a/AllBase/Model/DBModel/oms_wei_order_item_info.cs b/AllBase/Model/DBModel/oms_wei_order_item_info.cs index b431e1f..5f8e3f0 100644 --- a/AllBase/Model/DBModel/oms_wei_order_item_info.cs +++ b/AllBase/Model/DBModel/oms_wei_order_item_info.cs @@ -261,7 +261,7 @@ namespace AllBase.Model.DBModel else TransitOrderWaybillFromWareHouseStr = "仓库物流:" + ItemTransitOrder.express_2_company + "-" + ItemTransitOrder.express_2_waybill; - if (order_id == "3738552208766960384") + if (order_id == "3738461463336072960") { } @@ -279,7 +279,7 @@ namespace AllBase.Model.DBModel !(this.ItemRefund?.return_waybill_id).IsNullOrEmpty() || !(this.ItemRefund?.return_detail).IsNullOrEmpty() || (!this.ItemOrder.IsEmergency && !this.ItemOrder.isAbnormal && !this.ItemOrder.IsRefund) || (this.ItemTransitOrderWithVoid.warehouse_status != 0 && this.ItemTransitOrderWithVoid.warehouse_status != 1) || - this.ItemTransitOrderWithVoid.platform == "XDYYWC" || // 义务仓不能申请拒收 + /*this.ItemTransitOrderWithVoid.platform == "XDYYWC" ||*/ // 义务仓不能申请拒收 string.IsNullOrEmpty(PddBuyerOrder?.order_sn)) { if (AddEditTransitWarehouseRejectStr == "申请") @@ -628,7 +628,7 @@ namespace AllBase.Model.DBModel { get { - if (order_id == "3737761985909113600") + if (order_id == "3738453024420550400") { }