From fda30c824afbda8af2cc55549385dd75383d797c Mon Sep 17 00:00:00 2001 From: wule Date: Sun, 25 Oct 2026 22:10:39 +0800 Subject: [PATCH 01/11] =?UTF-8?q?1=20=E9=80=80=E8=B4=A7=E7=89=A9=E6=B5=81?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=A6=82=E6=9E=9C=E4=B8=AD=E8=BD=AC=E8=A1=A8?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E4=BB=8E=E4=B9=B0=E6=89=8B=E5=8D=95=E8=A1=A8?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=20=202=E4=BB=93=E5=BA=93=E8=AF=A6=E7=BB=86?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OrderCtrls/OrderListRowItemCtrl.xaml.cs | 2 +- .../OrderTransitListDetailCtrl.xaml | 45 +++++++++++++++++-- .../TransitAfterSaleWindow.xaml.cs | 43 +++++++++++------- .../Model/DBModel/TransitWarehouseParam.cs | 20 +++++++++ .../oms_wei_order_item_transit_info.cs | 22 +++++++-- 5 files changed, 109 insertions(+), 23 deletions(-) diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs index 5cfbef3..dc1da95 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs @@ -2135,7 +2135,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls private async void borderWarehouseStatas_MouseUp(object sender, MouseButtonEventArgs e) { - return; + //return; if (this.DataContext is oms_wei_order_item_info orderItem) { oms_wei_order_item_transit_info transitInfo = new oms_wei_order_item_transit_info() diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml index a878279..a95a542 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml @@ -137,7 +137,7 @@ BorderThickness="0" FontWeight="Normal" IsReadOnly="True" - Text="{Binding WxOrderId}" + Text="{Binding WarehouseStatus}" TextWrapping="Wrap" /> @@ -146,7 +146,7 @@ Background="Transparent" BorderThickness="0" IsReadOnly="True" - Text="{Binding PickUpTimeStr}" + Text="{Binding UpperWaybill}" TextWrapping="Wrap" /> @@ -155,12 +155,51 @@ Background="Transparent" BorderThickness="0" IsReadOnly="True" + Text="{Binding DownWaybill}" + TextWrapping="Wrap" /> + + + + + + + + + + + + + - diff --git a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs index 3dff0ec..3404bdf 100644 --- a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs +++ b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs @@ -30,8 +30,9 @@ namespace _29WxOrderWpf.Windows.OrderWindows public partial class TransitAfterSaleWindow : BaseWindow { public oms_wei_order_item_info OrderItem { get; set; } + public oms_wei_external_procurement_log_info TransitOrder { get; set; } = null; - public TransitAfterSaleWindow(oms_wei_order_item_info orderItem) + public TransitAfterSaleWindow(oms_wei_order_item_info orderItem) { InitializeComponent(); @@ -54,9 +55,24 @@ namespace _29WxOrderWpf.Windows.OrderWindows if (OrderItem != null) { - this.cmbWareHouse.Text = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransId == OrderItem.ItemTransitOrderWithVoid?.platform)?.TransName; - this.txtExpressName.Text = OrderItem.ItemTransitOrder?.express_2_company ?? OrderItem.ItemTransitOrderWithVoid?.express_2_company; - this.txtWarehouseWaybill.Text = OrderItem.ItemTransitOrder?.express_2_waybill ?? OrderItem.ItemTransitOrderWithVoid?.express_2_waybill; + if (TransitOrder == null) + { + if (OrderItem.ItemTransitOrder != null) + TransitOrder = OrderItem.ItemTransitOrder; + else + TransitOrder = OrderItem.ItemTransitOrderWithVoid; + } + this.cmbWareHouse.Text = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransId == TransitOrder?.platform)?.TransName; + this.txtExpressName.Text = TransitOrder?.express_2_company; + this.txtWarehouseWaybill.Text = TransitOrder?.express_2_waybill; + if (this.txtExpressName.Text.IsNullOrEmpty()) + { + this.txtExpressName.Text = OrderItem.PddBuyerOrders.FirstOrDefault(p => p.order_sn == TransitOrder?.out_order_no)?.outExpressCompanyCode; + } + if (this.txtWarehouseWaybill.Text.IsNullOrEmpty()) + { + this.txtWarehouseWaybill.Text = OrderItem.PddBuyerOrders.FirstOrDefault(p => p.order_sn == TransitOrder?.out_order_no)?.tracking_number; + } if (OrderItem.ItemTransitOrderAfterSale != null) { @@ -73,8 +89,8 @@ namespace _29WxOrderWpf.Windows.OrderWindows else { // 需要手动申请售后的,先去申请售后再提交拦截退回总店 - if (!string.IsNullOrEmpty(OrderItem.ItemTransitOrderWithVoid?.out_order_no) && OrderItem.PddBuyerAfterSaleAddressStr.IsNullOrEmpty() && - OrderItem.TransitRefundStatusStr.Contains("需手动申请售后") || OrderItem.TransitRefundStatusStr.Contains("待用户发货")) + if (!string.IsNullOrEmpty(TransitOrder?.out_order_no) && OrderItem.PddBuyerAfterSaleAddressStr.IsNullOrEmpty() && + (OrderItem.TransitRefundStatusStr.Contains("需手动申请售后") || OrderItem.TransitRefundStatusStr.Contains("待用户发货"))) { btnAdd.IsEnabled = false; imgLoading.Visibility = Visibility.Visible; @@ -89,7 +105,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows btnAdd.IsEnabled = true; } - if (OrderItem.PddBuyerAfterSale?.orderSn == OrderItem.ItemTransitOrder?.out_order_no && !string.IsNullOrEmpty(OrderItem.PddBuyerAfterSale?.afterSaleAddress)) + if (OrderItem.PddBuyerAfterSale?.orderSn == TransitOrder?.out_order_no && !string.IsNullOrEmpty(OrderItem.PddBuyerAfterSale?.afterSaleAddress)) { txtAddressAnalysis.Text = OrderItem.PddBuyerAfterSale?.afterSaleAddress; btnAddressAnalysis_Click(null, null); @@ -107,8 +123,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows } } - //if (OrderItem?.ItemTransitOrder?.warehouse_status != 0 && OrderItem?.ItemTransitOrder?.warehouse_status != 1) - ////if (OrderItem?.ItemTransitOrderWithVoid?.warehouse_status != 0 && OrderItem?.ItemTransitOrderWithVoid?.warehouse_status != 1) + //if (TransitOrder?.warehouse_status != 0 && TransitOrder?.warehouse_status != 1) //{ // btnAdd.IsEnabled = false; // //BaseMsgWindow.ShowError("当前订单仓库状态不支持售后,请联系买家直接退回总店!"); @@ -116,7 +131,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows // return; //} - if ((OrderItem?.ItemTransitOrder?.warehouse_status).ParseToInt() < 1) + if ((TransitOrder?.warehouse_status).ParseToInt() < 1) { //btnAdd.IsEnabled = false; //lblMsg.Content = "当前订单仓库状态不支持拦截退回总店,建议联系买家直接退回总店!"; @@ -151,7 +166,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows JObject data = new JObject(); data["orderNo"] = OrderItem.order_id; - data["orderCode"] = OrderItem.ItemTransitOrderWithVoid?.order_code; + data["orderCode"] = TransitOrder?.order_code; data["refundProvince"] = txtProvince.Text.Trim(); data["refundCity"] = txtCity.Text.Trim(); data["refundCounty"] = txtCounty.Text.Trim(); @@ -249,9 +264,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows public string AddWorkOrder() { - if (OrderItem.ItemTransitOrder?.warehouse_status == 3) - return "\"success\":true,\"message\":\"已到仓,无需拦截工单\""; - if (OrderItem.ItemTransitOrderWithVoid?.warehouse_status == 3) + if (TransitOrder?.warehouse_status == 3) return "\"success\":true,\"message\":\"已到仓,无需拦截工单\""; string url = HttpResponseTransitWorkOrderBLL.WorkOrderUrl + "/api/open/v1/customer-work-orders/intercept-return-cloud-warehouse-after-outbound"; @@ -259,7 +272,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows obj["appId"] = this.OrderItem.Shop?.ShopId; obj["wechatOrderNo"] = this.OrderItem.order_id; //obj["purchaseOrderNo"] = this.OrderItem.PddBuyerAfterSale?.orderSn; - obj["purchaseOrderNo"] = OrderItem.ItemTransitOrderWithVoid?.order_code; + obj["purchaseOrderNo"] = TransitOrder?.order_code; obj["creator"] = BaseClass.UserName; obj["remark"] = "客户要求拦截并退回云仓"; diff --git a/AllBase/Model/DBModel/TransitWarehouseParam.cs b/AllBase/Model/DBModel/TransitWarehouseParam.cs index afb547b..54cddac 100644 --- a/AllBase/Model/DBModel/TransitWarehouseParam.cs +++ b/AllBase/Model/DBModel/TransitWarehouseParam.cs @@ -43,6 +43,26 @@ namespace AllBase.Model.DBModel public class TransitWarehouseData { + public static Dictionary dicWarehouseIdName = new Dictionary() + { + { "XDYBJC", "北京仓" }, + { "XDYGZC", "广州仓" }, + { "XDYWHC", "武汉2仓" }, + { "XDYSHANDC", "山东2仓" }, + { "XDYSHC", "上海新仓" }, + { "XDYSZC", "深圳仓" }, + { "XDYYWC", "义乌仓" }, + { "XDYJJC", "晋江仓" }, + { "XDYCDC", "成都仓" }, + { "XDYCHONGQC", "重庆2仓" }, + { "XDYHEBC", "哈尔滨仓" }, + { "XDYXA", "西安仓" }, + { "XDYGYC", "贵阳仓" }, + { "XDYKMC", "昆明仓" }, + { "XDYSSC", "河北仓" }, + { "XDYZZC", "郑州仓" }, + }; + public static string TransitWarehouseDataStr = @" XDYBJC ;北京仓 ;胡萍 ;18565773752 ;北京市顺义区光明街道滨河小区七区1号楼 ;2 ;52 ;511 ;北京市 ;北京市 ;顺义区 ;光明街道 ;滨河小区七区1号楼108室 XDYGZC ;广州仓 ;何外华 ;13826339849 ;广州市增城区朱村街道育山一路68号国际物流园 ;6 ;76 ;702 ;广东省 ;广州市 ;增城区 ;朱村街道 ;育山一路68号国际物流园 diff --git a/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs b/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs index 6a7ec64..d357054 100644 --- a/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs +++ b/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs @@ -55,13 +55,17 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject OutOrderId = transitOrder.out_order_no, OutBuyerName = transitOrder.OutOrderBuyerStr, - UpperWaybill = (transitOrder.express_1_company + "-" + transitOrder.express_1_waybill).Trim('-'), + //UpperWaybill = transitOrder.express_1_waybill != transitOrder.virtual_waybill_no ? "" : (transitOrder.express_1_company + "-" + transitOrder.express_1_waybill).Trim('-'), + UpperWaybill = transitOrder.pre_allocated_order_no != 1 && transitOrder.pre_allocated_order_no != 3 ? "" : (transitOrder.express_1_company + "-" + transitOrder.express_1_waybill).Trim('-'), DownWaybill = (transitOrder.express_2_company + "-" + transitOrder.express_2_waybill).Trim('-'), BuyReundStatus = transitOrder.refund_status, PickUpTime = transitOrder.pickup_time == DateTime.MinValue ? null : transitOrder.pickup_time, InboundTime = transitOrder.inbound_time, OutboundTime = transitOrder.outbound_time, + + WarehouseId = transitOrder.platform, + WarehouseName = TransitWarehouseData.dicWarehouseIdName.ContainsKey(transitOrder.platform) ? TransitWarehouseData.dicWarehouseIdName[transitOrder.platform] : transitOrder.platform, }; if (!transitDetail.OutOrderId.StartsWith("tb_")) @@ -116,6 +120,16 @@ public class oms_wei_order_item_transit_detail_info : PropertyNotifyObject get { return this.GetValue(x => x.SourceCode); } set { this.SetValue(x => x.SourceCode, value); } } + public string WarehouseId + { + get { return this.GetValue(x => x.WarehouseId); } + set { this.SetValue(x => x.WarehouseId, value); } + } + public string WarehouseName + { + get { return this.GetValue(x => x.WarehouseName); } + set { this.SetValue(x => x.WarehouseName, value); } + } /// 取号时间((中转单)创建时间) public DateTime? PickUpTime { @@ -209,7 +223,7 @@ public class oms_wei_order_item_transit_detail_info : PropertyNotifyObject public Visibility DownWaybillVisibility { get { return this.GetValue(x => x.DownWaybillVisibility); } - private set { this.SetValue(x => x.DownWaybillVisibility, value); } + set { this.SetValue(x => x.DownWaybillVisibility, value); } } public DateTime? InboundTime @@ -220,7 +234,7 @@ public class oms_wei_order_item_transit_detail_info : PropertyNotifyObject public string InboundTimeStr { get { return this.GetValue(x => x.InboundTimeStr); } - private set { this.SetValue(x => x.InboundTimeStr, value); } + set { this.SetValue(x => x.InboundTimeStr, value); } } public DateTime? OutboundTime { @@ -230,6 +244,6 @@ public class oms_wei_order_item_transit_detail_info : PropertyNotifyObject public string OutboundTimeStr { get { return this.GetValue(x => x.OutboundTimeStr); } - private set { this.SetValue(x => x.OutboundTimeStr, value); } + set { this.SetValue(x => x.OutboundTimeStr, value); } } } From 37d879c3e52ca3baedc1cfb3f25a78a0d2f32ad0 Mon Sep 17 00:00:00 2001 From: wule Date: Mon, 26 Oct 2026 01:45:07 +0800 Subject: [PATCH 02/11] =?UTF-8?q?model=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oms_wei_external_procurement_log_info.cs | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/AllBase/Model/DBModel/oms_wei_external_procurement_log_info.cs b/AllBase/Model/DBModel/oms_wei_external_procurement_log_info.cs index aaa9846..902c8c7 100644 --- a/AllBase/Model/DBModel/oms_wei_external_procurement_log_info.cs +++ b/AllBase/Model/DBModel/oms_wei_external_procurement_log_info.cs @@ -145,5 +145,29 @@ namespace AllBase.Model.DBModel /// 拦截退回操作信息/回调信息 /// public string intercept_return_info { get; set; } + /// + /// 是否手动发货:0自动发货,1手动发货 + /// + public int is_manual_shipment { get; set; } + /// + /// 手动发货处理状态:0未处理,1成功,2失败 + /// + public int? manual_shipment_status { get; set; } + /// + /// 货架号 + /// + public string location_code { get; set; } + /// + /// 货架写入时间 + /// + public DateTime location_write_time { get; set; } + /// + /// 虚拟快递单号 + /// + public string virtual_waybill_no { get; set; } + /// + /// 虚拟快递公司 + /// + public string virtual_express_company { get; set; } } } From f8af5730d32edd29ab99ee8724b97f7d6d690e93 Mon Sep 17 00:00:00 2001 From: wule Date: Mon, 26 Oct 2026 15:27:29 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=8C=85=E8=A3=B9?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BuyerCtrls/TaobaoBuyOrderViewModel.cs | 8 +- .../OrderTransitListDetailCtrl.xaml | 455 ++++++++++-------- ...ei_external_procurement_after_sale_info.cs | 15 +- .../oms_wei_external_procurement_log_info.cs | 2 +- .../oms_wei_order_item_transit_info.cs | 254 ++++++++-- 5 files changed, 476 insertions(+), 258 deletions(-) diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/TaobaoBuyOrderViewModel.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/TaobaoBuyOrderViewModel.cs index ace38cc..c827e82 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/TaobaoBuyOrderViewModel.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/TaobaoBuyOrderViewModel.cs @@ -1341,10 +1341,10 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls isOnsale = 1, spec = taobaoSku?.propPath, // 淘宝格式与拼多多存在差异,包含冒号与父类型id specs = pddSpecs, - price = tbSku2.price.priceMoney.ParseToInt() + 100, - normalPrice = ((tbSku2.price.priceMoney.ParseToInt() + 100) / 100m).ToString("F2"), - groupPrice = tbSku2.price.priceText, - oldGroupPrice = tbSku2.price.priceMoney.ParseToInt(), + price = tbSku2.price?.priceMoney.ParseToInt() + 100, + normalPrice = ((tbSku2.price?.priceMoney.ParseToInt() + 100) / 100m).ParseToDecimal().ToString("F2"), + groupPrice = tbSku2.price?.priceText, + oldGroupPrice = tbSku2.price?.priceMoney.ParseToInt(), }; pddFrontGoods3.skus.Add(pddFrontSkuInfo); } diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml index a95a542..996d761 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml @@ -1,206 +1,253 @@  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + x:Class="_29WxOrderWpf.Ctrls.OrderCtrls.OrderTransitListDetailCtrl" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:local="clr-namespace:_29WxOrderWpf.Ctrls.OrderCtrls" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:wpf="WPFCommon" + d:DesignHeight="280" + d:DesignWidth="800" + Background="White" + mc:Ignorable="d"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AllBase/Model/DBModel/oms_wei_external_procurement_after_sale_info.cs b/AllBase/Model/DBModel/oms_wei_external_procurement_after_sale_info.cs index a0a7f17..e69999d 100644 --- a/AllBase/Model/DBModel/oms_wei_external_procurement_after_sale_info.cs +++ b/AllBase/Model/DBModel/oms_wei_external_procurement_after_sale_info.cs @@ -97,5 +97,18 @@ namespace AllBase.Model.DBModel /// 下游快递公司编码 /// public string downstream_express_code { get; set; } - } + /// + /// 订单初始费用(分) + /// + public int? postage { get; set; } + /// + /// 货架号 + /// + public string location_code { get; set; } + /// + /// 货架写入时间 + /// + public DateTime? location_write_time { get; set; } + + } } diff --git a/AllBase/Model/DBModel/oms_wei_external_procurement_log_info.cs b/AllBase/Model/DBModel/oms_wei_external_procurement_log_info.cs index 902c8c7..0acbbf1 100644 --- a/AllBase/Model/DBModel/oms_wei_external_procurement_log_info.cs +++ b/AllBase/Model/DBModel/oms_wei_external_procurement_log_info.cs @@ -160,7 +160,7 @@ namespace AllBase.Model.DBModel /// /// 货架写入时间 /// - public DateTime location_write_time { get; set; } + public DateTime? location_write_time { get; set; } /// /// 虚拟快递单号 /// diff --git a/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs b/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs index d357054..f4db870 100644 --- a/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs +++ b/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs @@ -18,7 +18,7 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject set { this.SetValue(x => x.OrderItem, value); - GetOrderItemTransitDetail(); + GetOrderItemTransitList(); } } @@ -28,78 +28,205 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject private set { this.SetValue(x => x.OrderItemTransitDetailList, value); } } - void GetOrderItemTransitDetail() + void GetOrderItemTransitList() + { + List transitDetailList = + [ + .. GetOrderItemTransitDetailList(), + .. GetOrderItemTransitAftersaleList(), + ]; + + this.OrderItemTransitDetailList = new ObservableCollection(transitDetailList); + } + + List GetOrderItemTransitDetailList() { if (OrderItem == null || OrderItem.ItemOrder == null) { - this.OrderItemTransitDetailList = new ObservableCollection(); - return; + return new List(); } - List transitDetailList = new List(); + List detailList = new List(); + foreach (var transitOrder in OrderItem.ItemTransitOrders ?? new List()) { - - var transitDetail = new oms_wei_order_item_transit_detail_info() + try { - TransitTypeStr = "发货包裹", + var transitDetail = new oms_wei_order_item_transit_detail_info() + { + ShopName = OrderItem.ItemOrder.shop_name, - OrderCode = transitOrder.order_code, - SourceCode = transitOrder.random_code, + TransitTypeStr = "发货包裹", - WxOrderId = transitOrder.order_no, - WxOrderSkuId = transitOrder.order_sku_id, - WxOrderThumbImg = OrderItem.thumb_img, - WxOrderCreateTime = OrderItem.ItemOrder.CreateDateTime, + OrderCode = transitOrder.order_code, + SourceCode = transitOrder.random_code, - OutOrderId = transitOrder.out_order_no, - OutBuyerName = transitOrder.OutOrderBuyerStr, + WxOrderId = transitOrder.order_no, + WxOrderSkuId = transitOrder.order_sku_id, + WxOrderThumbImg = OrderItem.thumb_img, + WxOrderCreateTime = OrderItem.ItemOrder.CreateDateTime, - //UpperWaybill = transitOrder.express_1_waybill != transitOrder.virtual_waybill_no ? "" : (transitOrder.express_1_company + "-" + transitOrder.express_1_waybill).Trim('-'), - UpperWaybill = transitOrder.pre_allocated_order_no != 1 && transitOrder.pre_allocated_order_no != 3 ? "" : (transitOrder.express_1_company + "-" + transitOrder.express_1_waybill).Trim('-'), - DownWaybill = (transitOrder.express_2_company + "-" + transitOrder.express_2_waybill).Trim('-'), - BuyReundStatus = transitOrder.refund_status, + TransitAddTimeStr = transitOrder.created_time.ToString("yyyy-MM-dd HH:mm:ss"), - PickUpTime = transitOrder.pickup_time == DateTime.MinValue ? null : transitOrder.pickup_time, - InboundTime = transitOrder.inbound_time, - OutboundTime = transitOrder.outbound_time, + OutOrderId = transitOrder.out_order_no, + OutBuyerName = transitOrder.OutOrderBuyerStr, - WarehouseId = transitOrder.platform, - WarehouseName = TransitWarehouseData.dicWarehouseIdName.ContainsKey(transitOrder.platform) ? TransitWarehouseData.dicWarehouseIdName[transitOrder.platform] : transitOrder.platform, - }; + //UpperWaybill = transitOrder.express_1_waybill != transitOrder.virtual_waybill_no ? "" : (transitOrder.express_1_company + "-" + transitOrder.express_1_waybill).Trim('-'), + UpperWaybill = transitOrder.pre_allocated_order_no != 1 && transitOrder.pre_allocated_order_no != 3 ? "" : (transitOrder.express_1_company + "-" + transitOrder.express_1_waybill).Trim('-'), + DownWaybill = (transitOrder.express_2_company + "-" + transitOrder.express_2_waybill).Trim('-'), + BuyReundStatus = transitOrder.refund_status, - if (!transitDetail.OutOrderId.StartsWith("tb_")) - transitDetail.OutBuyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder.buyer_account)?.buyer_id ?? ""; - else - transitDetail.OutBuyerId = GlobalConfig.TaobaoBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder.buyer_account)?.buyer_id ?? ""; + PickUpTime = transitOrder.pickup_time == DateTime.MinValue ? null : transitOrder.pickup_time, + CreateTimeStr = transitOrder.pickup_time == DateTime.MinValue ? null : transitOrder.pickup_time.ToString("yyyy-MM-dd HH:mm:ss"), + InboundTime = transitOrder.inbound_time, + OutboundTime = transitOrder.outbound_time, - // 中转仓订单创建状态 0 未使用,1 已创建,2 创建失败,3 处理中(业务方根据此字段处理中转流程) - if (transitOrder.transfer_warehouse_status == 1) - transitDetail.TransitStatus = "已创建"; - else if (transitOrder.transfer_warehouse_status == 2) - transitDetail.TransitStatus = "创建失败"; - else if (transitOrder.transfer_warehouse_status == 3) - transitDetail.TransitStatus = "创建中"; + WarehouseId = transitOrder.platform, + WarehouseName = TransitWarehouseData.dicWarehouseIdName.ContainsKey(transitOrder.platform) ? TransitWarehouseData.dicWarehouseIdName[transitOrder.platform] : transitOrder.platform, - // 中转仓入库状态 0: 未入库, 1: 已入库, 2: 已出库, 3: 拦截到仓 - if (transitOrder.warehouse_status == 0) - transitDetail.WarehouseStatus = "已创建"; - else if (transitOrder.warehouse_status == 1) - transitDetail.WarehouseStatus = "已入库"; - else if (transitOrder.warehouse_status == 2) - transitDetail.WarehouseStatus = "已出库"; - else if (transitOrder.warehouse_status == 3) - transitDetail.WarehouseStatus = "已拦截到仓"; + ShelfCodeStr = transitOrder.location_code, + ShelfTimeStr = transitOrder.location_write_time == null ? "" : transitOrder.location_write_time.Value.ToString("yyyy-MM-dd HH:mm:ss"), + }; - transitDetailList.Add(transitDetail); + if (!transitDetail.OutOrderId.StartsWith("tb_")) + transitDetail.OutBuyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder.buyer_account)?.buyer_id ?? ""; + else + transitDetail.OutBuyerId = GlobalConfig.TaobaoBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder.buyer_account)?.buyer_id ?? ""; + + // 中转仓订单创建状态 0 未使用,1 已创建,2 创建失败,3 处理中(业务方根据此字段处理中转流程) + if (transitOrder.transfer_warehouse_status == 1) + transitDetail.TransitStatus = "已创建"; + else if (transitOrder.transfer_warehouse_status == 2) + transitDetail.TransitStatus = "创建失败"; + else if (transitOrder.transfer_warehouse_status == 3) + transitDetail.TransitStatus = "创建中"; + + // 中转仓入库状态 0: 未入库, 1: 已入库, 2: 已出库, 3: 拦截到仓 + if (transitOrder.warehouse_status == 0) + transitDetail.WarehouseStatus = "已创建"; + else if (transitOrder.warehouse_status == 1) + transitDetail.WarehouseStatus = "已入库"; + else if (transitOrder.warehouse_status == 2) + transitDetail.WarehouseStatus = "已出库"; + else if (transitOrder.warehouse_status == 3) + transitDetail.WarehouseStatus = "已拦截到仓"; + + if (transitOrder.order_void_status == 1) + transitDetail.TransitVoidStatus = "(已作废)"; + //else if (transitOrder.order_void_status == 2) + // transitDetail.TransitVoidStatus = "(作废失败)"; + + detailList.Add(transitDetail); + } + catch (Exception ex) + { + + } + } + return detailList; + } + + List GetOrderItemTransitAftersaleList() + { + if (OrderItem == null || OrderItem.ItemOrder == null) + { + return new List(); } - this.OrderItemTransitDetailList = new ObservableCollection(transitDetailList); + List detailList = new List(); + + foreach (var transitAftersaleOrder in OrderItem.ItemTransitOrderAfterSales ?? new List()) + { + try + { + var transitOrder = OrderItem.ItemTransitOrders?.FirstOrDefault(t => t.order_code == transitAftersaleOrder.order_code); + var transitDetail = new oms_wei_order_item_transit_detail_info() + { + ShopName = OrderItem.ItemOrder.shop_name, + + //TransitTypeStr = "拦截退回", + TransitTypeStr = "退货包裹", + + OrderCode = transitAftersaleOrder.order_code + " / " + transitAftersaleOrder.external_order_no, + SourceCode = transitOrder?.random_code, + + WxOrderId = transitAftersaleOrder.order_no, + WxOrderSkuId = transitOrder?.order_sku_id, + WxOrderThumbImg = OrderItem.thumb_img, + WxOrderCreateTime = OrderItem.ItemOrder.CreateDateTime, + + TransitAddTimeStr = transitAftersaleOrder.created_time == null ? "" : transitAftersaleOrder.created_time.Value.ToString("yyyy-MM-dd HH:mm:ss"), + + OutOrderId = transitOrder?.out_order_no, + OutBuyerName = transitOrder?.OutOrderBuyerStr, + + UpperWaybill = (transitAftersaleOrder.return_express_company + "-" + transitAftersaleOrder.refund_waybill).Trim('-'), + DownWaybill = (transitAftersaleOrder.downstream_express_code + "-" + transitAftersaleOrder.downstream_waybill).Trim('-'), + BuyReundStatus = transitOrder.refund_status, + + // 售后暂时缺少取号时间 + //PickUpTime = transitAftersaleOrder.pickup_time == DateTime.MinValue ? null : transitAftersaleOrder.pickup_time, + CreateTimeStr = transitAftersaleOrder.created_time == null ? null : transitAftersaleOrder.created_time.Value.ToString("yyyy-MM-dd HH:mm:ss"), + InboundTime = transitAftersaleOrder.inbound_time, + OutboundTime = transitAftersaleOrder.outbound_time, + + WarehouseId = transitOrder?.platform, + WarehouseName = TransitWarehouseData.dicWarehouseIdName.ContainsKey(transitOrder?.platform) ? TransitWarehouseData.dicWarehouseIdName[transitOrder?.platform] : transitOrder?.platform, + + ShelfCodeStr = transitAftersaleOrder.location_code, + ShelfTimeStr = transitAftersaleOrder.location_write_time == null ? "" : transitAftersaleOrder.location_write_time.Value.ToString("yyyy-MM-dd HH:mm:ss"), + }; + + if (!transitDetail.OutOrderId.StartsWith("tb_")) + transitDetail.OutBuyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder?.buyer_account)?.buyer_id ?? ""; + else + transitDetail.OutBuyerId = GlobalConfig.TaobaoBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder?.buyer_account)?.buyer_id ?? ""; + + // 售后处理状态,0未处理,1处理中,2已完成,9异常 + if (transitAftersaleOrder.status == 1) + transitDetail.TransitStatus = "处理中"; + if (transitAftersaleOrder.status == 1) + transitDetail.TransitStatus = "处理中"; + else if (transitAftersaleOrder.status == 2) + transitDetail.TransitStatus = "已完成"; + else if (transitAftersaleOrder.status == 9) + transitDetail.TransitStatus = "异常"; + + // 售后入库状态 1=入库 2=出库 + if (transitAftersaleOrder.warehouse_status == 0) + transitDetail.WarehouseStatus = "已创建"; + else if (transitAftersaleOrder.warehouse_status == 1) + transitDetail.WarehouseStatus = "已入库"; + else if (transitAftersaleOrder.warehouse_status == 2) + transitDetail.WarehouseStatus = "已出库"; + else if (transitAftersaleOrder.warehouse_status == 3) + transitDetail.WarehouseStatus = "已拦截到仓"; + + // 售后暂时没有作废状态 + //if (transitAftersaleOrder.order_void_status == 1) + // transitDetail.TransitVoidStatus = "(已作废)"; + //else if (transitOrder.order_void_status == 2) + // transitDetail.TransitVoidStatus = "(作废失败)"; + + detailList.Add(transitDetail); + } + catch (Exception ex) + { + + } + } + return detailList; } } public class oms_wei_order_item_transit_detail_info : PropertyNotifyObject { + public string ShopName + { + get { return this.GetValue(x => x.ShopName); } + set { this.SetValue(x => x.ShopName, value); } + } + /// /// 仓库类型 发货包裹 退货包裹 /// @@ -130,6 +257,11 @@ public class oms_wei_order_item_transit_detail_info : PropertyNotifyObject get { return this.GetValue(x => x.WarehouseName); } set { this.SetValue(x => x.WarehouseName, value); } } + public string CreateTimeStr + { + get { return this.GetValue(x => x.CreateTimeStr); } + set { this.SetValue(x => x.CreateTimeStr, value); } + } /// 取号时间((中转单)创建时间) public DateTime? PickUpTime { @@ -164,6 +296,14 @@ public class oms_wei_order_item_transit_detail_info : PropertyNotifyObject get { return this.GetValue(x => x.WxOrderCreateTimeStr); } set { this.SetValue(x => x.WxOrderCreateTimeStr, value); } } + /// + /// 添加记录时间 + /// + public string TransitAddTimeStr + { + get { return this.GetValue(x => x.TransitAddTimeStr); } + set { this.SetValue(x => x.TransitAddTimeStr, value); } + } public string WxOrderThumbImg { get { return this.GetValue(x => x.WxOrderThumbImg); } @@ -198,6 +338,12 @@ public class oms_wei_order_item_transit_detail_info : PropertyNotifyObject get { return this.GetValue(x => x.WarehouseStatus); } set { this.SetValue(x => x.WarehouseStatus, value); } } + /// 作废状态 + public string TransitVoidStatus + { + get { return this.GetValue(x => x.TransitVoidStatus); } + set { this.SetValue(x => x.TransitVoidStatus, value); } + } /// 买手退货状态 public string BuyReundStatus { @@ -246,4 +392,16 @@ public class oms_wei_order_item_transit_detail_info : PropertyNotifyObject get { return this.GetValue(x => x.OutboundTimeStr); } set { this.SetValue(x => x.OutboundTimeStr, value); } } + + public string ShelfCodeStr + { + get { return this.GetValue(x => x.ShelfCodeStr); } + set { this.SetValue(x => x.ShelfCodeStr, value); } + } + + public string ShelfTimeStr + { + get { return this.GetValue(x => x.ShelfTimeStr); } + set { this.SetValue(x => x.ShelfTimeStr, value); } + } } From cb61749cda0e5584ab250ddfdbcee5d4a5c598b5 Mon Sep 17 00:00:00 2001 From: wule Date: Tue, 27 Oct 2026 10:16:34 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E4=BB=93=E5=BA=93=E5=8D=95=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=88=97=E8=A1=A8=20=20=20=E4=B8=AD=E8=BD=AC=E4=BB=93?= =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=8C=85=E8=A3=B9=E5=A6=82=E6=9E=9C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E7=89=A9=E6=B5=81=E4=BD=BF=E7=94=A8=E4=B9=B0=E6=89=8B?= =?UTF-8?q?=E7=89=A9=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OrderCtrls/OrderListRowItemCtrl.xaml.cs | 2 +- .../OrderTransitListDetailCtrl.xaml | 55 ++++- .../TransitAfterSaleWindow.xaml.cs | 6 + ...ei_external_procurement_after_sale_info.cs | 1 + .../oms_wei_order_item_transit_info.cs | 209 ++++++++++++++++-- .../DBModel/oms_wei_transfer_extra_package.cs | 8 + 6 files changed, 255 insertions(+), 26 deletions(-) diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs index dc1da95..5cfbef3 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs @@ -2135,7 +2135,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls private async void borderWarehouseStatas_MouseUp(object sender, MouseButtonEventArgs e) { - //return; + return; if (this.DataContext is oms_wei_order_item_info orderItem) { oms_wei_order_item_transit_info transitInfo = new oms_wei_order_item_transit_info() diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml index 996d761..6d12254 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitListDetailCtrl.xaml @@ -7,7 +7,7 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:wpf="WPFCommon" d:DesignHeight="280" - d:DesignWidth="800" + d:DesignWidth="1000" Background="White" mc:Ignorable="d"> @@ -66,6 +66,7 @@ + + - @@ -213,6 +207,49 @@ BorderBrush="LightSkyBlue" BorderThickness="0,0,1,0" Opacity="0.5"> + + + + + + + + + + + + + public int? postage { get; set; } + public DateTime? pickup_time { get; set; } /// /// 货架号 /// diff --git a/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs b/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs index f4db870..510f8f7 100644 --- a/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs +++ b/AllBase/Model/DBModel/oms_wei_order_item_transit_info.cs @@ -1,5 +1,6 @@ using AllBase.Helper; using AllBase.Model.MvvmBaseClasses; +using NaiBa.Util.Extension; using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -34,11 +35,16 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject [ .. GetOrderItemTransitDetailList(), .. GetOrderItemTransitAftersaleList(), + .. GetOrderItemTransitExtraList(), ]; this.OrderItemTransitDetailList = new ObservableCollection(transitDetailList); } + /// + /// 获取发货包裹对应信息列表 + /// + /// List GetOrderItemTransitDetailList() { if (OrderItem == null || OrderItem.ItemOrder == null) @@ -54,6 +60,9 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject { var transitDetail = new oms_wei_order_item_transit_detail_info() { + oms_wei_order_item_info = OrderItem, + oms_wei_external_procurement_log_info = transitOrder, + ShopName = OrderItem.ItemOrder.shop_name, TransitTypeStr = "发货包裹", @@ -74,7 +83,7 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject //UpperWaybill = transitOrder.express_1_waybill != transitOrder.virtual_waybill_no ? "" : (transitOrder.express_1_company + "-" + transitOrder.express_1_waybill).Trim('-'), UpperWaybill = transitOrder.pre_allocated_order_no != 1 && transitOrder.pre_allocated_order_no != 3 ? "" : (transitOrder.express_1_company + "-" + transitOrder.express_1_waybill).Trim('-'), DownWaybill = (transitOrder.express_2_company + "-" + transitOrder.express_2_waybill).Trim('-'), - BuyReundStatus = transitOrder.refund_status, + BuyRefundStatus = transitOrder.refund_status, PickUpTime = transitOrder.pickup_time == DateTime.MinValue ? null : transitOrder.pickup_time, CreateTimeStr = transitOrder.pickup_time == DateTime.MinValue ? null : transitOrder.pickup_time.ToString("yyyy-MM-dd HH:mm:ss"), @@ -94,6 +103,8 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject transitDetail.OutBuyerId = GlobalConfig.TaobaoBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder.buyer_account)?.buyer_id ?? ""; // 中转仓订单创建状态 0 未使用,1 已创建,2 创建失败,3 处理中(业务方根据此字段处理中转流程) + if (transitOrder.transfer_warehouse_status == 0) + transitDetail.TransitStatus = "未使用"; if (transitOrder.transfer_warehouse_status == 1) transitDetail.TransitStatus = "已创建"; else if (transitOrder.transfer_warehouse_status == 2) @@ -112,9 +123,29 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject transitDetail.WarehouseStatus = "已拦截到仓"; if (transitOrder.order_void_status == 1) - transitDetail.TransitVoidStatus = "(已作废)"; + transitDetail.TransitVoidStatus = "已作废"; //else if (transitOrder.order_void_status == 2) - // transitDetail.TransitVoidStatus = "(作废失败)"; + // transitDetail.TransitVoidStatus = "作废失败"; + + if (transitOrder?.has_reject == 1) + transitDetail.TransitRejectStatus = "已申请拒收"; + if (transitOrder?.has_reject == 2) + transitDetail.TransitRejectStatus = "申请失败"; + if (transitOrder?.has_reject == 3) + transitDetail.TransitRejectStatus = "申请成功"; + if (transitOrder?.has_reject == 5) + transitDetail.TransitRejectStatus = "已取消拒收"; + if (transitOrder?.has_reject == 99) + transitDetail.TransitRejectStatus = "拒收成功"; + + var wayBillId = transitOrder.express_2_waybill ?? transitOrder.express_1_waybill; + var transitAfterSaleOrder = OrderItem.ItemTransitOrderAfterSales.FirstOrDefault(a => a.order_code == transitOrder.order_code && a.refund_waybill == wayBillId); + if (transitAfterSaleOrder != null) + transitDetail.TransitReturnStatus = "已申请拦截"; + if (transitOrder.intercept_return_status == 1 || !string.IsNullOrEmpty(transitAfterSaleOrder?.downstream_waybill)) + transitDetail.TransitReturnStatus = "拦截成功"; + else if (transitOrder.intercept_return_status == 2) + transitDetail.TransitReturnStatus = "拦截失败"; detailList.Add(transitDetail); } @@ -126,6 +157,10 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject return detailList; } + /// + /// 获取退货包裹对应信息列表 + /// + /// List GetOrderItemTransitAftersaleList() { if (OrderItem == null || OrderItem.ItemOrder == null) @@ -142,6 +177,9 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject var transitOrder = OrderItem.ItemTransitOrders?.FirstOrDefault(t => t.order_code == transitAftersaleOrder.order_code); var transitDetail = new oms_wei_order_item_transit_detail_info() { + oms_wei_order_item_info = OrderItem, + oms_wei_external_procurement_after_sale_info = transitAftersaleOrder, + ShopName = OrderItem.ItemOrder.shop_name, //TransitTypeStr = "拦截退回", @@ -162,10 +200,10 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject UpperWaybill = (transitAftersaleOrder.return_express_company + "-" + transitAftersaleOrder.refund_waybill).Trim('-'), DownWaybill = (transitAftersaleOrder.downstream_express_code + "-" + transitAftersaleOrder.downstream_waybill).Trim('-'), - BuyReundStatus = transitOrder.refund_status, + BuyRefundStatus = transitOrder.refund_status, - // 售后暂时缺少取号时间 - //PickUpTime = transitAftersaleOrder.pickup_time == DateTime.MinValue ? null : transitAftersaleOrder.pickup_time, + // todo 售后暂时缺少取号时间 + PickUpTime = transitAftersaleOrder.pickup_time == DateTime.MinValue ? null : transitAftersaleOrder.pickup_time, CreateTimeStr = transitAftersaleOrder.created_time == null ? null : transitAftersaleOrder.created_time.Value.ToString("yyyy-MM-dd HH:mm:ss"), InboundTime = transitAftersaleOrder.inbound_time, OutboundTime = transitAftersaleOrder.outbound_time, @@ -182,9 +220,9 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject else transitDetail.OutBuyerId = GlobalConfig.TaobaoBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder?.buyer_account)?.buyer_id ?? ""; - // 售后处理状态,0未处理,1处理中,2已完成,9异常 - if (transitAftersaleOrder.status == 1) - transitDetail.TransitStatus = "处理中"; + // 退货包裹处理状态,0未处理,1处理中,2已完成,9异常 + if (transitAftersaleOrder.status == 0) + transitDetail.TransitStatus = "未处理"; if (transitAftersaleOrder.status == 1) transitDetail.TransitStatus = "处理中"; else if (transitAftersaleOrder.status == 2) @@ -192,7 +230,7 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject else if (transitAftersaleOrder.status == 9) transitDetail.TransitStatus = "异常"; - // 售后入库状态 1=入库 2=出库 + // 退货包裹入库状态 1=入库 2=出库 if (transitAftersaleOrder.warehouse_status == 0) transitDetail.WarehouseStatus = "已创建"; else if (transitAftersaleOrder.warehouse_status == 1) @@ -204,9 +242,13 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject // 售后暂时没有作废状态 //if (transitAftersaleOrder.order_void_status == 1) - // transitDetail.TransitVoidStatus = "(已作废)"; + // transitDetail.TransitVoidStatus = "已作废"; //else if (transitOrder.order_void_status == 2) - // transitDetail.TransitVoidStatus = "(作废失败)"; + // transitDetail.TransitVoidStatus = "作废失败"; + + // 售后表没有拒收和拒收状态功能 + + // 售后表拦截成功状态在主表或者额外包裹表显示 detailList.Add(transitDetail); } @@ -217,10 +259,133 @@ public class oms_wei_order_item_transit_info : PropertyNotifyObject } return detailList; } + + /// + /// 获取额外包裹对应信息列表 + /// + /// + List GetOrderItemTransitExtraList() + { + if (OrderItem == null || OrderItem.ItemOrder == null) + { + return new List(); + } + + List detailList = new List(); + + foreach (var transitExtraOrder in OrderItem.ItemTransitExtraOrders ?? new List()) + { + try + { + var transitOrder = OrderItem.ItemTransitOrders?.FirstOrDefault(t => t.order_code == transitExtraOrder.order_code); + var transitDetail = new oms_wei_order_item_transit_detail_info() + { + oms_wei_order_item_info = OrderItem, + oms_wei_transfer_extra_package = transitExtraOrder, + + ShopName = OrderItem.ItemOrder.shop_name, + + TransitTypeStr = "额外包裹", + + OrderCode = transitExtraOrder.order_code + " / " + transitExtraOrder.batchId, + SourceCode = transitOrder?.random_code, + + WxOrderId = transitExtraOrder.order_no, + WxOrderSkuId = transitOrder?.order_sku_id, + WxOrderThumbImg = OrderItem.thumb_img, + WxOrderCreateTime = OrderItem.ItemOrder.CreateDateTime, + + TransitAddTimeStr = transitExtraOrder.created_time == null ? "" : transitExtraOrder.created_time.Value.ToString("yyyy-MM-dd HH:mm:ss"), + + OutOrderId = transitOrder?.out_order_no, + OutBuyerName = transitOrder?.OutOrderBuyerStr, + + UpperWaybill = (transitExtraOrder.logistics_code + "-" + transitExtraOrder.logistics_express_code).Trim('-'), + DownWaybill = (transitExtraOrder.real_logistics_code + "-" + transitExtraOrder.real_logistics_express_code).Trim('-'), + BuyRefundStatus = transitOrder.refund_status, + + PickUpTime = transitExtraOrder.pickup_time == DateTime.MinValue ? null : transitExtraOrder.pickup_time, + CreateTimeStr = transitExtraOrder.created_time == null ? null : transitExtraOrder.created_time.Value.ToString("yyyy-MM-dd HH:mm:ss"), + InboundTime = transitExtraOrder.inbound_time, + OutboundTime = transitExtraOrder.outbound_time, + + WarehouseId = transitOrder?.platform, + WarehouseName = TransitWarehouseData.dicWarehouseIdName.ContainsKey(transitOrder?.platform) ? TransitWarehouseData.dicWarehouseIdName[transitOrder?.platform] : transitOrder?.platform, + + ShelfCodeStr = transitExtraOrder.location_code, + ShelfTimeStr = transitExtraOrder.location_write_time == null ? "" : transitExtraOrder.location_write_time.Value.ToString("yyyy-MM-dd HH:mm:ss"), + }; + + if (!transitDetail.OutOrderId.StartsWith("tb_")) + transitDetail.OutBuyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder?.buyer_account)?.buyer_id ?? ""; + else + transitDetail.OutBuyerId = GlobalConfig.TaobaoBuyerLoginList.FirstOrDefault(b => b.buyer_id == transitOrder?.buyer_account)?.buyer_id ?? ""; + + // 额外包裹处理状态,0 未使用,1 已创建,2 创建失败 + if (transitExtraOrder.transfer_warehouse_status == 0) + transitDetail.TransitStatus = "未使用"; + if (transitExtraOrder.transfer_warehouse_status == 1) + transitDetail.TransitStatus = "已创建"; + else if (transitExtraOrder.transfer_warehouse_status == 2) + transitDetail.TransitStatus = "创建失败"; + else if (transitExtraOrder.transfer_warehouse_status == 3) + transitDetail.TransitStatus = "处理中"; + + // 额外包裹入库状态 1=入库 2=出库 + if (transitExtraOrder.warehouse_status == 0) + transitDetail.WarehouseStatus = "已创建"; + else if (transitExtraOrder.warehouse_status == 1) + transitDetail.WarehouseStatus = "已入库"; + else if (transitExtraOrder.warehouse_status == 2) + transitDetail.WarehouseStatus = "已出库"; + else if (transitExtraOrder.warehouse_status == 3) + transitDetail.WarehouseStatus = "已拦截到仓"; + + // 额外包裹作废状态 + if (transitExtraOrder.order_void_status == 1) + transitDetail.TransitVoidStatus = "已作废"; + //else if (transitExtraOrder.order_void_status == 2) + // transitDetail.TransitVoidStatus = "作废失败"; + + if (transitExtraOrder?.has_reject == 1) + transitDetail.TransitRejectStatus = "已申请拒收"; + if (transitExtraOrder?.has_reject == 2) + transitDetail.TransitRejectStatus = "申请失败"; + if (transitExtraOrder?.has_reject == 3) + transitDetail.TransitRejectStatus = "申请成功"; + if (transitExtraOrder?.has_reject == 5) + transitDetail.TransitRejectStatus = "已取消拒收"; + if (transitExtraOrder?.has_reject == 99) + transitDetail.TransitRejectStatus = "拒收成功"; + + // 额外包裹拦截状态暂时没有,待补充 + //var wayBillId = transitOrder.express_2_waybill ?? transitOrder.express_1_waybill; + //var transitAfterSaleOrder = OrderItem.ItemTransitOrderAfterSales.FirstOrDefault(a => a.order_code == transitOrder.order_code && a.refund_waybill == wayBillId); + //if (transitAfterSaleOrder != null) + // transitDetail.TransitReturnStatus = "已申请拦截"; + //if (transitOrder.intercept_return_status == 1 || !string.IsNullOrEmpty(transitAfterSaleOrder?.downstream_waybill)) + // transitDetail.TransitReturnStatus = "拦截成功"; + //else if (transitOrder.intercept_return_status == 2) + // transitDetail.TransitReturnStatus = "拦截失败"; + + detailList.Add(transitDetail); + } + catch (Exception ex) + { + + } + } + return detailList; + } } public class oms_wei_order_item_transit_detail_info : PropertyNotifyObject { + public oms_wei_order_item_info oms_wei_order_item_info { get; set; } + public oms_wei_external_procurement_log_info oms_wei_external_procurement_log_info { get; set; } + public oms_wei_external_procurement_after_sale_info oms_wei_external_procurement_after_sale_info { get; set; } + public oms_wei_transfer_extra_package oms_wei_transfer_extra_package { get; set; } + public string ShopName { get { return this.GetValue(x => x.ShopName); } @@ -344,11 +509,23 @@ public class oms_wei_order_item_transit_detail_info : PropertyNotifyObject get { return this.GetValue(x => x.TransitVoidStatus); } set { this.SetValue(x => x.TransitVoidStatus, value); } } - /// 买手退货状态 - public string BuyReundStatus + /// 拒收状态 + public string TransitRejectStatus { - get { return this.GetValue(x => x.BuyReundStatus); } - set { this.SetValue(x => x.BuyReundStatus, value); } + get { return this.GetValue(x => x.TransitRejectStatus); } + set { this.SetValue(x => x.TransitRejectStatus, value); } + } + /// 拦截退回状态 + public string TransitReturnStatus + { + get { return this.GetValue(x => x.TransitReturnStatus); } + set { this.SetValue(x => x.TransitReturnStatus, value); } + } + /// 买手退货状态 + public string BuyRefundStatus + { + get { return this.GetValue(x => x.BuyRefundStatus); } + set { this.SetValue(x => x.BuyRefundStatus, value); } } public string UpperWaybill diff --git a/AllBase/Model/DBModel/oms_wei_transfer_extra_package.cs b/AllBase/Model/DBModel/oms_wei_transfer_extra_package.cs index 119444f..8bd20bc 100644 --- a/AllBase/Model/DBModel/oms_wei_transfer_extra_package.cs +++ b/AllBase/Model/DBModel/oms_wei_transfer_extra_package.cs @@ -48,4 +48,12 @@ public class oms_wei_transfer_extra_package : PropertyNotifyObject public DateTime? rejected_time { get; set; } // '拒收时间', public int? has_reject { get; set; } // DEFAULT NULL, public DateTime? blocked_arrival_time { get; set; } + /// + /// 货架号 + /// + public string location_code { get; set; } + /// + /// 货架写入时间 + /// + public DateTime? location_write_time { get; set; } } \ No newline at end of file From 8e581196af2edea8b9cf70c091eea3361a69a45d Mon Sep 17 00:00:00 2001 From: wule Date: Tue, 27 Oct 2026 10:19:49 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E6=B3=A8=E9=87=8A=E7=AD=89=E5=B0=8F?= =?UTF-8?q?=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs index 300655c..5e6edaf 100644 --- a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs +++ b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs @@ -142,6 +142,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows { if (string.IsNullOrEmpty(lblWorkOrderMsg.Content.ParseToString())) { + // 创建拦截退货包裹工单 var workOrder = AddWorkOrder(); if (!workOrder.Contains("\"success\":true")) { @@ -175,7 +176,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows data["recipientPhone"] = txtMobile.Text.Trim(); data["account_user"] = BaseClass.UserName; data["accountUser"] = BaseClass.UserName; - if (string.IsNullOrEmpty(TransitOrder.express_1_waybill) && string.IsNullOrEmpty(TransitOrder.express_2_waybill) && + if (string.IsNullOrWhiteSpace(TransitOrder?.express_1_waybill) && string.IsNullOrWhiteSpace(TransitOrder?.express_2_waybill) && !string.IsNullOrWhiteSpace(txtWarehouseWaybill.Text) && !string.IsNullOrWhiteSpace(txtExpressName.Text.Trim())) { data["refundWaybill"] = txtWarehouseWaybill.Text.Trim(); From 3f618707da59d0a741eb400516cc96035682aab5 Mon Sep 17 00:00:00 2001 From: wule Date: Tue, 27 Oct 2026 10:21:58 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E6=96=B0=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AllBase/BaseClass.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index ad00653..ae95cc2 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -37,7 +37,7 @@ namespace AllBase /// 版本ID /// - public static int VersionCount = 362; + public static int VersionCount = 363; //public static string ServerUrl { get; set; } = "http://1.13.195.131:9000"; public static string ServerUrl From e01d9a468171879a7339d5eb7baa6ac1b1d87fcd Mon Sep 17 00:00:00 2001 From: wule Date: Tue, 27 Oct 2026 16:12:27 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=20=E6=98=BE=E7=A4=BA=E4=B8=AD=E8=BD=AC?= =?UTF-8?q?=E4=BB=93=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs | 173 ++++++++---------- .../Ctrls/OrderCtrls/OrderListCtrl.xaml.cs | 7 +- .../OrderCtrls/OrderListRowItemCtrl.xaml.cs | 2 +- .../TransitAfterSaleWindow.xaml.cs | 34 ++-- .../Model/DBModel/TransitWarehouseParam.cs | 8 +- .../ProductForms/WXOrderListOptimizeForm.cs | 44 ++--- 6 files changed, 135 insertions(+), 133 deletions(-) diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs index cd2a8a2..9f02c3d 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs @@ -399,111 +399,96 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls } - //if (data1.Contains("260415-154067299863696") || data1.Contains("待用户退回商品") || data1.Contains("已寄出,待商家处理") || data1.Contains("待商家处理退货申请") || data1.Contains("待用户拒收商品")) - //{ + //if (data1.Contains("260415-154067299863696") || data1.Contains("待用户退回商品") || data1.Contains("已寄出,待商家处理") || data1.Contains("待商家处理退货申请") || data1.Contains("待用户拒收商品")) + //{ - //} + //} - // 已发货 第一页 - if (url1.StartsWith("https://mobile.yangkeduo.com/orders.html?type=3")) //https://mobile.yangkeduo.com/orders.html?type=3 - { - await Task.Run(() => - { - if (data1.Contains("display_amount")) - { - var jsonData = BaseRegex.GetJsonObjStrJson(ref data1, "ordersStore")?.FirstOrDefault(); - var nickName = BaseRegex.GetStringJson(ref data1, "nickName"); - var uid = BaseRegex.GetStringJson(ref data1, "uid"); - var buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == uid)?.buyer_id; - if (buyerId.IsNullOrEmpty()) - buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_nick == nickName)?.buyer_id; - if (!string.IsNullOrEmpty(jsonData) && !string.IsNullOrEmpty(buyerId)) - { - var ordersStr = BaseRegex.GetJsonObjStrJson(ref jsonData, "initOdersList")?.FirstOrDefault(); - if (ordersStr != null && ordersStr.StartsWith("{\"3\":")) - { - ordersStr = "{\"orders\":" + ordersStr.Substring(5); - CefReadBuyerOrder(buyerId, ordersStr); - } - } - } - }); - } - // 待发货 第一页 - if (url1.StartsWith("https://mobile.yangkeduo.com/orders.html?type=2")) - { - await Task.Run(() => - { - if (data1.Contains("display_amount")) - { - var jsonData = BaseRegex.GetJsonObjStrJson(ref data1, "ordersStore")?.FirstOrDefault(); - var nickName = BaseRegex.GetStringJson(ref data1, "nickName"); - var uid = BaseRegex.GetStringJson(ref data1, "uid"); - var buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == uid)?.buyer_id; - if (buyerId.IsNullOrEmpty()) - buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_nick == nickName)?.buyer_id; - if (!string.IsNullOrEmpty(jsonData) && !string.IsNullOrEmpty(buyerId)) - { - var ordersStr = BaseRegex.GetJsonObjStrJson(ref jsonData, "initOdersList")?.FirstOrDefault(); - if (ordersStr != null && ordersStr.StartsWith("{\"2\":")) - { - ordersStr = "{\"orders\":" + ordersStr.Substring(5); - CefReadBuyerOrder(buyerId, ordersStr); - } - } - } - }); - } + // 已发货 第一页 + if (url1.StartsWith("https://mobile.yangkeduo.com/orders.html?type=3")) //https://mobile.yangkeduo.com/orders.html?type=3 + { + if (data1.Contains("display_amount")) + { + var jsonData = BaseRegex.GetJsonObjStrJson(ref data1, "ordersStore")?.FirstOrDefault(); + var nickName = BaseRegex.GetStringJson(ref data1, "nickName"); + var uid = BaseRegex.GetStringJson(ref data1, "uid"); + var buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == uid)?.buyer_id; + if (buyerId.IsNullOrEmpty()) + buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_nick == nickName)?.buyer_id; + if (!string.IsNullOrEmpty(jsonData) && !string.IsNullOrEmpty(buyerId)) + { + var ordersStr = BaseRegex.GetJsonObjStrJson(ref jsonData, "initOdersList")?.FirstOrDefault(); + if (ordersStr != null && ordersStr.StartsWith("{\"3\":")) + { + ordersStr = "{\"orders\":" + ordersStr.Substring(5); + await CefReadBuyerOrder(buyerId, ordersStr); + } + } + } + } + // 待发货 第一页 + if (url1.StartsWith("https://mobile.yangkeduo.com/orders.html?type=2")) + { + if (data1.Contains("display_amount")) + { + var jsonData = BaseRegex.GetJsonObjStrJson(ref data1, "ordersStore")?.FirstOrDefault(); + var nickName = BaseRegex.GetStringJson(ref data1, "nickName"); + var uid = BaseRegex.GetStringJson(ref data1, "uid"); + var buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == uid)?.buyer_id; + if (buyerId.IsNullOrEmpty()) + buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_nick == nickName)?.buyer_id; + if (!string.IsNullOrEmpty(jsonData) && !string.IsNullOrEmpty(buyerId)) + { + var ordersStr = BaseRegex.GetJsonObjStrJson(ref jsonData, "initOdersList")?.FirstOrDefault(); + if (ordersStr != null && ordersStr.StartsWith("{\"2\":")) + { + ordersStr = "{\"orders\":" + ordersStr.Substring(5); + await CefReadBuyerOrder(buyerId, ordersStr); + } + } + } + } // 读订单 if (/*(cefAddress.Contains("orders.html")) &&*/ url1.StartsWith("https://mobile.yangkeduo.com/proxy/api/api/aristotle/order_list_v")) //https://mobile.yangkeduo.com/proxy/api/api/aristotle/order_list_v4?pdduid=6766109923730 { - await Task.Run(() => - { - CefReadBuyerOrder(url1, data1); - }); + await CefReadBuyerOrder(url1, data1); } - // 售后 第一页 - if (url1.StartsWith("https://mobile.yangkeduo.com/complaint_list.html")) - { - await Task.Run(() => - { - if (data1.Contains("listItemStatusVo") && data1.Contains("afterSalesId") && data1.Contains("statusText")) - { - var cookie2 = cookie1.Replace(";", "&").Replace(" ", ""); - var jsonDatas = BaseRegex.GetJsonObjStrJson(ref data1, "listDataMap"); - var jsonData = jsonDatas?.OrderByDescending(x => x.Length).FirstOrDefault(); - var uid = BaseRegex.GetStringQuery(ref cookie2, "pdd_user_id"); - var buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == uid)?.buyer_id; - if (!string.IsNullOrEmpty(buyerId) && !string.IsNullOrEmpty(jsonData)) - { - try - { - var jObj = JsonHelper.JObjectParse(jsonData); - jObj["result"] = jObj["all"]; - jObj["result"]["listItemVOList"] = jObj["result"]["list"]; + // 售后 第一页 + if (url1.StartsWith("https://mobile.yangkeduo.com/complaint_list.html")) + { + if (data1.Contains("listItemStatusVo") && data1.Contains("afterSalesId") && data1.Contains("statusText")) + { + var cookie2 = cookie1.Replace(";", "&").Replace(" ", ""); + var jsonDatas = BaseRegex.GetJsonObjStrJson(ref data1, "listDataMap"); + var jsonData = jsonDatas?.OrderByDescending(x => x.Length).FirstOrDefault(); + var uid = BaseRegex.GetStringQuery(ref cookie2, "pdd_user_id"); + var buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == uid)?.buyer_id; + if (!string.IsNullOrEmpty(buyerId) && !string.IsNullOrEmpty(jsonData)) + { + try + { + var jObj = JsonHelper.JObjectParse(jsonData); + jObj["result"] = jObj["all"]; + jObj["result"]["listItemVOList"] = jObj["result"]["list"]; - var nextQueryCreatedAt = BaseRegex.GetStringJson(ref data1, "nextQueryCreatedAt"); - jObj["result"]["nextQueryCreatedAt"] = nextQueryCreatedAt; + var nextQueryCreatedAt = BaseRegex.GetStringJson(ref data1, "nextQueryCreatedAt"); + jObj["result"]["nextQueryCreatedAt"] = nextQueryCreatedAt; - CefReadBuyerAfterSale(buyerId, JsonHelper.SerializeObject(jObj)); - } - catch - { + await CefReadBuyerAfterSale(buyerId, JsonHelper.SerializeObject(jObj)); + } + catch + { - } - } - } - }); - } + } + } + } + } // 读取售后 if (url1.StartsWith("https://mobile.yangkeduo.com/proxy/api/api/blade/after_sales_list")) { - await Task.Run(() => - { - CefReadBuyerAfterSale(url1, data1); - }); + await CefReadBuyerAfterSale(url1, data1); } }); } @@ -717,7 +702,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls pdd_afterSale.AfterSaleAddress = buyer_after_sale?.afterSaleAddress; } - void CefReadBuyerOrder(string url, string data) + async Task CefReadBuyerOrder(string url, string data) { if (data.Contains("轻奢壁挂式香皂盒置物架卫生间沥水家居可拆卸收纳盒翻盖肥皂盒")) { @@ -964,7 +949,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls })); } - Task.Run(() => + await Task.Run(() => { // 根据订单状态 取号/修改取号 if (order.WxSendTypeStr == "直发") @@ -1090,7 +1075,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite); } - void CefReadBuyerAfterSale(string url, string data) + async Task CefReadBuyerAfterSale(string url, string data) { var buyer = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => url.Contains(b.buyer_id)); if (buyer == null) diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs index aac80bd..725f97d 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs @@ -609,7 +609,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls } } - disPlayOrderTabOrderCount(); + if (page % 5 == 1 || page >= totalPage) + disPlayOrderTabOrderCount(); } // 处理店铺后台物流异常单 @@ -1144,6 +1145,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls if (shop.LoginStatus != "登录成功") continue; + // 查询异常订单 var rst = WxSimAbnormalOrderSeach(shop, 100); //Thread.Sleep(Randomx.GetId(50, 150)); if (rst.Contains("\"code\":0")) @@ -1268,7 +1270,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls BaseMsgWindow.ShowAnimateMessage("订单扩展信息查询失败 " + ex.Message, "Error", 5); } } - disPlayOrderTabOrderCount(); + if (index % 5 == 0 || index >= GlobalConfig.ShopLoginList.Count - 1) + disPlayOrderTabOrderCount(); } } diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs index 5cfbef3..dc1da95 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs @@ -2135,7 +2135,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls private async void borderWarehouseStatas_MouseUp(object sender, MouseButtonEventArgs e) { - return; + //return; if (this.DataContext is oms_wei_order_item_info orderItem) { oms_wei_order_item_transit_info transitInfo = new oms_wei_order_item_transit_info() diff --git a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs index 5e6edaf..1b0b8ac 100644 --- a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs +++ b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs @@ -63,15 +63,25 @@ namespace _29WxOrderWpf.Windows.OrderWindows TransitOrder = OrderItem.ItemTransitOrderWithVoid; } this.cmbWareHouse.Text = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransId == TransitOrder?.platform)?.TransName; - this.txtExpressName.Text = TransitOrder?.express_2_company; - this.txtWarehouseWaybill.Text = TransitOrder?.express_2_waybill; - if (this.txtExpressName.Text.IsNullOrEmpty()) + this.txtExpressName.Text = string.IsNullOrWhiteSpace(TransitOrder?.express_2_waybill) ? TransitOrder?.express_1_company : TransitOrder?.express_2_company; + this.txtWarehouseWaybill.Text = string.IsNullOrWhiteSpace(TransitOrder?.express_2_waybill) ? TransitOrder?.express_1_waybill : TransitOrder?.express_2_waybill; + if (TransitOrder != null && (this.txtExpressName.Text.IsNullOrEmpty() || this.txtWarehouseWaybill.Text.IsNullOrEmpty())) { this.txtExpressName.Text = OrderItem.PddBuyerOrders.FirstOrDefault(p => p.order_sn == TransitOrder?.out_order_no)?.outExpressCompanyCode; - } - if (this.txtWarehouseWaybill.Text.IsNullOrEmpty()) - { this.txtWarehouseWaybill.Text = OrderItem.PddBuyerOrders.FirstOrDefault(p => p.order_sn == TransitOrder?.out_order_no)?.tracking_number; + + if (!string.IsNullOrWhiteSpace(this.txtExpressName.Text) && !string.IsNullOrWhiteSpace(this.txtWarehouseWaybill.Text)) + { + // 没物流信息的仓库单手动更新买手物流信息 + JObject data = new JObject(); + data["orderNo"] = OrderItem.order_id; + data["orderCode"] = TransitOrder?.order_code; + data["logisticsExpressCode"] = this.txtWarehouseWaybill.Text; + data["logisticsExpressCompany"] = this.txtExpressName.Text; + var updateTransitExpressUrl = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/orders/updateLogisticsExpressCode"; + var updateTransitExpressStr = JsonHelper.SerializeObject(data); + var updateTransitExpressRst = HttpResponseWXBLL.e57PostResponse(updateTransitExpressUrl, updateTransitExpressStr, ""); + } } if (OrderItem.ItemTransitOrderAfterSale != null) @@ -176,12 +186,12 @@ namespace _29WxOrderWpf.Windows.OrderWindows data["recipientPhone"] = txtMobile.Text.Trim(); data["account_user"] = BaseClass.UserName; data["accountUser"] = BaseClass.UserName; - if (string.IsNullOrWhiteSpace(TransitOrder?.express_1_waybill) && string.IsNullOrWhiteSpace(TransitOrder?.express_2_waybill) && - !string.IsNullOrWhiteSpace(txtWarehouseWaybill.Text) && !string.IsNullOrWhiteSpace(txtExpressName.Text.Trim())) - { - data["refundWaybill"] = txtWarehouseWaybill.Text.Trim(); - data["returnExpressCompany"] = txtExpressName.Text.Trim(); - } + //if (string.IsNullOrWhiteSpace(TransitOrder?.express_1_waybill) && string.IsNullOrWhiteSpace(TransitOrder?.express_2_waybill) && + // !string.IsNullOrWhiteSpace(txtWarehouseWaybill.Text) && !string.IsNullOrWhiteSpace(txtExpressName.Text.Trim())) + //{ + // data["refundWaybill"] = txtWarehouseWaybill.Text.Trim(); + // data["returnExpressCompany"] = txtExpressName.Text.Trim(); + //} //data["platform"] = "WEISHOP"; if (GlobalConfig.BuyConfig.IsUseAppBalance) diff --git a/AllBase/Model/DBModel/TransitWarehouseParam.cs b/AllBase/Model/DBModel/TransitWarehouseParam.cs index 54cddac..8fff9fa 100644 --- a/AllBase/Model/DBModel/TransitWarehouseParam.cs +++ b/AllBase/Model/DBModel/TransitWarehouseParam.cs @@ -61,6 +61,7 @@ namespace AllBase.Model.DBModel { "XDYKMC", "昆明仓" }, { "XDYSSC", "河北仓" }, { "XDYZZC", "郑州仓" }, + { "XDYFJSSC", "福建仓" }, }; public static string TransitWarehouseDataStr = @" @@ -69,8 +70,11 @@ XDYGZC ;广州仓 ;何外华 ;13826339849 ;广州市增城区朱村街 XDYWHC ;武汉2仓 ;杨先生 ;13044121071 ;湖北省武汉市江汉区民族街道沿江大道轮渡龙王庙码头 ;13 ;180 ;1546 ;湖北省 ;武汉市 ;江汉区 ;民族街道 ;沿江大道轮渡龙王庙码头 XDYSHANDC ;山东2仓 ;鸿鹄小申 ;13044121239 ;山东省临沂市费县南外环东转盘往东200米顺通快递有限公司(仓库二楼) ;22 ;292 ;2415 ;山东省 ;临沂市 ;费县 ;费城街道 ;南外环东转盘往东200米顺通快递有限公司(仓库二楼) XDYSHC ;上海新仓 ;纪先生 ;13044121150 ;上海市上海市普陀区真如镇街道真北路2653弄T区 ;25 ;321 ;2709 ;上海市 ;上海市 ;普陀区 ;真如镇街道 ;真北路2653弄T区 -XDYSZC ;深圳仓 ;峰峰 ;15343351331 ;广东省东莞市凤岗镇浸校塘东良巷逸乐轩E栋5号楼 ;6 ;79 ;732 ;广东省 ;东莞市 ;凤岗镇 ;凤岗街道 ;浸校塘东良巷逸乐轩E栋5号楼"; - //XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省义乌市后宅街道金城高尔夫二期别墅区401栋 ;31 ;386 ;3409 ;浙江省 ;金华市 ;义乌市 ;后宅街道 ;金城高尔夫二期别墅区401栋 +XDYSZC ;深圳仓 ;峰峰 ;15343351331 ;广东省东莞市凤岗镇浸校塘东良巷逸乐轩E栋5号楼 ;6 ;79 ;732 ;广东省 ;东莞市 ;凤岗镇 ;凤岗街道 ;浸校塘东良巷逸乐轩E栋5号楼 +XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省金华市义乌市后宅街道金城高尔夫二期别墅区401栋 ;31 ;386 ;3409 ;浙江省 ;金华市 ;义乌市 ;后宅街道 ;金城高尔夫二期别墅区401栋 +XDYFJSSC ;福建仓 ;小张 ;13799125513 ;福建省泉州市晋江市青阳街道中堡电商园一栋 ;4 ;58 ;568 ;福建省 ;泉州市 ;晋江市 ;青阳街道 ;中堡电商园一栋"; + + //XDYFJSSC 石狮仓 福建省/泉州市/晋江市青阳街道中堡电商园一栋 //XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省金华市义乌市北苑街道西站大道妈妈商贸18号库39号楼誉达 ;31 ;386 ;3409 ;浙江省 ;金华市 ;义乌市 ;北苑街道 ;西站大道妈妈商贸18号库39号楼誉达 //XDYJJC ;晋江仓 ;安群 ;19905951984 ;福建省泉州市南安市霞美镇温山村431号鸿鹄大厦 ;4 ;58 ;569 ;福建省 ;泉州市 //XDYCDC ;成都仓 ;谢春虹 ;15828201479 ;四川省资阳市乐至县仙鹤大道桑都街15-19号仓库(不要放驿站,送到仓库) ;26 ;340 ;2898 ;四川省 ;资阳市 diff --git a/Work/_29Tools/Forms/ProductForms/WXOrderListOptimizeForm.cs b/Work/_29Tools/Forms/ProductForms/WXOrderListOptimizeForm.cs index 9d4d579..1dac486 100644 --- a/Work/_29Tools/Forms/ProductForms/WXOrderListOptimizeForm.cs +++ b/Work/_29Tools/Forms/ProductForms/WXOrderListOptimizeForm.cs @@ -376,29 +376,29 @@ namespace Work._29Tools.Forms.ShopForms return; } - { - JObject endActivityObj = new JObject(); - endActivityObj["platformActivityId"] = "1269"; - JArray arr = new JArray(); - foreach (var sku in prodObjs["skuList"]) - { - JObject obj = new JObject(); - obj["productId"] = spuId; - obj["skuId"] = sku["skuId"]; - arr.Add(obj); - } - endActivityObj["productList"] = arr; - endActivityObj["actionType"] = 1; - //{ "platformActivityId":"1016","productList":[{ "productId":"10000879673464","skuId":"15601266074"},{ "productId":"10000879673464","skuId":"15601240593"}],"actionType":1} + //{ + // JObject endActivityObj = new JObject(); + // endActivityObj["platformActivityId"] = "1269"; + // JArray arr = new JArray(); + // foreach (var sku in prodObjs["skuList"]) + // { + // JObject obj = new JObject(); + // obj["productId"] = spuId; + // obj["skuId"] = sku["skuId"]; + // arr.Add(obj); + // } + // endActivityObj["productList"] = arr; + // endActivityObj["actionType"] = 1; + // //{ "platformActivityId":"1016","productList":[{ "productId":"10000879673464","skuId":"15601266074"},{ "productId":"10000879673464","skuId":"15601240593"}],"actionType":1} - rst = WxSimProductBLL.cancelActivity(shop, endActivityObj); - if (!rst.Contains("\"code\":0")) - { - var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg"); - BaseMsgForm.ShowError("取消优惠失败 " + error); - return; - } - } + // rst = WxSimProductBLL.cancelActivity(shop, endActivityObj); + // if (!rst.Contains("\"code\":0")) + // { + // var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg"); + // BaseMsgForm.ShowError("取消优惠失败 " + error); + // return; + // } + //} { JObject endActivityObj = new JObject(); From c79758f235b26e9c310266bb34e772c7622c3d90 Mon Sep 17 00:00:00 2001 From: wule Date: Tue, 27 Oct 2026 17:01:51 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B7=98=E5=AE=9D?= =?UTF-8?q?=E4=B9=B0=E6=89=8B=E5=94=AE=E5=90=8E=E8=AF=BB=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs index 8c5587b..d103d67 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs @@ -660,9 +660,17 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls oList.Add(o); + if (o.order_sn == "tb_5127890185262007919") + { + + } // 售后单放在同一个列表中统一处理 var refundStatus = BaseRegex.GetStringJson(ref orderItemInfoStr, "refundStatus"); - if (!string.IsNullOrEmpty(refundStatus) && !string.IsNullOrEmpty(orderStatus)) + if (refundStatus.IsNullOrEmpty()) + { + refundStatus = BaseRegex.GetStringJson(ref shopInfoStr, "tradeTitle") == "交易关闭" ? "退款成功" : ""; + } + if ((!string.IsNullOrEmpty(refundStatus) && !string.IsNullOrEmpty(orderStatus)) || refundStatus == "退款成功") { TbBuyerAfterSaleLiteInfo af = new TbBuyerAfterSaleLiteInfo(); af.buyerId = o.buyerId; @@ -769,7 +777,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls o.buyerId = buyer.buyer_id; o.buyerName = buyer.buyer_name; - if (o.order_sn == "tb_5127796188031004903") + if (o.order_sn == "tb_5127890185262007919") { } From 3dd65bdccc831e8c6a58b9742e3c9e4a73ff7122 Mon Sep 17 00:00:00 2001 From: wule Date: Tue, 27 Oct 2026 17:02:19 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E6=96=B0=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AllBase/BaseClass.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index ae95cc2..c420c79 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -37,7 +37,7 @@ namespace AllBase /// 版本ID /// - public static int VersionCount = 363; + public static int VersionCount = 365; //public static string ServerUrl { get; set; } = "http://1.13.195.131:9000"; public static string ServerUrl From 2d788bd8b11bc1c8917390d995999292b5569df4 Mon Sep 17 00:00:00 2001 From: wule Date: Tue, 27 Oct 2026 17:27:54 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E4=BA=91=E4=BB=93?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OrderCtrls/OrderListRowItemCtrl.xaml | 167 +++++++++--------- .../OrderCtrls/OrderListRowItemCtrl.xaml.cs | 4 + 2 files changed, 85 insertions(+), 86 deletions(-) diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml index 215357a..3848296 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml @@ -1374,7 +1374,6 @@ - +