中转仓补发包裹

This commit is contained in:
wule committed 2026-09-24 22:03:52 +08:00
1 parent 02294e0ef6
commit 661f8c052e
10 files changed
+595 -9

No files matched your search

@@ -931,6 +931,10 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
if (order.order_sn == "260923-399088033421688")
{
}
if (order.ShopOrderIdStr == "3739357317247975936")
{
}
if (isUpdate && !string.IsNullOrEmpty(order.ShopOrderIdStr)/* && order.WxSendTypeStr != "直发"*/)
{
@@ -2136,6 +2140,12 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
if (shop == null)
throw new Exception("买手单对应店铺不存在!");
if (order.ShopOrderIdStr == "3739357317247975936")
{
}
var apiSearchDropship = new WxApiBLL().WxApiDropshipSearch(shop, order.ShopOrderIdStr, 100);
if (!apiSearchDropship.Contains("\"errcode\":0"))
throw new Exception("同步单代发查询失败!" + BaseRegex.GetStringJson(ref apiSearchDropship, "msg"));
@@ -2167,6 +2177,9 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
var html = GetHtml.PostUtf8(url, data);
if (!html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
// 更新拍单余额
StartUp.UpdateBalance();
}
else
{
@@ -294,6 +294,9 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
// 读取中转仓拍单订单
var transitOrderList = GetTransitWarehouseList(order_ids);
// 额外订单包裹补发
var transitExtraPackageList = GetTransitExtraPackageList(order_ids);
// 读取中转仓拍单订单售后状态
var transitAfterSaleList = GetTransitWarehouseAfterSaleList(order_ids);
@@ -363,6 +366,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
// 中转仓退货包裹订单
item.ItemTransitOrderAfterSales = transitAfterSaleList.Where(a => item.ItemTransitOrders.Any(t => t.out_order_no == a.order_code)).ToList();
item.DistribReturnOrderInfos = transitReturnOrderList.Where(tr => tr.order_code_source == item.order_id).ToList();
item.ItemTransitExtraOrders = transitExtraPackageList.Where(p => item.ItemTransitOrders.Any(t => t.order_code == p.order_code)).ToList();
// 中转仓买手订单(wx_send_type等于0)
item.PddBuyerOrders = pddBuyerOrders.Where(po => po.wx_order_id == item.order_id && po.wx_sku_id == item.sku_id && po.wx_send_type == 0).ToList();
@@ -595,6 +599,33 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
return new List<oms_wei_external_procurement_log_info>();
}
public static List<oms_wei_transfer_extra_package> GetTransitExtraPackageList(string order_ids)
{
if (string.IsNullOrEmpty(order_ids))
return new List<oms_wei_transfer_extra_package>();
var url3 = BaseClass.Build29WxObjString("order/wx_get_transfer_extra_package");
var data3 = UserLogin.GetSignaturex();
data3 += "&order_no=" + order_ids;
var html3 = GetHtml.PostUtf8(url3, data3);
if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
html3 = GetHtml.PostUtf8(url3, data3);
if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
{
BaseMsgWindow.ShowAnimateMessage("订单读取失败 " + BaseRegex.GetStringJson(ref html3, "msg"), "Error", 5);
}
List<oms_wei_transfer_extra_package> transitExtraPackageList = new List<oms_wei_transfer_extra_package>();
try
{
transitExtraPackageList = JsonHelper.DeserializeJsonToList<oms_wei_transfer_extra_package>(JObject.Parse(html3)["data"].ParseToString());
return transitExtraPackageList;
}
catch
{
}
return new List<oms_wei_transfer_extra_package>();
}
public static List<oms_wei_external_procurement_after_sale_info> GetTransitWarehouseAfterSaleList(string order_ids)
{
if (string.IsNullOrEmpty(order_ids))
@@ -39,9 +39,9 @@
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2" />
<RowDefinition Height="0" />
<RowDefinition Height="*" />
<RowDefinition Height="2" />
<RowDefinition Height="0" />
</Grid.RowDefinitions>
<Grid
x:Name="gridListItem"
@@ -831,6 +831,31 @@
</WrapPanel>
</wpf:TitleContent>
<!-- 仓库物流 -->
<wpf:TitleContent Title="补发物流:" Visibility="{Binding TransitExtraPackageWaybillStr, Converter={StaticResource HasTextVisibility}}">
<WrapPanel>
<uc:UcWaterMarkTextBox1
Margin="-2,0"
Padding="0"
VerticalAlignment="Center"
Background="Transparent"
BorderThickness="0"
IsReadOnly="True"
Text="{Binding TransitExtraPackageWaybillStr}"
TextWrapping="Wrap"
WaterMark="补发物流" />
<Button
x:Name="btnVoidTransitExtraOrder"
Margin="4,0,0,0"
Padding="0,0,0,0"
d:Content="作废"
Click="btnVoidTransitExtraOrder_Click"
Content="{Binding TransitExtraPackageWaybillBtnStr}"
Style="{StaticResource LinkButton}"
Visibility="{Binding TransitExtraPackageWaybillBtnStr, Converter={StaticResource HasTextVisibility}}" />
</WrapPanel>
</wpf:TitleContent>
<!-- 外采买手 -->
<wpf:TitleContent Title="外采买手:" Visibility="{Binding ItemOrder.out_account, Converter={StaticResource HasTextVisibility}}">
<WrapPanel Orientation="Horizontal">
@@ -1433,12 +1458,13 @@
HorizontalAlignment="Right"
VerticalAlignment="Center"
Orientation="Vertical"
VerticalSpacing="4">
VerticalSpacing="3">
<Button
x:Name="btnChangeWaybill"
Height="22"
MinWidth="38"
MinHeight="20"
Margin="0,0,0,0"
Padding="0"
HorizontalAlignment="Center"
d:Visibility="Visible"
Click="btnChangeWaybill_Click"
@@ -1448,7 +1474,7 @@
<Button
x:Name="btnAddEditTransitWarehouseReject_New"
MinWidth="38"
MinHeight="22"
MinHeight="20"
Margin="0,0,0,0"
Padding="0"
HorizontalAlignment="Center"
@@ -1463,7 +1489,7 @@
<Button
x:Name="btnAddEditTransitWarehouseAfterSale_n1"
MinWidth="38"
MinHeight="22"
MinHeight="20"
Margin="0,0,0,0"
Padding="0"
Click="btnAddEditTransitWarehouseAfterSale_Click"
@@ -1476,7 +1502,7 @@
<Button
x:Name="btnAddEditTransitWarehouseAfterSale_n2"
MinWidth="38"
MinHeight="22"
MinHeight="20"
Margin="0,0,0,0"
Padding="0"
Click="btnAddEditTransitWarehouseAfterSale_Click"
@@ -1486,6 +1512,19 @@
出库拦截<LineBreak />
退回仓库</TextBlock>
</Button>
<Button
x:Name="btnTransitExtraPackages"
Height="20"
MinWidth="38"
Margin="0,0,0,0"
Padding="0"
HorizontalAlignment="Center"
d:Visibility="Visible"
Click="btnTransitExtraPackages_Click"
Content="滞留补发买家"
FontSize="11"
Style="{StaticResource BasePageButtonLightStyle}"
Visibility="{Binding ItemOrder.IsShowTransitExtraPackagesBtn, Converter={StaticResource VisibleToVisibilityConverter}}" />
</wpf:SpacingStackPanel>
</wpf:SpacingStackPanel>
</Grid>
@@ -9,6 +9,7 @@ using _29WxOrderWpf.Windows.OrderWindows;
using AllBase;
using AllBase.Helper;
using AllBase.Model;
using AllBase.Model.Config;
using AllBase.Model.DBModel;
using AllBase.Model.Result;
using CefSharp.DevTools.DOM;
@@ -17,6 +18,7 @@ using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Security.Policy;
using System.Text;
using System.Threading;
@@ -1748,6 +1750,81 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
}
private void btnTransitExtraPackages_Click(object sender, RoutedEventArgs e)
{
if (this.DataContext is oms_wei_order_item_info orderItem)
{
// 不是中转仓,直接返回
var transitOrder = orderItem.ItemTransitOrder ?? orderItem.ItemTransitOrderWithVoid;
if (transitOrder == null)
{
BaseMsgWindow.ShowError("非中转仓订单不支持补发!");
return;
}
// string msg = $@"
//         滞留补发买家
//说  明:总店未在90小时到仓导致快递停滞退回, 货物
//     滞留云仓,可用补发继续发给买家。
//收  费:(与云仓发货价格一样)";
// if (BaseMsgWindow.ShowConfirm(msg, "滞留补发买家", null, MsgWindowLevel.LARGE, 300).DialogResult != true)
// return;
// string basePostageKey = WarehousePostageInfo.DicWarehousePostage.Keys.FirstOrDefault(pk => (orderItem.ItemOrder?.province_name).ParseToString().Contains(pk));
// decimal basePostage = basePostageKey.IsNullOrEmpty() ? WarehousePostageInfo.DicWarehousePostage.Values.Min() : WarehousePostageInfo.DicWarehousePostage[basePostageKey];
// JObject body = new JObject();
// body["oemAmount"] = (BaseClass.PostagePerOrderDiff * 100).ParseToInt().ParseToString();
// body["postage"] = ((basePostage + BaseClass.PostagePerOrderDiff) * 100).ParseToInt().ParseToString();
// body["packType"] = "2";
// body["batchId"] = orderItem.order_id + "-" + DateTime.Now.ToString("yyMMddHHmmss");
// body["orderNo"] = orderItem.order_id;
// body["orderCode"] = transitOrder.order_code;
// body["logisticsCode"] = transitOrder.express_2_company;
// body["logisticsExpressCode"] = transitOrder.express_2_waybill;
// body["accountUser"] = BaseClass.UserName;
// body["purchaserNote"] = "测试订单13017678999";//采购人备注
// body["orderPlatformCode"] = "WEISHOP";
TransitExtraPackagesView transitExtraPackagesView = new TransitExtraPackagesView(orderItem.ItemOrder, orderItem);
new DialogWindow()
{
Title = "滞留补发买家",
Content = transitExtraPackagesView,
}.ShowDialog();
}
}
private async void btnVoidTransitExtraOrder_Click(object sender, RoutedEventArgs e)
{
if (this.DataContext is oms_wei_order_item_info orderItem && orderItem.ItemTransitExtraOrder.order_void_status != 1)
{
if (BaseMsgWindow.ShowConfirm("确定作废滞留补发包裹?").DialogResult != true)
return;
var data = new JObject();
data["batchId"] = orderItem.ItemTransitExtraOrder.batchId;
data["orderCode"] = orderItem.ItemTransitExtraOrder.order_code;
var dataStr = JsonHelper.SerializeObject(data);
var url = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/extraOrders/void";
var rst = HttpResponseWXBLL.e57PostResponse(url, dataStr, "");
if (BaseRegex.GetStringXml(ref rst, "code") != "0" && BaseRegex.GetStringXml(ref rst, "code") != "200")
{
BaseMsgWindow.ShowError(BaseRegex.GetStringXml(ref rst, "msg"));
return;
}
await Task.Run(() =>
{
StartUp.UpdateBalance();
});
orderItem.ItemTransitExtraOrder.order_void_status = 1;
orderItem.SetOrderItemTextProperty();
MainWindow.Instance.orderListCtrl.FilterOneOrder(orderItem.order_id);
}
}
}
}
@@ -0,0 +1,171 @@
using _29WxOrderWpf.BaseWindows;
using _29WxOrderWpf.Commands;
using _29WxOrderWpf.Ctrls.OrderCtrls;
using AllBase;
using AllBase.Helper;
using AllBase.Model.Config;
using AllBase.Model.DBModel;
using AllBase.Model.MvvmBaseClasses;
using AllBase.Model.Result;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using System.Windows.Threading;
using Work;
using Work._29Tools.BLL;
using Work._29Tools.Forms.ShopForms;
namespace _29WxOrderWpf.ViewModels
{
/// <summary>
/// 更改运单号ViewModel
/// </summary>
public class TransitExtraPackagesViewModel : PropertyNotifyObject
{
public oms_wei_order_info Order
{
get { return this.GetValue(x => x.Order); }
set { this.SetValue(x => x.Order, value); }
}
public oms_wei_order_item_info OrderItem
{
get { return this.GetValue(x => x.OrderItem); }
set { this.SetValue(x => x.OrderItem, value); }
}
public string purchaserNote
{
get { return this.GetValue(x => x.purchaserNote); }
set { this.SetValue(x => x.purchaserNote, value); }
}
public string WaybillId
{
get { return this.GetValue(x => x.WaybillId); }
set { this.SetValue(x => x.WaybillId, value); }
}
public bool IsChangeingWaybill
{
get { return this.GetValue(x => x.IsChangeingWaybill); }
set { this.SetValue(x => x.IsChangeingWaybill, value); }
}
public bool ChangeWaybillSuccess
{
get { return this.GetValue(x => x.ChangeWaybillSuccess); }
set { this.SetValue(x => x.ChangeWaybillSuccess, value); }
}
/// <summary>
/// 请求关闭窗口
/// </summary>
public event Action RequestClose;
#region 命令
public ICommand AddExtraPackagesCommand { get; }
#endregion
private volatile bool _isWindowLoaded = false;
public TransitExtraPackagesViewModel(oms_wei_order_info _order, oms_wei_order_item_info _orderItem)
{
Order = _order;
OrderItem = _orderItem;
AddExtraPackagesCommand = new DelegateCommand(AddExtraPackages);
}
/// <summary>
/// 窗口加载完成时调用
/// </summary>
public void Start()
{
_isWindowLoaded = true;
}
/// <summary>
/// 窗口关闭时调用,停止后台任务
/// </summary>
public void Stop()
{
_isWindowLoaded = false;
}
public void AddExtraPackages()
{
var transitOrder = OrderItem.ItemTransitOrder ?? OrderItem.ItemTransitOrderWithVoid;
var transitExtraOrder = OrderItem.ItemTransitExtraOrders.FirstOrDefault(t => t.order_void_status != 1);
if (transitExtraOrder != null)
{
BaseMsgWindow.ShowError("有尚未作废的补发订单,请作废后再创建");
return;
}
string basePostageKey = WarehousePostageInfo.DicWarehousePostage.Keys.FirstOrDefault(pk => (OrderItem.ItemOrder?.province_name).ParseToString().Contains(pk));
decimal basePostage = basePostageKey.IsNullOrEmpty() ? WarehousePostageInfo.DicWarehousePostage.Values.Min() : WarehousePostageInfo.DicWarehousePostage[basePostageKey];
JObject body = new JObject();
body["oemAmount"] = (BaseClass.PostagePerOrderDiff * 100).ParseToInt().ParseToString();
body["postage"] = ((basePostage + BaseClass.PostagePerOrderDiff) * 100).ParseToInt().ParseToString();
body["packType"] = "2";
body["batchId"] = transitOrder.order_code + "-" + ((OrderItem.ItemTransitExtraOrders?.Count).ParseToInt() + 1);
body["orderNo"] = OrderItem.order_id;
body["orderCode"] = transitOrder.order_code;
// 未出库填上游物流,已出库填下游物流
if (transitOrder.warehouse_status != 2)
{
body["logisticsCode"] = transitOrder.express_1_company;
body["logisticsExpressCode"] = transitOrder.express_1_waybill;
}
else
{
body["logisticsCode"] = transitOrder.express_2_company;
body["logisticsExpressCode"] = transitOrder.express_2_waybill;
}
body["accountUser"] = BaseClass.UserName;
body["purchaserNote"] = purchaserNote.ParseToString(); // 采购人备注
body["orderPlatformCode"] = "WEISHOP";
var url = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/extra-packages/save";
var dataStr = JsonHelper.SerializeObject(body);
//<AjaxResult><msg>parentOrderCode不能为空</msg><code>2</code></AjaxResult>
//<AjaxResult><msg>创建额外包裹异常: Cannot invoke "cn.qihangerp.oms.domain.SecondUser.getBalance()" because "secondUser" is null</msg><code>2</code></AjaxResult>
var rst = HttpResponseWXBLL.e57PostResponse(url, dataStr, "");
//3739278903964250368
// <AjaxResult><msg>创建额外包裹异常: 用户账户余额不足,需至少 2.20 元用于中转仓取号, userId:17333276316, balance:0.85</msg><code>2</code></AjaxResult>
if (BaseRegex.GetStringXml(ref rst, "code") != "0" && BaseRegex.GetStringXml(ref rst, "code") != "200")
{
BaseMsgWindow.ShowError(BaseRegex.GetStringXml(ref rst, "msg"));
return;
}
var data = new JObject();
data["batchId"] = body["batchId"];
data["orderCode"] = body["orderCode"];
dataStr = JsonHelper.SerializeObject(data);
url = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/thirdparty/extraPackages";
rst = HttpResponseWXBLL.e57PostResponse(url, dataStr, "");
// <AjaxResult><msg>额外信息已保存</msg><code>200</code></AjaxResult>
if (BaseRegex.GetStringXml(ref rst, "code") != "0" && BaseRegex.GetStringXml(ref rst, "code") != "200")
{
BaseMsgWindow.ShowError(BaseRegex.GetStringXml(ref rst, "msg"));
return;
}
Task.Run(() =>
{
StartUp.UpdateBalance();
MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id);
});
RequestClose?.Invoke();
}
}
}
@@ -0,0 +1,89 @@
<UserControl
x:Class="_29WxOrderWpf.Views.TransitExtraPackagesView"
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.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
x:Name="TransitExtraPackagesCtrl"
Width="450"
Height="300"
d:DesignHeight="300"
d:DesignWidth="450"
Loaded="View_Loaded"
mc:Ignorable="d">
<Grid Background="White">
<StackPanel Margin="24,24,24,0">
<TextBlock
Margin="0,0,0,20"
HorizontalAlignment="Center"
FontSize="15"
Foreground="#333333"
Text="滞留补发买家" />
<StackPanel>
<TextBlock Margin="0,0,0,20">
<Run Text="    说  明:总店未在90小时到仓导致快递停滞退回, 货物" />
<LineBreak /><Run Text="         滞留云仓,可用补发继续发给买家。" />
<LineBreak /><Run Text="    收  费:(与云仓发货价格一样)" /><LineBreak />
</TextBlock>
<TextBlock
Margin="0,0,0,8"
d:Opacity="0.3"
d:Visibility="Visible"
Foreground="#555555"
Text="如需备注请在下面填写:"
Visibility="Hidden" />
<TextBox
x:Name="txtPurchaserNote"
Height="38"
VerticalContentAlignment="Center"
d:Opacity="0.3"
d:Text="测试订单13017678999"
d:Visibility="Visible"
BorderBrush="#D0D0D0"
BorderThickness="1"
FontSize="18"
Text="{Binding purchaserNote, UpdateSourceTrigger=PropertyChanged}"
VerticalScrollBarVisibility="Auto"
Visibility="Collapsed" />
<WrapPanel Margin="0,10,0,0" FlowDirection="RightToLeft">
<Button
Width="64"
Height="26"
Margin="0,0,10,0"
HorizontalAlignment="Right"
Command="{Binding AddExtraPackagesCommand}"
Content="确定补发"
Style="{StaticResource BasePageButtonStyle}" />
<Image
x:Name="imgLoading"
Width="20"
Height="20"
IsEnabled="False"
Source="{StaticResource imgLoadingPic}"
Visibility="{Binding IsChangeingWaybill, Converter={StaticResource visibleToVisibilityConverter}}">
<Image.RenderTransform>
<RotateTransform Angle="45" CenterX="10" CenterY="10" />
</Image.RenderTransform>
<Image.Triggers>
<EventTrigger RoutedEvent="Image.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
RepeatBehavior="Forever"
Storyboard.TargetName="imgLoading"
Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)"
From="360"
To="0"
Duration="0:0:3" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Image.Triggers>
</Image>
</WrapPanel>
</StackPanel>
</StackPanel>
</Grid>
</UserControl>
@@ -0,0 +1,58 @@
using _29WxOrderWpf.ViewModels;
using AllBase.Helper;
using AllBase.Model.DBModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace _29WxOrderWpf.Views;
/// <summary>
/// TransitExtraPackagesView.xaml 的交互逻辑
/// </summary>
public partial class TransitExtraPackagesView : UserControl
{
/// <summary>
/// 视图模型
/// </summary>
public TransitExtraPackagesViewModel ViewModel { get; }
public TransitExtraPackagesView(oms_wei_order_info _order, oms_wei_order_item_info _orderItem)
{
InitializeComponent();
ViewModel = new TransitExtraPackagesViewModel(_order, _orderItem);
ViewModel.RequestClose += ViewModel_RequestClose;
DataContext = ViewModel;
}
private void View_Loaded(object sender, RoutedEventArgs e)
{
ViewModel.Start();
}
private void View_Closed(object sender, RoutedEventArgs e)
{
ViewModel.Stop();
}
private void ViewModel_RequestClose()
{
Window parentWindow = Window.GetWindow(this);
if (this.IsLoaded && parentWindow != null)
parentWindow.Close();
MainWindow.Instance.orderListCtrl.FilterOneOrder(ViewModel.Order);
}
}
@@ -157,6 +157,11 @@ namespace AllBase.Model.DBModel
get { return this.GetValue(x => x.IsShowChangeWaybillBtn); }
set { this.SetValue(x => x.IsShowChangeWaybillBtn, value); }
}
public bool IsShowTransitExtraPackagesBtn
{
get { return this.GetValue(x => x.IsShowTransitExtraPackagesBtn); }
set { this.SetValue(x => x.IsShowTransitExtraPackagesBtn, value); }
}
public string orderStatusStr
{
@@ -744,6 +749,11 @@ namespace AllBase.Model.DBModel
IsShowChangeWaybillBtn = false;
else
IsShowChangeWaybillBtn = true;
if (IsWaitBuy)
IsShowTransitExtraPackagesBtn = false;
else
IsShowTransitExtraPackagesBtn = true;
}
public bool GetIsWaitBuy()
@@ -218,8 +218,44 @@ namespace AllBase.Model.DBModel
{
get { return this.GetValue(x => x.ItemTransitOrderAfterSale); }
set { this.SetValue(x => x.ItemTransitOrderAfterSale, value); }
}
public List<order_pdd_buyer_order> PddBuyerOrders { get; set; } = new List<order_pdd_buyer_order>();
}
public List<oms_wei_transfer_extra_package> ItemTransitExtraOrders
{
get { return this.GetValue(x => x.ItemTransitExtraOrders); }
set { this.SetValue(x => x.ItemTransitExtraOrders, value); }
}
public oms_wei_transfer_extra_package ItemTransitExtraOrder
{
get { return this.GetValue(x => x.ItemTransitExtraOrder); }
set
{
if (order_id == "3739278903964250368")
{
}
this.SetValue(x => x.ItemTransitExtraOrder, value);
if (ItemTransitExtraOrder != null)
{
if (ItemTransitExtraOrder.real_logistics_code.IsNullOrEmpty())
{
ItemTransitExtraOrder.real_logistics_code = "滞留补发处理中";
}
}
TransitExtraPackageWaybillStr = (ItemTransitExtraOrder?.real_logistics_code + "-" + ItemTransitExtraOrder?.real_logistics_express_code).Trim('-');
TransitExtraPackageWaybillBtnStr = ItemTransitExtraOrder?.order_void_status == 1 ? "已作废" : "作废";
}
}
public string TransitExtraPackageWaybillStr
{
get { return this.GetValue(x => x.TransitExtraPackageWaybillStr); }
set { this.SetValue(x => x.TransitExtraPackageWaybillStr, value); }
}
public string TransitExtraPackageWaybillBtnStr
{
get { return this.GetValue(x => x.TransitExtraPackageWaybillBtnStr); }
set { this.SetValue(x => x.TransitExtraPackageWaybillBtnStr, value); }
}
public List<order_pdd_buyer_order> PddBuyerOrders { get; set; } = new List<order_pdd_buyer_order>();
public order_pdd_buyer_order PddBuyerOrder
{
get { return this.GetValue(x => x.PddBuyerOrder); }
@@ -258,6 +294,9 @@ namespace AllBase.Model.DBModel
}
this.ItemTransitOrder = ItemTransitOrders?.FirstOrDefault(t => t.order_void_status != 1);
this.ItemTransitOrderWithVoid = ItemTransitOrders?.FirstOrDefault();
this.ItemTransitExtraOrder = ItemTransitExtraOrders?.FirstOrDefault(t => t.order_void_status != 1) ?? ItemTransitExtraOrders.FirstOrDefault();
this.ItemTransitOrderAfterSale = ItemTransitOrderAfterSales?.FirstOrDefault();
this.PddBuyerOrder = PddBuyerOrders?.FirstOrDefault();
// 优先找非撤销买手退款单
@@ -883,6 +922,14 @@ namespace AllBase.Model.DBModel
}
this.SetValue(x => x.DirectPddBuyerOrder, value);
SyncLogisticsMsg = DirectPddBuyerOrder?.sync_logistics_msg;
// 有单号就不显示错误,否则单号字段显示错误信息
if (ItemOrder.SyncWaybillId.IsNullOrEmpty())
{
ItemOrder.SyncWaybillId = SyncLogisticsMsg;
SyncLogisticsMsg = "";
}
else
SyncLogisticsMsg = "";
}
}
public string SyncLogisticsMsg
@@ -0,0 +1,51 @@
using AllBase.Model.MvvmBaseClasses;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.DBModel;
public class oms_wei_transfer_extra_package : PropertyNotifyObject
{
public long id { get; set; } // 主键ID
public string batchId { get; set; } // 新订单号
public string order_no { get; set; } // 平台订单号
public string buyer_account { get; set; } // '买家账号',
public int? out_amount { get; set; } // '外部金额(分)',
public string purchaser_note { get; set; } // '采购人备注'
public string logistics_code { get; set; } // '快递公司',
public string logistics_express_code { get; set; } // '快递单号',
public string real_logistics_code // '出库快递公司',
{
get { return this.GetValue(x => x.real_logistics_code); }
set { this.SetValue(x => x.real_logistics_code, value); }
}
public string real_logistics_express_code // '出库单号',
{
get { return this.GetValue(x => x.real_logistics_express_code); }
set { this.SetValue(x => x.real_logistics_express_code, value); }
}
public string refund_status { get; set; } // '买手退款状态',
public DateTime? pickup_time { get; set; } // '取号时间',
public int? transfer_warehouse_status { get; set; } // '中转仓状态:0 未使用,1 已创建,2 创建失败',
public string raw_message { get; set; } // '原始消息/请求体',
public DateTime? created_time { get; set; } // '创建时间',
public DateTime? updated_time { get; set; } // '更新时间',
public string platform { get; set; } // '中转仓库编码',
public string order_platform_code { get; set; } // '订单平台',
public string order_code { get; set; } // '唯一值编码',
public string random_code { get; set; } // '溯源码',
public int? warehouse_status { get; set; } // '0: 未使用, 1: 已入库, 2: 未入库',
public DateTime? inbound_time { get; set; } // '入库时间',
public DateTime? outbound_time { get; set; } // '出库时间',
public int? order_void_status { get; set; } // '订单作废状态:0=正常,1=已作废,2=作废失败',
public int? postage { get; set; } // '订单初始费用(分)',
public int? retry_acquire_success { get; set; } // '重试取号是否成功 0=未尝试/未重试 1=成功 2=失败',
public int? over_weight_fee { get; set; } // '超重费用',
public string pack_type { get; set; } // '中转仓额外包裹类型 1商品2额外3礼品4退货',
public DateTime? rejected_time { get; set; } // '拒收时间',
public int? has_reject { get; set; } // DEFAULT NULL,
public DateTime? blocked_arrival_time { get; set; }
}