优化读单卡顿问题

This commit is contained in:
wule committed 2026-08-24 20:37:35 +08:00
1 parent 7998a753cc
commit 5721d0f7f3
6 files changed
+293 -267

No files matched your search

@@ -327,7 +327,7 @@
Checked="chkSubFilterSonditions_Checked"
Content="过滤多商品订单"
FontSize="12"
IsChecked="{Binding orderFilterConfig.chkHideGreenFlagIsChecked}"
IsChecked="{Binding orderFilterConfig.chkNoMultiOrderIsChecked}"
Unchecked="chkSubFilterSonditions_Checked" />
<Polyline
Grid.Column="5"
@@ -970,59 +970,59 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
if (order.OrderBuyType == "直发" || order.OrderBuyType == "云改直")
{
//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;
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("<code>0</code>") || e57Rst.Contains("<code>200</code>"))
// {
// 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("<code>0</code>") || e57Rst.Contains("<code>200</code>"))
{
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<oms_wei_order_info>(GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.RefundDatetime));
else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常单"))
GlobalConfig.lstFilterOrder = new ObservableCollectionThreadSafe<oms_wei_order_info>(GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.update_time));
else
GlobalConfig.lstFilterOrder = new ObservableCollectionThreadSafe<oms_wei_order_info>(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<oms_wei_order_info>();
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<oms_wei_order_info>(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;
}
@@ -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
{
//<AjaxResult><msg>创建退货包裹成功</msg><code>0</code></AjaxResult>
MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id);
MainWindow.Instance.orderListCtrl.FilterOrders();
Task.Run(() => { MainWindow.Instance.orderListCtrl.FilterOrders(); });
BaseMsgWindow.ShowInfo("添加退货包裹成功", "", this);
this.Close();
}
+1 -1
View File
@@ -36,7 +36,7 @@ namespace AllBase
/// 版本ID
/// </summary>
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";
+162 -165
View File
@@ -42,138 +42,74 @@ namespace AllBase.Model.DBModel
public ObservableCollection<oms_wei_refund_info> refundItems { get; set; } = new ObservableCollection<oms_wei_refund_info>();
public bool IsWaitBuyOrIsWaitSend
/// <summary>
/// 待采购
/// </summary>
public bool IsWaitBuy
{
get { return IsWaitBuy || IsWaitSend; }
set { }
get { return this.GetValue(x => x.IsWaitBuy); }
set { this.SetValue(x => x.IsWaitBuy, value); }
}
/// <summary>
/// 待采购
/// </summary>
public bool IsWaitBuy
/// <summary>
/// 待发货
/// </summary>
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); }
}
/// <summary>
/// 待发货
/// </summary>
public bool IsWaitSend
/// <summary>
/// 待收货
/// </summary>
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); }
}
/// <summary>
/// 待收货
/// </summary>
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 { }
}
/// <summary>
/// 售后订单(不含售后关闭) -- 改为售后完成单 260726
/// </summary>
public bool IsRefund
{
//get { return refundItems?.Count > 0 && refundItems.Any(r => r.status != "USER_CANCELD"); }
get
{
/// <summary>
/// 售后订单(不含售后关闭) -- 改为售后完成单 260726
/// </summary>
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 { }
}
/// <summary>
/// 紧急订单
/// </summary>
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 { }
}
/// <summary>
/// 紧急订单
/// </summary>
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
/// </summary>
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;
}
}
}
@@ -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")
{
}