仓库单详情列表 中转仓退货包裹如果没有物流使用买手物流

This commit is contained in:
wule committed 2026-10-27 10:16:34 +08:00
1 parent c1352264a9
commit cb61749cda
6 files changed
+255 -26

No files matched your search

@@ -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()
@@ -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">
<UserControl.Resources>
@@ -66,6 +66,7 @@
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="0.7*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Border
@@ -88,6 +89,7 @@
TextWrapping="Wrap" />
</wpf:TitleContent>
<wpf:TitleContent Title="买手单号:">
<TextBox
d:Text="261008-1234567890123456"
Background="Transparent"
@@ -158,14 +160,6 @@
IsReadOnly="True"
Text="{Binding WarehouseStatus}"
TextWrapping="Wrap" />
<TextBox
d:Text="(已作废)"
Background="Transparent"
BorderThickness="0"
FontWeight="Normal"
IsReadOnly="True"
Text="{Binding TransitVoidStatus}"
TextWrapping="Wrap" />
</WrapPanel>
</wpf:TitleContent>
@@ -213,6 +207,49 @@
BorderBrush="LightSkyBlue"
BorderThickness="0,0,1,0"
Opacity="0.5">
<wpf:SpacingStackPanel
Margin="10,10"
VerticalAlignment="Center"
Orientation="Vertical"
VerticalSpacing="4">
<wpf:TitleContent Title="作废状态:" FontWeight="Bold">
<TextBox
d:Text="已作废"
Background="Transparent"
BorderThickness="0"
FontWeight="Normal"
IsReadOnly="True"
Text="{Binding TransitVoidStatus}"
TextWrapping="Wrap" />
</wpf:TitleContent>
<wpf:TitleContent Title="拒收状态:" FontWeight="Bold">
<TextBox
d:Text="拒收失败"
Background="Transparent"
BorderThickness="0"
FontWeight="Normal"
IsReadOnly="True"
Text="{Binding TransitRejectStatus}"
TextWrapping="Wrap" />
</wpf:TitleContent>
<wpf:TitleContent Title="拦截状态:" FontWeight="Bold">
<TextBox
d:Text="已拦截"
Background="Transparent"
BorderThickness="0"
FontWeight="Normal"
IsReadOnly="True"
Text="{Binding TransitReturnStatus}"
TextWrapping="Wrap" />
</wpf:TitleContent>
</wpf:SpacingStackPanel>
</Border>
<Border
Grid.Column="3"
Margin="0,10"
BorderBrush="LightSkyBlue"
BorderThickness="0,0,1,0"
Opacity="0.5">
<wpf:SpacingStackPanel
Margin="10,10"
VerticalAlignment="Center"
@@ -175,6 +175,12 @@ 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) &&
!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)
@@ -101,6 +101,7 @@ namespace AllBase.Model.DBModel
/// 订单初始费用(分)
/// </summary>
public int? postage { get; set; }
public DateTime? pickup_time { get; set; }
/// <summary>
/// 货架号
/// </summary>
@@ -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<oms_wei_order_item_transit_detail_info>(transitDetailList);
}
/// <summary>
/// 获取发货包裹对应信息列表
/// </summary>
/// <returns></returns>
List<oms_wei_order_item_transit_detail_info> 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;
}
/// <summary>
/// 获取退货包裹对应信息列表
/// </summary>
/// <returns></returns>
List<oms_wei_order_item_transit_detail_info> 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;
}
/// <summary>
/// 获取额外包裹对应信息列表
/// </summary>
/// <returns></returns>
List<oms_wei_order_item_transit_detail_info> GetOrderItemTransitExtraList()
{
if (OrderItem == null || OrderItem.ItemOrder == null)
{
return new List<oms_wei_order_item_transit_detail_info>();
}
List<oms_wei_order_item_transit_detail_info> detailList = new List<oms_wei_order_item_transit_detail_info>();
foreach (var transitExtraOrder in OrderItem.ItemTransitExtraOrders ?? new List<oms_wei_transfer_extra_package>())
{
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); }
}
/// <summary> 买手退货状态 </summary>
public string BuyReundStatus
/// <summary> 拒收状态 </summary>
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); }
}
/// <summary> 拦截退回状态 </summary>
public string TransitReturnStatus
{
get { return this.GetValue(x => x.TransitReturnStatus); }
set { this.SetValue(x => x.TransitReturnStatus, value); }
}
/// <summary> 买手退货状态 </summary>
public string BuyRefundStatus
{
get { return this.GetValue(x => x.BuyRefundStatus); }
set { this.SetValue(x => x.BuyRefundStatus, value); }
}
public string UpperWaybill
@@ -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; }
/// <summary>
/// 货架号
/// </summary>
public string location_code { get; set; }
/// <summary>
/// 货架写入时间
/// </summary>
public DateTime? location_write_time { get; set; }
}