From f8af5730d32edd29ab99ee8724b97f7d6d690e93 Mon Sep 17 00:00:00 2001 From: wule Date: Mon, 26 Oct 2026 15:27:29 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=8C=85=E8=A3=B9=E6=89=B9?= =?UTF-8?q?=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); } + } }