优化读单卡顿问题

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

+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")
{
}