删除不合适的仓库 优化订单和售后单读取

This commit is contained in:
wule committed 2026-07-03 22:05:18 +08:00
1 parent 6f7aa58ac1
commit 13b68fa64e
53 files changed
+14843 -820

No files matched your search

+27 -1
View File
@@ -5,11 +5,20 @@ using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
namespace AllBase.Model.Local
{
/// <summary>
/// 是否已绑定代发仓库
/// </summary>
public class ShopLoginInfo : PropertyNotifyObject
{
public bool? Is29Supplier
{
get { return this.GetValue(x => x.Is29Supplier); }
set { this.SetValue(x => x.Is29Supplier, value); }
}
/// <summary>
/// 是否被选中
/// </summary>
@@ -26,6 +35,7 @@ namespace AllBase.Model.Local
get { return this.GetValue(x => x.IsFilter); }
set { this.SetValue(x => x.IsFilter, value); }
}
public string DbId { get; set; }
public string CompanyName { get; set; }
public string LoginName { get; set; }
@@ -39,7 +49,23 @@ namespace AllBase.Model.Local
public string Signature { get; set; }
public string TouTiaoId { get; set; }
public string Cookies { get; set; }
public string LoginStatus { get; set; }
/// <summary>
/// 在线、掉线
/// </summary>
public string LoginStatusStr
{
get { return this.GetValue(x => x.LoginStatusStr); }
set { this.SetValue(x => x.LoginStatusStr, value); }
}
public string LoginStatus
{
get { return this.GetValue(x => x.LoginStatus); }
set
{
this.SetValue(x => x.LoginStatus, value);
LoginStatusStr = value == "登录成功" ? "在线" : "掉线";
}
}
public string ApiAuthStatus { get; set; }
/// <summary>
/// 上货账户
+12 -12
View File
@@ -38,22 +38,22 @@ namespace AllBase.Model.Local
public class TransitWarehouseData
{
public static string TransitWarehouseDataStr = @"
XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省金华市义乌市北苑街道西站大道妈妈商贸6号库3楼中库走到底鸿鹄云仓(康诚楼上) ;31 ;386 ;3409
XDYJJC ;晋江仓 ;安群 ;19905951984 ;福建省泉州市南安市霞美镇温山村431号鸿鹄大厦 ;4 ;58 ;569
XDYBJC ;北京仓 ;胡萍 ;18565773752 ;北京市顺义区光明街道滨河小区七区1号楼 ;2 ;52 ;511
XDYCDC ;成都仓 ;谢春虹 ;15828201479 ;四川省资阳市乐至县仙鹤大道桑都街15-19号仓库(不要放驿站,送到仓库) ;26 ;340 ;2898
XDYGZC ;广州仓 ;何外华 ;13826339849 ;广州市从化区太平镇高埔细埔街99号东门4栋3楼 ;6 ;76 ;692
XDYWHC ;武汉2仓 ;杨先生 ;13044121071 ;湖北省武汉市汉阳区洲头街道汉新大道2号鲲鹏公司 ;13 ;180 ;1548
XDYSHANDC ;山东2仓 ;鸿鹄小申 ;13044121239 ;山东省临沂市费县南外环东转盘往东200米顺通快递有限公司(仓库二楼) ;22 ;292 ;2415
XDYCHONGQC ;重庆2仓 ;翁桂柱 ;18923911055 ;重庆市九龙坡区中梁山街道云飞九龙香山(二纵线东50米)重庆九龙坡区渝州公司 ;32 ;394 ;3339
XDYGZC ;广州仓 ;何外华 ;13826339849 ;广州市从化区太平镇高埔细埔街99号东门4栋3楼 ;6 ;76 ;692
XDYBJC ;北京仓 ;胡萍 ;18565773752 ;北京市顺义区光明街道滨河小区七区1号楼 ;2 ;52 ;511
XDYSHC ;上海新仓 ;纪先生 ;13044121150 ;上海市上海市普陀区真如镇街道真北路2653弄G区 ;25 ;321 ;2709
XDYJJC ;晋江仓 ;安群 ;19905951984 ;福建省泉州市南安市霞美镇温山村431号鸿鹄大厦 ;4 ;58 ;569
XDYHEBC ;哈尔滨仓 ;韩健 ;13044121250 ;黑龙江省哈尔滨市双城区新兴镇钱江路南侧韵达快递分拨中心发出库房84号装车口旁边电梯 ;12 ;167 ;1426
XDYXA ;西安仓 ;方先生 ;15813526665 ;陕西省西安市雁塔区田马路厨具市场内韵达超市(田马路店);24 ;311 ;2599
XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省金华市义乌市北苑街道西站大道妈妈商贸6号库3楼中库走到底鸿鹄云仓(康诚楼上) ;31 ;386 ;3409
XDYZZC ;郑州仓 ;朱红艳 ;13044121247 ;河南省郑州市经济开发区祥云办公处润之新物流园韵达速递 ;11 ;149 ;1259
XDYGYC ;贵阳仓 ;潘小娘 ;19218546304 ;贵州省黔南州龙里县谷脚镇韵达分拨中心 综合楼一楼 食堂隔壁(不要放驿站,送到仓库) ;8 ;116 ;1017
XDYKMC ;昆明仓 ;杨源炜 ;19533700289 ;云南省昆明市宜良县北古城镇红枫路一号韵达分拨(不要放驿站,送到仓库) ;30 ;367 ;3109
XDYCDC ;成都仓 ;谢春虹 ;15828201479 ;四川省资阳市乐至县仙鹤大道桑都街15-19号仓库(不要放驿站,送到仓库) ;26 ;340 ;2898
XDYSSC ;河北仓 ;田女士 ;13382898026 ;河北省衡水市安平县兴安大道灿达创业基地韵达库房A-1 ;10 ;143 ;1180
XDYSZC ;深圳仓 ;峰峰 ;15343351331 ;广东省东莞市东莞市凤岗镇 浸校塘东良巷兔喜生活(云仓);6 ;79 ;732";
//XDYCHONGQC ;重庆2仓 ;翁桂柱 ;18923911055 ;重庆市九龙坡区中梁山街道云飞九龙香山(二纵线东50米)重庆九龙坡区渝州公司 ;32 ;394 ;3339
//XDYHEBC ;哈尔滨仓 ;韩健 ;13044121250 ;黑龙江省哈尔滨市双城区新兴镇钱江路南侧韵达快递分拨中心发出库房84号装车口旁边电梯 ;12 ;167 ;1426
//XDYXA ;西安仓 ;方先生 ;15813526665 ;陕西省西安市雁塔区田马路厨具市场内韵达超市(田马路店);24 ;311 ;2599
//XDYGYC ;贵阳仓 ;潘小娘 ;19218546304 ;贵州省黔南州龙里县谷脚镇韵达分拨中心 综合楼一楼 食堂隔壁(不要放驿站,送到仓库) ;8 ;116 ;1017
//XDYKMC ;昆明仓 ;杨源炜 ;19533700289 ;云南省昆明市宜良县北古城镇红枫路一号韵达分拨(不要放驿站,送到仓库) ;30 ;367 ;3109
//XDYSSC ;河北仓 ;田女士 ;13382898026 ;河北省衡水市安平县兴安大道灿达创业基地韵达库房A-1 ;10 ;143 ;1180
//XDYZZC ;郑州仓 ;朱红艳 ;13044121247 ;河南省郑州市经济开发区祥云办公处润之新物流园韵达速递 ;11 ;149 ;1259
static List<TransitWarehouseParam> transitWarehouseList = null;
@@ -10,7 +10,12 @@ namespace AllBase.Model.Local
{
public string OutOrderNumStr
{
get { return "外部单号:" + out_order_no; }
get { return "采购单号:" + out_order_no; }
set { }
}
public string OutOrderBuyerStr
{
get { return "采购账户:" + buyer_account; }
set { }
}
@@ -29,7 +34,8 @@ namespace AllBase.Model.Local
public string refund_status { get; set; }
public DateTime pickup_time { get; set; }
/// <summary>
/// 中转仓状态:0 未使用,1 已创建,2 创建失败
/// 中转仓状态:0 未使用,1 已创建,2 创建失败,3 处理中(业务方根据此字段处理中转流程)
/// 使用此字段判断中转仓库是否已取号
/// </summary>
public int? transfer_warehouse_status { get; set; }
public string raw_message { get; set; }
@@ -39,7 +45,8 @@ namespace AllBase.Model.Local
public string order_platform_code { get; set; }
public string order_code { get; set; }
/// <summary>
/// 1正常取号 2提前取号
/// 取号状态 1 正常取号 2提前取号 3已更正 (已修改提前取号为正常取号)
/// 使用此字段判断取号状态,如果是提前取号,需要修改新的物流单号,此时服务端状态将替换为已更正
/// </summary>
public int? pre_allocated_order_no { get; set; }
+23 -122
View File
@@ -16,21 +16,22 @@ namespace AllBase.Model.Local
{
public class oms_wei_order_info : PropertyNotifyObject
{
public ObservableCollection<oms_wei_order_item_info> orderItems { get; set; } = new ObservableCollection<oms_wei_order_item_info>();
public ObservableCollection<oms_wei_order_item_info> order_items { get; set; } = new ObservableCollection<oms_wei_order_item_info>();
public oms_wei_order_item_info order_item1 { get { return order_items?.Count > 0 ? order_items[0] : null; } }
public oms_wei_order_item_info order_item2 { get { return order_items?.Count > 1 ? order_items[1] : null; } }
public oms_wei_order_item_info order_item3 { get { return order_items?.Count > 2 ? order_items[2] : null; } }
public oms_wei_order_item_info order_item4 { get { return order_items?.Count > 3 ? order_items[3] : null; } }
public oms_wei_order_item_info order_item5 { get { return order_items?.Count > 4 ? order_items[4] : null; } }
public oms_wei_order_item_info order_item1 { get { return orderItems?.Count > 0 ? orderItems[0] : null; } }
public oms_wei_order_item_info order_item2 { get { return orderItems?.Count > 1 ? orderItems[1] : null; } }
public oms_wei_order_item_info order_item3 { get { return orderItems?.Count > 2 ? orderItems[2] : null; } }
public oms_wei_order_item_info order_item4 { get { return orderItems?.Count > 3 ? orderItems[3] : null; } }
public oms_wei_order_item_info order_item5 { get { return orderItems?.Count > 4 ? orderItems[4] : null; } }
public Visibility order_item1_visibility { get { return order_item1 == null ? Visibility.Collapsed : Visibility.Visible; } }
public Visibility order_item2_visibility { get { return order_item2 == null ? Visibility.Collapsed : Visibility.Visible; } }
public Visibility order_item3_visibility { get { return order_item3 == null ? Visibility.Collapsed : Visibility.Visible; } }
public Visibility order_item4_visibility { get { return order_item4 == null ? Visibility.Collapsed : Visibility.Visible; } }
public Visibility order_item5_visibility { get { return order_item5 == null ? Visibility.Collapsed : Visibility.Visible; } }
public ObservableCollection<oms_wei_refund_info> refunds { get; set; } = new ObservableCollection<oms_wei_refund_info>();
public ObservableCollection<oms_wei_refund_info> refundItems { get; set; } = new ObservableCollection<oms_wei_refund_info>();
private bool isWaitBuy;
/// <summary>
/// 待采购
/// </summary>
@@ -38,7 +39,7 @@ namespace AllBase.Model.Local
{
get
{
if (order_items.All(oi => oi.item_transit_order != null)) return false;
if (orderItems.All(oi => oi.ItemTransitOrder != null)) return false;
if (purchase_status != 0) return false;
if (!out_order_no.IsNullOrEmpty()) return false;
if (status != 20 && status != 21) return false;
@@ -54,7 +55,7 @@ namespace AllBase.Model.Local
//get { return (purchase_status == 1 || !string.IsNullOrEmpty(out_order_no)) && (status == 20 || status == 21); }
get
{
if (purchase_status != 1 && string.IsNullOrEmpty(out_order_no) && !order_items.All(oi => oi.item_transit_order != null)) return false;
if (purchase_status != 1 && string.IsNullOrEmpty(out_order_no) && !orderItems.All(oi => oi.ItemTransitOrder != null)) return false;
if (status != 20 && status != 21) return false;
return true;
}
@@ -70,7 +71,7 @@ namespace AllBase.Model.Local
}
public bool IsRefund
{
get { return refunds?.Count > 0; }
get { return refundItems?.Count > 0; }
set { }
}
@@ -96,12 +97,18 @@ namespace AllBase.Model.Local
set { }
}
public DateTime? createDateTime = null;
/// <summary>
/// 订单生成时间
/// </summary>
public string create_time_str
{
get { return BaseClass.StampToDateTime(create_time).ToString("yyyy-MM-dd HH:mm:ss"); }
get
{
if (createDateTime == null)
createDateTime = BaseClass.StampToDateTime(create_time);
return createDateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
}
set { }
}
@@ -130,12 +137,12 @@ namespace AllBase.Model.Local
{
get
{
if (this.refunds.Any(r => "商家受理中,待买家退货,待商家收货,平台退款中,待用户确认,待用户处理商家协商,待用户处理商家代发起的售后申请".Contains(r.statusStr)))
if (this.refundItems.Any(r => "商家受理中,待买家退货,待商家收货,平台退款中,待用户确认,待用户处理商家协商,待用户处理商家代发起的售后申请".Contains(r.statusStr)))
return "退款中";
else if (this.refunds.Any(r => r.statusStr == "退款完成" || r.statusStr == "退货退款完成"))
else if (this.refundItems.Any(r => r.statusStr == "退款完成" || r.statusStr == "退货退款完成"))
return "退款完成";
else if (this.refunds.Any(r => !r.statusStr.IsNullOrEmpty()))
return this.refunds.FirstOrDefault(r => !r.statusStr.IsNullOrEmpty()).statusStr;
else if (this.refundItems.Any(r => !r.statusStr.IsNullOrEmpty()))
return this.refundItems.FirstOrDefault(r => !r.statusStr.IsNullOrEmpty()).statusStr;
if (this.status == 20 || this.status == 21)
{
return "剩余";
@@ -168,7 +175,7 @@ namespace AllBase.Model.Local
else
return "未发货";
}
set { /*delivery_deadline_str = value;*/ }
set {}
}
public SolidColorBrush StatusBoxForeColor
@@ -201,13 +208,6 @@ namespace AllBase.Model.Local
{
get
{
//if (delivery_deadline_status_str == "退款中" || delivery_deadline_str == "已超时")
// return new SolidColorBrush(Color.FromRgb(246, 212, 210)); // #f6d4d2
//else if (delivery_deadline_status_str == "退款完成" || delivery_deadline_str == "已发货")
// return new SolidColorBrush(Color.FromRgb(217, 237, 212)); // #d9edd4
//else
// return new SolidColorBrush(Color.FromRgb(232, 251, 249)); // #e8fbf9
if (delivery_deadline_status_str == "退款中" || delivery_deadline_str == "已超时")
return new SolidColorBrush(Color.FromArgb(50, 250, 71, 51)); // #fa4733 0.2
else if (delivery_deadline_status_str == "退款完成" || delivery_deadline_str == "已发货")
@@ -218,111 +218,12 @@ namespace AllBase.Model.Local
set { }
}
public string address_str
{
get { return user_name + " " + tel_number + " " + province_name + " " + city_name + " " + county_name + " " + detail_info; }
set { }
}
///// <summary>
///// 订单中所有商品加起来的总售价文本
///// </summary>
//public string real_price_str
//{
// //get { return "¥" + (order_items.Sum(oi => oi.sale_price * oi.sku_cnt) * 0.01m).ParseToDecimal().ToString("0.00"); }
// get { return "¥" + (order_items.Sum(oi => oi.real_price) * 0.01m).ParseToDecimal().ToString("0.00"); }
// set { }
//}
///// <summary>
///// 订单内商品维度平台券优惠金额(利润需要计算这个金额在内)文本
///// </summary>
//public string cash_coupon_discounted_price_str
//{
// //get { return "¥" + (order_items.Sum(oi => oi.cash_coupon_discounted_price.ParseToInt() * oi.sku_cnt) * 0.01m).ParseToDecimal().ToString("0.00"); }
// get { return "¥" + (order_items.Sum(oi => oi.cash_coupon_discounted_price.ParseToInt()) * 0.01m).ParseToDecimal().ToString("0.00"); }
// //get { return "¥" + (discounted_price * 0.01m).ParseToDecimal().ToString("0.00"); }
// set { }
//}
///// <summary>
///// 采购价文本
///// </summary>
//public string purchase_price_str
//{
// get { return "¥" + (order_items.Sum(oi => oi.purchase_price.ParseToInt()) * 0.01m).ParseToDecimal().ToString("0.00"); }
// //get { return "¥" + (purchase_price * 0.01m).ParseToDecimal().ToString("0.00"); }
// set { }
//}
//public Visibility purchase_price_visibility
//{
// get { if (out_amount > 0) return Visibility.Collapsed; return Visibility.Visible; }
// set { }
//}
///// <summary>
///// 运费文本
///// </summary>
//public string freight_str
//{
// get { return "¥" + (order_items.Sum(oi => oi.freight.ParseToInt()) * 0.01m).ParseToDecimal().ToString("0.00"); }
// //get { return "¥" + (freight * 0.01m).ParseToDecimal().ToString("0.00"); }
// set { }
//}
//public Visibility freight_visibility
//{
// get { if (out_amount > 0) return Visibility.Collapsed; return Visibility.Visible; }
// set { }
//}
///// <summary>
///// 平台服务费
///// </summary>
//public string predict_commission_fee_string
//{
// get { return "¥" + (order_items.Sum(oi => oi.predict_commission_fee.ParseToInt()) * 0.01m).ParseToDecimal().ToString("0.00"); }
// //get { return "¥" + (predict_commission_fee * 0.01m).ParseToDecimal().ToString("0.00"); }
// set { }
//}
///// <summary>
///// 达人佣金
///// </summary>
//public string commission_amount_str
//{
// get { return "¥" + (order_items.Sum(oi => oi.commission_amount.ParseToInt()) * 0.01m).ParseToDecimal().ToString("0.00"); }
// //get { return "¥" + (commission_amount * 0.01m).ParseToDecimal().ToString("0.00"); }
// set { }
//}
///// <summary>
///// 外采金额文本
///// </summary>
//public string out_amount_str
//{
// get { return "¥" + (out_amount * 0.01m).ParseToDecimal().ToString("0.00"); }
// set { /*out_amount_str = value;*/ }
//}
///// <summary>
///// 利润文本
///// </summary>
//public string profit_str
//{
// //get { return "¥" + (profit * 0.01m).ParseToDecimal().ToString("0.00"); }
// get { return "¥" + ((profit - out_amount) * 0.01m).ParseToDecimal().ToString("0.00"); }
// set { }
//}
/// <summary>
/// 是否被选中
/// </summary>
+192 -43
View File
@@ -1,6 +1,8 @@
using AllBase.Model.MvvmBaseClasses;
using AllBase.Helper;
using AllBase.Model.MvvmBaseClasses;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using Org.BouncyCastle.Asn1.Mozilla;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -14,53 +16,121 @@ namespace AllBase.Model.Local
{
public class oms_wei_order_item_info : PropertyNotifyObject
{
public oms_wei_order_info item_order { get; set; }
public oms_wei_refund_info item_refund
public ShopLoginInfo Shop
{
get
{
if (item_order?.refunds?.Count == 0)
return null;
if (item_order?.refunds?.Count == 1)
return item_order?.refunds?.FirstOrDefault();
return item_order?.refunds?.FirstOrDefault(r => r.sku_id == this.sku_id);
}
set { }
get { return this.GetValue(x => x.Shop); }
set { this.SetValue(x => x.Shop, value); }
}
public oms_wei_order_info ItemOrder
{
get { return this.GetValue(x => x.ItemOrder); }
set { this.SetValue(x => x.ItemOrder, value); }
}
public oms_wei_refund_info ItemRefund
{
get { return this.GetValue(x => x.ItemRefund); }
set { this.SetValue(x => x.ItemRefund, value); }
}
public void SetItemRefund(List<oms_wei_refund_info> itemRefunds)
{
if (itemRefunds?.Count == 1)
ItemRefund = ItemOrder?.refundItems?.FirstOrDefault();
else
ItemRefund = ItemOrder?.refundItems?.FirstOrDefault(r => r.sku_id == this.sku_id);
}
/// <summary>
/// 采购关联
/// </summary>
public WXBuyMapInfo buy_map
public WXBuyMapInfo BuyMap
{
get { return this.GetValue(x => x.buy_map); }
set { this.SetValue(x => x.buy_map, value); }
get { return this.GetValue(x => x.BuyMap); }
set { this.SetValue(x => x.BuyMap, value); }
}
public List<oms_wei_external_procurement_log> item_transit_orders { get; set; } = new List<oms_wei_external_procurement_log>();
public oms_wei_external_procurement_log item_transit_order
/// <summary>
/// 采购按钮文字
/// </summary>
public string BuyGoodsBtnTxt
{
get { return item_transit_orders.FirstOrDefault(); }
get { return this.GetValue(x => x.BuyGoodsBtnTxt); }
set { this.SetValue(x => x.BuyGoodsBtnTxt, value); }
}
/// <summary>
/// 采购按钮颜色
/// </summary>
public SolidColorBrush BuyGoodsBtnColor
{
get { return this.GetValue(x => x.BuyGoodsBtnColor); }
set { this.SetValue(x => x.BuyGoodsBtnColor, value); }
}
/// <summary>
/// 采购按钮背景颜色
/// </summary>
public SolidColorBrush BuyGoodsBtnBackColor
{
get { return this.GetValue(x => x.BuyGoodsBtnBackColor); }
set { this.SetValue(x => x.BuyGoodsBtnBackColor, value); }
}
public bool IsBuyGoodsBtnEnabled
{
get { return this.GetValue(x => x.IsBuyGoodsBtnEnabled); }
set { this.SetValue(x => x.IsBuyGoodsBtnEnabled, value); }
}
public List<oms_wei_external_procurement_log> ItemTransitOrders { get; set; } = new List<oms_wei_external_procurement_log>();
public oms_wei_external_procurement_log ItemTransitOrder
{
get { return ItemTransitOrders.FirstOrDefault(); }
set { }
}
// 仓库采购时间是否达标字段
public string OutOrderTimeQualifiedStr
{
get
{
if (ItemTransitOrder == null)
return "";
if (ItemOrder.createDateTime == null)
ItemOrder.createDateTime = BaseClass.StampToDateTime(ItemOrder.create_time);
string timeStr = "采购时间:" + ItemTransitOrder.created_time.ToString("yyyy-MM-dd HH:mm:ss");
if (ItemOrder.createDateTime.Value.Date != ItemTransitOrder.created_time.Date && ItemTransitOrder.created_time > ItemTransitOrder.created_time.Date.AddHours(1.5))
return timeStr + " ×";
return timeStr + " √";
}
set { }
}
/// <summary>
/// 仓库采购时间是否达标字段
/// </summary>
public SolidColorBrush OutOrderTimeQualifiedBrush
{
get
{
return OutOrderTimeQualifiedStr.EndsWith("√") ? new SolidColorBrush(Color.FromRgb(103, 194, 58)) : new SolidColorBrush(Color.FromRgb(250, 71, 51));
}
}
public string OrderItemStatusStr
{
get
{
if (item_order?.status == 10)
if (ItemOrder?.status == 10)
return "待付款";
if (item_order?.status == 20)
if (ItemOrder?.status == 20)
return "待店铺发货";
if (item_order?.status == 21)
if (ItemOrder?.status == 21)
return "店铺部分发货";
if (item_order?.status == 30)
if (ItemOrder?.status == 30)
return "待买家收货";
if (item_order?.status == 100)
if (ItemOrder?.status == 100)
return "订单完成";
if (item_order?.status == 200)
if (ItemOrder?.status == 200)
return "售后完成订单取消";
if (item_order?.status == 250)
if (ItemOrder?.status == 250)
return "未付款已取消";
return "未知状态";
}
@@ -116,12 +186,12 @@ namespace AllBase.Model.Local
{
get
{
if (item_refund == null)
if (ItemRefund == null)
return "";
if (item_refund.status != "MERCHANT_REFUND_SUCCESS" && item_refund.status != "MERCHANT_RETURN_SUCCESS")
if (ItemRefund.status != "MERCHANT_REFUND_SUCCESS" && ItemRefund.status != "MERCHANT_RETURN_SUCCESS")
return "";
return "商品退款数量:" + item_refund.count + ",订单状态:" + item_order.orderStatusStr;
return "商品退款数量:" + ItemRefund.count + ",订单状态:" + ItemOrder.orderStatusStr;
}
set { }
}
@@ -131,7 +201,7 @@ namespace AllBase.Model.Local
/// </summary>
public string refund_time_str
{
get { return BaseClass.StampToDateTime((item_refund?.create_time).ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"); }
get { return BaseClass.StampToDateTime((ItemRefund?.create_time).ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"); }
set { }
}
/// <summary>
@@ -141,7 +211,7 @@ namespace AllBase.Model.Local
{
get
{
return (this.item_refund?.create_time) > 0 ? Visibility.Visible : Visibility.Collapsed;
return (this.ItemRefund?.create_time) > 0 ? Visibility.Visible : Visibility.Collapsed;
}
set { }
}
@@ -149,9 +219,8 @@ namespace AllBase.Model.Local
/// <summary>
/// 订单中所有商品加起来的总售价文本
/// </summary>
public string real_price_str
public string realPriceStr
{
//get { return "¥" + (order_items.Sum(oi => oi.sale_price * oi.sku_cnt) * 0.01m).ParseToDecimal().ToString("0.00"); }
//get { return "¥" + (order_items.Sum(oi => oi.real_price) * 0.01m).ParseToDecimal().ToString("0.00"); }
get { return "¥" + (real_price * 0.01m).ParseToDecimal().ToString("0.00"); }
set { }
@@ -181,7 +250,7 @@ namespace AllBase.Model.Local
/// </summary>
public Visibility purchase_price_visibility
{
get { if (item_order.out_amount > 0) return Visibility.Collapsed; return Visibility.Visible; }
get { if (ItemOrder.out_amount > 0 || ItemTransitOrder?.out_amount > 0) return Visibility.Collapsed; return Visibility.Visible; }
set { }
}
@@ -199,7 +268,7 @@ namespace AllBase.Model.Local
/// </summary>
public Visibility freight_visibility
{
get { if (item_order.out_amount > 0) return Visibility.Collapsed; return Visibility.Visible; }
get { if (ItemOrder.out_amount > 0 || ItemTransitOrder?.out_amount > 0) return Visibility.Collapsed; return Visibility.Visible; }
set { }
}
@@ -228,21 +297,58 @@ namespace AllBase.Model.Local
/// </summary>
public string out_amount_str
{
//get { return "¥" + (item_order.out_amount * 0.01m).ParseToDecimal().ToString("0.00"); }
get { return "¥" + (commission_amount.ParseToInt() * 0.01m).ParseToDecimal().ToString("0.00"); }
//get { return "¥" + (ItemOrder.out_amount * 0.01m).ParseToDecimal().ToString("0.00"); }
get
{
if (ItemTransitOrder?.out_amount > 0)
return "¥" + (ItemTransitOrder.out_amount * 0.01m).ParseToDecimal().ToString("0.00");
else
return "¥" + (commission_amount.ParseToInt() * 0.01m).ParseToDecimal().ToString("0.00");
}
set { }
}
decimal profitCount = decimal.MinValue;
/// <summary>
/// 利润文本
/// 通过计算的利润
/// </summary>
public string profit_str
public decimal ProfitCount
{
get
{
if (profitCount == decimal.MinValue)
{
//ItemOrder.out_amount ItemTransitOrder.out_amount 只有一个有值
var out_amount = ItemTransitOrder?.out_amount ?? ItemOrder.out_amount / ItemOrder.orderItems.Count;
profitCount = ((real_price.ParseToInt() + cash_coupon_discounted_price.ParseToInt() - purchase_price.ParseToInt() - freight.ParseToInt() - predict_commission_fee.ParseToInt() -
commission_amount.ParseToInt() - out_amount.ParseToInt()) * 0.01m).ParseToDecimal();
}
return profitCount;
}
}
/// <summary>
/// 通过计算的利润文本
/// </summary>
public string ProfitCountStr
{
//get { return "¥" + (profit * 0.01m).ParseToDecimal().ToString("0.00"); }
//get { return "¥" + ((item_order.profit - item_order.out_amount) * 0.01m).ParseToDecimal().ToString("0.00"); }
get { return "¥" + ((real_price.ParseToInt() + cash_coupon_discounted_price.ParseToInt() - purchase_price.ParseToInt() - freight.ParseToInt() -
predict_commission_fee.ParseToInt() - commission_amount.ParseToInt() - item_order.out_amount / item_order.order_items.Count) * 0.01m)
.ParseToDecimal().ToString("0.00"); }
//get { return "¥" + ((ItemOrder.profit - ItemOrder.out_amount) * 0.01m).ParseToDecimal().ToString("0.00"); }
get
{
if (refund_status == 2 || refund_status == 3 || refund_status == 4 || refund_status == 11)
return "--";
return "¥" + ProfitCount.ToString("0.00");
}
set { }
}
public SolidColorBrush ProfitStrColor
{
get
{
if (refund_status == 2 || refund_status == 3 || refund_status == 4 || refund_status == 11)
return new SolidColorBrush(Color.FromRgb(127, 127, 127));
return ProfitCount > 0 ? new SolidColorBrush(Color.FromRgb(103, 194, 58)) : new SolidColorBrush(Color.FromRgb(250, 71, 51));
}
set { }
}
@@ -403,8 +509,51 @@ namespace AllBase.Model.Local
/// </summary>
public long? erp_goods_sku_id { get; set; }
/// <summary>
/// 售后状态 1:无售后或售后关闭,2:售后处理中,3:退款中,4: 退款成功 11 已取消
/// 售后状态 1:无售后或售后关闭,2:售后处理中,3:退款中,4:退款成功,11:已取消(售后完成订单取消)
/// </summary>
public int? refund_status { get; set; }
public void UpdateOrderItemBuyButton()
{
var order_item = this;
order_item.Shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ErpShopId == order_item.shop_id.ParseToString());
if (GlobalConfig.lstDangerItemWord.Any(d => order_item.title.Contains(d)))
{
order_item.IsBuyGoodsBtnEnabled = false;
order_item.BuyGoodsBtnBackColor = new SolidColorBrush(Color.FromArgb(50, 250, 70, 51));
order_item.BuyGoodsBtnColor = new SolidColorBrush(Color.FromArgb(255, 250, 70, 51));
order_item.BuyGoodsBtnTxt = "危险品不支持中转拍单";
}
else if (Shop == null || (Shop?.LoginStatus != "登录成功" /*&& Shop?.Is29Supplier == null*/))
{
order_item.IsBuyGoodsBtnEnabled = false;
//order_item.IsBuyGoodsBtnEnabled = true;
order_item.BuyGoodsBtnBackColor = new SolidColorBrush(Color.FromArgb(50, 250, 70, 51));
order_item.BuyGoodsBtnColor = new SolidColorBrush(Color.FromArgb(255, 250, 70, 51));
order_item.BuyGoodsBtnTxt = "请登录店铺";
}
else if (Shop?.LoginStatus == "登录成功" && Shop?.Is29Supplier == null)
{
order_item.IsBuyGoodsBtnEnabled = false;
order_item.BuyGoodsBtnBackColor = new SolidColorBrush(Color.FromArgb(50, 250, 127, 51));
order_item.BuyGoodsBtnColor = new SolidColorBrush(Color.FromArgb(255, 250, 127, 51));
order_item.BuyGoodsBtnTxt = "代发状态读取中请稍候";
}
else if (Shop?.Is29Supplier == false)
{
//order_item.IsBuyGoodsBtnEnabled = false;
order_item.IsBuyGoodsBtnEnabled = true;
order_item.BuyGoodsBtnBackColor = new SolidColorBrush(Color.FromArgb(50, 250, 70, 51));
order_item.BuyGoodsBtnColor = new SolidColorBrush(Color.FromArgb(255, 250, 70, 51));
order_item.BuyGoodsBtnTxt = "去店铺后台绑定代发";
}
else
{
order_item.IsBuyGoodsBtnEnabled = true;
order_item.BuyGoodsBtnTxt = order_item.BuyMap == null ? "关联拍单" : "拍单";
order_item.BuyGoodsBtnBackColor = new SolidColorBrush(Color.FromArgb(50, 152, 99, 143));
order_item.BuyGoodsBtnColor = new SolidColorBrush(Color.FromArgb(255, 152, 99, 143));
}
}
}
}
+87 -26
View File
@@ -5,6 +5,7 @@ using NaiBa.Util.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
@@ -115,35 +116,49 @@ namespace AllBase.Model.Result
get { return this.GetValue(x => x.ShopOrderRefundStr); }
set { this.SetValue(x => x.ShopOrderRefundStr, value); }
}
/// <summary>
/// 中转仓仓库编号
/// </summary>
public string TransitWarehouseIdStr
{
get { return this.GetValue(x => x.TransitWarehouseIdStr); }
set { this.SetValue(x => x.TransitWarehouseIdStr, value); }
}
// 拍单物流
/// <summary>
/// 拍单物流公司编码
/// </summary>
public string Express1CompanyStr
{
get { return this.GetValue(x => x.Express1CompanyStr); }
set { this.SetValue(x => x.Express1CompanyStr, value); }
}
/// <summary>
/// 拍单物流
/// </summary>
public string Express1WaybillStr
{
get { return this.GetValue(x => x.Express1WaybillStr); }
set { this.SetValue(x => x.Express1WaybillStr, value); }
}
// 中转仓物流
/// <summary>
/// 中转仓物流公司编码(提前取号)
/// </summary>
public string Express2CompanyStr
{
get { return this.GetValue(x => x.Express2CompanyStr); }
set { this.SetValue(x => x.Express2CompanyStr, value); }
}
/// <summary>
/// 中转仓物流编码(提前取号)
/// </summary>
public string Express2WaybillStr
{
get { return this.GetValue(x => x.Express2WaybillStr); }
set { this.SetValue(x => x.Express2WaybillStr, value); }
}
/// <summary>
/// 中转仓状态:0 未使用,1 已创建,2 创建失败 ?3 已提交创建
/// 中转仓状态:"0" 未使用,"1" 已创建,"2" 创建失败,"3" 处理中(业务方根据此字段处理中转流程)
/// 使用此字段判断中转仓库是否已取号
/// </summary>
public string TransferWareHouseStatus
{
@@ -151,7 +166,7 @@ namespace AllBase.Model.Result
set { this.SetValue(x => x.TransferWareHouseStatus, value); }
}
/// <summary>
/// 1正常取号 2提前取号
/// 1 正常取号 2 提前取号 3 已更正
/// </summary>
public string PreAllocatedOrderNoStr
{
@@ -159,48 +174,94 @@ namespace AllBase.Model.Result
set { this.SetValue(x => x.PreAllocatedOrderNoStr, value); }
}
/// <summary>
/// 已取号, 提前取号, 已提交, 取号失败
/// 处理中, "已取号(更正)", 已取号, 提前取号, 取号失败
/// </summary>
public string TransitOrderStatus
{
get
{
if ((TransferWareHouseStatus == "1" || TransferWareHouseStatus == "3") &&
//Express1CompanyStr == this.outExpressCompanyCode && !this.outExpressCompanyCode.IsNullOrEmpty() &&
Express1WaybillStr == this.tracking_number && !this.tracking_number.IsNullOrEmpty())
if (TransferWareHouseStatus == "3")
{
return "已取号";
return "处理中";
}
if (string.IsNullOrEmpty(Express1CompanyStr) && string.IsNullOrEmpty(Express1WaybillStr) &&
!string.IsNullOrEmpty(Express2CompanyStr) && !string.IsNullOrEmpty(Express2WaybillStr))
// 不考虑仓库取号失败情况,只要取号状态不是3或者1,且有仓库订单记录,就处理取号
//if (TransferWareHouseStatus == "2")
//{
// return "取号失败";
//}
if (PreAllocatedOrderNoStr == "3")
{
return "已取号(更正)";
}
if (PreAllocatedOrderNoStr == "1")
{
if (OrderTime >= new DateTime(2026, 6, 29))
return "已取号";
else
return "提前取号";
}
if (PreAllocatedOrderNoStr == "2")
{
return "提前取号";
}
if (/*!string.IsNullOrEmpty(Express1CompanyStr) && Express1CompanyStr != this.outExpressCompanyCode && !this.outExpressCompanyCode.IsNullOrEmpty() &&*/
!string.IsNullOrEmpty(Express1WaybillStr) && Express1WaybillStr != this.tracking_number && !this.tracking_number.IsNullOrEmpty())
if (!TransitWarehouseIdStr.IsNullOrEmpty() && OrderTime < new DateTime(2026, 6, 29))
{
return "提前取号";
return "提前取号(旧订单)";
}
if ((TransferWareHouseStatus == "1" || TransferWareHouseStatus == "3") && (string.IsNullOrEmpty(Express1CompanyStr) || string.IsNullOrEmpty(Express1WaybillStr)))
if (TransitWarehouseIdStr.IsNullOrEmpty())
{
return "提前取号";
}
if (TransferWareHouseStatus == "0" && !string.IsNullOrEmpty(Express1CompanyStr) && Express1CompanyStr == outExpressCompanyCode &&
!string.IsNullOrEmpty(Express1WaybillStr) && Express1WaybillStr == tracking_number)
{
return "已提交";
}
if (TransferWareHouseStatus == "2" && !string.IsNullOrEmpty(Express1CompanyStr) && Express1CompanyStr == outExpressCompanyCode &&
!string.IsNullOrEmpty(Express1WaybillStr) && Express1WaybillStr == tracking_number)
{
return "取号失败";
return "非中转仓订单";
}
return "";
//if ((TransferWareHouseStatus == "1" || TransferWareHouseStatus == "3") &&
// //Express1CompanyStr == this.outExpressCompanyCode && !this.outExpressCompanyCode.IsNullOrEmpty() &&
// Express1WaybillStr == this.tracking_number && !this.tracking_number.IsNullOrEmpty())
//{
// return "已取号";
//}
//if (string.IsNullOrEmpty(Express1CompanyStr) && string.IsNullOrEmpty(Express1WaybillStr) &&
// !string.IsNullOrEmpty(Express2CompanyStr) && !string.IsNullOrEmpty(Express2WaybillStr))
//{
// return "提前取号";
//}
//if (/*!string.IsNullOrEmpty(Express1CompanyStr) && Express1CompanyStr != this.outExpressCompanyCode && !this.outExpressCompanyCode.IsNullOrEmpty() &&*/
// !string.IsNullOrEmpty(Express1WaybillStr) && Express1WaybillStr != this.tracking_number && !this.tracking_number.IsNullOrEmpty())
//{
// return "提前取号";
//}
//if ((TransferWareHouseStatus == "1" || TransferWareHouseStatus == "3") && (string.IsNullOrEmpty(Express1CompanyStr) || string.IsNullOrEmpty(Express1WaybillStr)))
//{
// return "提前取号";
//}
//if (TransferWareHouseStatus == "0" && !string.IsNullOrEmpty(Express1CompanyStr) && Express1CompanyStr == outExpressCompanyCode &&
// !string.IsNullOrEmpty(Express1WaybillStr) && Express1WaybillStr == tracking_number)
//{
// return "已提交";
//}
//if (TransferWareHouseStatus == "2" && !string.IsNullOrEmpty(Express1CompanyStr) && Express1CompanyStr == outExpressCompanyCode &&
// !string.IsNullOrEmpty(Express1WaybillStr) && Express1WaybillStr == tracking_number)
//{
// return "取号失败";
//}
//return "";
}
set { }
}
public DateTime TransitCreateTime
{
get { return this.GetValue(x => x.TransitCreateTime); }
set { this.SetValue(x => x.TransitCreateTime, value); }
}
public DateTime OrderTime
{
get { return BaseClass.StampToDateTime(order_time.ParseToInt()); }
set { }
}
public string OrderTimeStr
{
get { return BaseClass.StampToDateTime(order_time.ParseToInt()).ToString("yy-MM-dd HH:mm:ss"); }