优化读单卡顿问题
This commit is contained in:
1 parent
7998a753cc
commit
5721d0f7f3
6 files changed
+293
-267
No files matched your search
@@ -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")
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user