优化中转仓处理逻辑

This commit is contained in:
wule committed 2026-11-12 19:08:35 +08:00
1 parent 82165f25a8
commit 15b8288a98
9 files changed
+90 -115

No files matched your search

@@ -1303,9 +1303,14 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
if (afterSale.orderDate < DateTime.Now.AddMonths(-2).ToString("yyMMdd").ParseToInt())
{
ShowBuyerOrderReadInfo(buyer, " 近2个月售后列表获取完成,退出自动滑动 ");
currentReadBuyer = "";
//return;
var count = lstPddBuyerAfterSaleInfoLite.ToList().Where(af => af.orderDate < DateTime.Now.AddMonths(-2).ToString("yyMMdd").ParseToInt()).Count();
if (count > 3)
{
ShowBuyerOrderReadInfo(buyer, " 近2个月售后列表获取完成,退出自动滑动 ");
currentReadBuyer = "";
//return;
}
}
if (afterSale?.ShopIdStr == "3738859887048176128")
@@ -2460,7 +2465,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
{
var transit = orderItem.ItemTransitOrders.FirstOrDefault(t => t.out_order_no == order.order_sn);
if (transit != null)
transit.pre_allocated_order_no = 1;
transit.pre_allocated_order_no = 3;
}
}
}
@@ -2846,7 +2851,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
// 发送过的,不再发送
if (order.OutAfterSaleStatusStr == statusText)
{
return "<code>0</code><msg>SUCCESS</msg>";
return "<code>0</code><msg>SUCCESS</msg><json_msg>{\"code\":0,\"msg\":\"SUCCESS\"}</json_msg>";
}
JObject obj = new JObject();
@@ -1022,7 +1022,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
/// <summary>
/// 更新拍单成功信息
/// </summary>
public void ManualUpdateBuyOrder()
public async void ManualUpdateBuyOrder()
{
if (BuyType == "transit" && txtSourceCodeVal.Trim().Length != 6)
{
@@ -1119,24 +1119,18 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
var dataStr = JsonHelper.SerializeObject(body);
//dataStr = "{\"orderNo\":\"3737339733954942720\",\"outOrderNo\":\"2606846854564\",\"buyerAccount\":\"测试\",\"outAmount\":\"2000\",\"purchaserNote\":\"测试\",\"express1Company\":\"\"" +
// ",\"express1Waybill\":\"\",\"platform\":\"XDYSHC\",\"orderPlatformCode\":\"WEISHOP\"}";
var exportRst = HttpResponseWXBLL.e57PostResponse(url, dataStr, "");
var exportRst = await HttpResponseWXBLL.e57PostResponseAsync(url, dataStr);
//<AjaxResult><msg>保存成功</msg><code>200</code></AjaxResult>
//<AjaxResult><msg>订单不存在:373733973395494272</msg><code>500</code></AjaxResult>
if (!exportRst.ParseToString().Contains("<code>200</code>"))
if (!exportRst.ParseToString().Contains("\"code\":200"))
{
await Task.Delay(500);
exportRst = await HttpResponseWXBLL.e57PostResponseAsync(url, dataStr);
}
if (!exportRst.ParseToString().Contains("\"code\":200"))
{
string msg = "";
string code = "";
try
{
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.LoadXml(exportRst);
code = xmlDoc["AjaxResult"]["code"].InnerText;
msg = xmlDoc["AjaxResult"]["msg"].InnerText;
}
catch
{
msg = exportRst.ParseToString();
}
msg = BaseRegex.GetStringJsonByRegs(ref exportRst, exportRst, "msg");
this.ErrorMsg = "拍单保存失败,服务端返回 " + msg;
Enabled = true;
return;
@@ -1,6 +1,5 @@
using _29WxOrderWpf.BaseWindows;
using _29WxOrderWpf.CefHelper;
using WxOrder.Framework.Commons;
using _29WxOrderWpf.ViewModels;
using AllBase;
using AllBase.Helper;
@@ -27,12 +26,14 @@ using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using System.Windows.Interop;
using System.Windows.Media.Imaging;
using TemuKJD.ToolForms;
using Work;
using Work._29Tools.BLL;
using Work._29Tools.CefTools;
using Work.BaseForms;
using WxOrder.Framework.Commons;
using WxOrder.Framework.Helpers;
using static AllBase.DouYinModel.Result.DouOrderListInfo;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ListView;
@@ -1736,7 +1737,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
/// <summary>
/// 更新拍单成功信息
/// </summary>
public void ManualUpdateBuyOrder()
public async void ManualUpdateBuyOrder()
{
if (BuyType == "transit" && txtSourceCodeVal.ParseToString().Trim().Length != 6)
{
@@ -1831,26 +1832,16 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
}
var url = "https://po.e57.cn/prod-api/api/oms-api/externalProcurement/saveOrUpdate";
var dataStr = JsonHelper.SerializeObject(body);
//dataStr = "{\"orderNo\":\"3737339733954942720\",\"outOrderNo\":\"2606846854564\",\"buyerAccount\":\"测试\",\"outAmount\":\"2000\",\"purchaserNote\":\"测试\",\"express1Company\":\"\"" +
// ",\"express1Waybill\":\"\",\"platform\":\"XDYSHC\",\"orderPlatformCode\":\"WEISHOP\"}";
var exportRst = HttpResponseWXBLL.e57PostResponse(url, dataStr, "");
//<AjaxResult><msg>保存成功</msg><code>200</code></AjaxResult>
//<AjaxResult><msg>订单不存在:373733973395494272</msg><code>500</code></AjaxResult>
if (!exportRst.ParseToString().Contains("<code>200</code>"))
var exportRst = await HttpResponseWXBLL.e57PostResponseAsync(url, dataStr);
if (!exportRst.ParseToString().Contains("\"code\":200"))
{
await Task.Delay(500);
exportRst = await HttpResponseWXBLL.e57PostResponseAsync(url, dataStr);
}
if (!exportRst.ParseToString().Contains("\"code\":200"))
{
string msg = "";
string code = "";
try
{
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.LoadXml(exportRst);
code = xmlDoc["AjaxResult"]["code"].InnerText;
msg = xmlDoc["AjaxResult"]["msg"].InnerText;
}
catch (Exception ex)
{
msg = exportRst.ParseToString();
}
msg = BaseRegex.GetStringJsonByRegs(ref exportRst, exportRst, "msg");
this.ErrorMsg = "拍单保存失败,服务端返回 " + msg;
Enabled = true;
return;
@@ -1435,17 +1435,6 @@
Orientation="Vertical"
VerticalSpacing="6">
<Button
x:Name="btnTransitInfo"
Height="22"
MinWidth="38"
Margin="0,0,0,0"
HorizontalAlignment="Center"
Click="btnTransitInfo_Click"
Content="云仓详情"
Style="{StaticResource BasePageButtonLightStyle}"
Visibility="Collapsed" />
<Button
x:Name="btnMapSkus"
Height="22"
@@ -1512,7 +1501,24 @@
Click="btnDirectBuyOrder_Click"
Content="直发拍单"
Style="{StaticResource BasePageButtonLightStyle}"
Visibility="{Binding BtnDirectBuyOrderVisibility}"/>
Visibility="{Binding BtnDirectBuyOrderVisibility}" />
<Button
x:Name="btnChangeWaybill"
MinWidth="38"
MinHeight="20"
Margin="0,0,0,0"
Padding="0"
HorizontalAlignment="Center"
d:Visibility="Visible"
Click="btnChangeWaybill_Click"
FontSize="11"
Style="{StaticResource BasePageButtonLightStyle}"
Visibility="{Binding ItemOrder.IsShowChangeWaybillBtn, Converter={StaticResource VisibleToVisibilityConverter}}">
<TextBlock TextAlignment="Center">
补发/修改<LineBreak />
物流</TextBlock>
</Button>
<!-- 礼品发货 -->
<Button
@@ -1534,20 +1540,17 @@
Orientation="Vertical"
VerticalSpacing="5">
<Button
x:Name="btnChangeWaybill"
MinWidth="38"
MinHeight="20"
Margin="0,0,0,0"
Padding="0"
HorizontalAlignment="Center"
d:Visibility="Visible"
Click="btnChangeWaybill_Click"
Content="补发/修改物流"
FontSize="11"
Style="{StaticResource BasePageButtonLightStyle}"
Visibility="{Binding ItemOrder.IsShowChangeWaybillBtn, Converter={StaticResource VisibleToVisibilityConverter}}" />
<Button
x:Name="btnTransitInfo"
Height="22"
MinWidth="38"
Margin="0,0,0,0"
HorizontalAlignment="Center"
Click="btnTransitInfo_Click"
Content="云仓详情"
Style="{StaticResource BasePageButtonLightStyle}"
Visibility="{Binding ItemTransitOrderWithVoid, Converter={StaticResource hasValueToVisibilityConverter}}" />
<!--<Button
x:Name="btnAddEditTransitWarehouseReject_New"
MinWidth="38"
@@ -1974,6 +1974,17 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
private async void borderWarehouseStatus_MouseUp(object sender, MouseButtonEventArgs e)
{
ShowTransitDetail();
}
private void btnTransitInfo_Click(object sender, RoutedEventArgs e)
{
ShowTransitDetail();
}
void ShowTransitDetail()
{
//return;
if (this.DataContext is oms_wei_order_item_info orderItem)
{
oms_wei_order_item_transit_model transitInfo = new oms_wei_order_item_transit_model()
@@ -1992,28 +2003,6 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}.ShowDialog();
}
}
private void btnTransitInfo_Click(object sender, RoutedEventArgs e)
{
////return;
//if (this.DataContext is oms_wei_order_item_info orderItem)
//{
// oms_wei_order_item_transit_model transitInfo = new oms_wei_order_item_transit_model()
// {
// OrderItem = orderItem,
// };
// OrderTransitListCtrl OrderTransitListCtrl = new OrderTransitListCtrl(transitInfo);
// new DialogWindow()
// {
// Title = "仓库订单详情 - 当前订单 " + orderItem.order_id,
// Content = OrderTransitListCtrl,
// Width = SystemParameters.PrimaryScreenWidth < 1920 ? SystemParameters.PrimaryScreenWidth : SystemParameters.PrimaryScreenWidth * 90 / 100,
// Height = SystemParameters.PrimaryScreenHeight * 90 / 100,
// WindowStartupLocation = WindowStartupLocation.CenterScreen,
// }.ShowDialog();
//}
}
}
}
@@ -86,7 +86,7 @@ internal class OrderTransitService
}
else
{
var msg = BaseRegex.GetStringJson(ref discardRst, "msg");
var msg = BaseRegex.GetStringJsonByRegs(ref discardRst, discardRst, "msg");
if (!isSilent)
BaseMsgWindow.ShowInfo("订单作废失败,服务端返回 " + msg);
@@ -71,7 +71,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows
// 获取额外包裹对应的发货包裹或者发货包裹本身
var _transitOrder = OrderItem.ItemTransitOrders.FirstOrDefault(t => t.order_code == ExtraPackage?.order_code);
this.cmbWareHouse.Text = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransId == ExtraPackage?.platform)?.TransName;
this.cmbWareHouse.Text = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransId == _transitOrder?.platform)?.TransName;
this.txtExpressName.Text = string.IsNullOrWhiteSpace(ExtraPackage.real_logistics_code) ? ExtraPackage.logistics_code : ExtraPackage?.real_logistics_code;
this.txtWarehouseWaybill.Text = string.IsNullOrWhiteSpace(ExtraPackage?.real_logistics_express_code) ? ExtraPackage?.logistics_express_code : ExtraPackage?.real_logistics_express_code;
@@ -223,7 +223,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows
JObject data = new JObject();
data["orderNo"] = OrderItem.order_id;
data["orderCode"] = TransitOrder?.order_code ?? ExtraPackage.batchId; /* 发货单填写发货单code,额外包裹填写额外包裹新单号 */
data["orderCode"] = TransitOrder?.order_code ?? ExtraPackage?.batchId; /* 发货单填写发货单code,额外包裹填写额外包裹新单号 */
data["refundProvince"] = txtProvince.Text.Trim();
data["refundCity"] = txtCity.Text.Trim();
data["refundCounty"] = txtCounty.Text.Trim();
@@ -247,18 +247,16 @@ namespace _29WxOrderWpf.Windows.OrderWindows
var getTransitAfterSaleUrl = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/createReturnPackage";
var getTransitAfterSaleStr = JsonHelper.SerializeObject(data);
var getTransitAfterSaleRst = HttpResponseWXBLL.e57PostResponse(getTransitAfterSaleUrl, getTransitAfterSaleStr, "");
if (!getTransitAfterSaleRst.ParseToString().Contains("<code>200</code>") && !getTransitAfterSaleRst.ParseToString().Contains("<code>0</code>"))
var getTransitAfterSaleRst = await HttpResponseWXBLL.e57PostResponseAsync(getTransitAfterSaleUrl, getTransitAfterSaleStr);
if (!getTransitAfterSaleRst.ParseToString().Contains("\"code\":0") && !getTransitAfterSaleRst.ParseToString().Contains("\"code\":200"))
{
string msg = BaseRegex.GetStringXml(ref getTransitAfterSaleRst, "msg");
if (msg.IsNullOrEmpty())
msg = getTransitAfterSaleRst;
string msg = BaseRegex.GetStringJsonByRegs(ref getTransitAfterSaleRst, getTransitAfterSaleRst, "msg");
BaseMsgWindow.ShowError("拦截退货包裹添加失败,服务端返回 " + msg, "", this);
}
else
{
//<AjaxResult><msg>创建退货包裹成功</msg><code>0</code></AjaxResult>
await Task.Run(() => { MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id); });
await MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id);
//MainWindow.Instance.orderListCtrl.FilterOrders();
StartUp.UpdateBalance();
BaseMsgWindow.ShowInfo("添加拦截退货包裹成功", "", this);
@@ -194,12 +194,12 @@ public class oms_wei_order_item_transit_model : PropertyNotifyObject
Visibility.Visible : Visibility.Collapsed; /* 发回退货包裹按钮 */
transitDetail.InterceptPackageBtnVisibility = transitOrder.warehouse_status == 2 &&
!OrderItem.ItemTransitOrderAfterSales.Any(af => af.pack_type == 1 && af.order_code == transitDetail.OrderCode && af.order_void_status != 1) &&
!OrderItem.ItemTransitExtraOrders.Any(af => af.pack_type == "1" && af.order_code == transitDetail.OrderCode && af.order_void_status != 1) ?
!OrderItem.ItemTransitExtraOrders.Any(af => af.pack_type == "2" && af.order_code == transitDetail.OrderCode && af.order_void_status != 1) ?
Visibility.Visible : Visibility.Collapsed; /* 拦截退货包裹按钮 */
transitDetail.ExtraPackagesBtnVisibility = ((transitOrder.warehouse_status == 0 || transitOrder.warehouse_status == 1 || transitOrder.warehouse_status == 3 || !transitOrder.location_code.IsNullOrEmpty()) &&
!(transitDetail.CreateTime > DateTime.Now.AddDays(-2)) &&
!OrderItem.ItemTransitOrderAfterSales.Any(af => af.pack_type == 1 && af.order_code == transitDetail.OrderCode && af.order_void_status != 1) &&
!OrderItem.ItemTransitExtraOrders.Any(af => af.pack_type == "1" && af.order_code == transitDetail.OrderCode && af.order_void_status != 1)) ||
!OrderItem.ItemTransitExtraOrders.Any(af => af.pack_type == "2" && af.order_code == transitDetail.OrderCode && af.order_void_status != 1)) ||
OrderItem._itemOrderIsAbnormal == true ?
Visibility.Visible : Visibility.Collapsed; /* 额外发货包裹按钮 */
@@ -456,7 +456,7 @@ public class oms_wei_order_item_transit_model : PropertyNotifyObject
//transitDetail.ReturnPackageBtnVisibility = (transitExtraOrder.warehouse_status == 1 || transitExtraOrder.warehouse_status == 3 || !transitExtraOrder.location_code.IsNullOrEmpty()) &&
// transitExtraOrder.pack_type == "2" && !OrderItem.ItemTransitOrderAfterSales.Any(af => af.pack_type == 2 && af.order_code == transitDetail.OrderCode && af.order_void_status != 1) ?
// Visibility.Visible : Visibility.Collapsed; /* 退货包裹按钮 */
transitDetail.InterceptPackageBtnVisibility = transitExtraOrder.warehouse_status == 2 &&
transitDetail.InterceptPackageBtnVisibility = (transitExtraOrder.warehouse_status == 2 || transitExtraOrder.outbound_time > DateTime.MinValue || !transitExtraOrder.real_logistics_express_code.IsNullOrEmpty()) &&
transitExtraOrder.pack_type == "2" && !OrderItem.ItemTransitOrderAfterSales.Any(af => af.pack_type == 2 && af.order_code == transitDetail.OrderCode && af.order_void_status != 1) ?
Visibility.Visible : Visibility.Collapsed; /* 拦截退货包裹按钮 */
+11 -16
View File
@@ -1522,24 +1522,19 @@ namespace TemuKJD.ToolForms
var dataStr = JsonHelper.SerializeObject(body);
//dataStr = "{\"orderNo\":\"3737339733954942720\",\"outOrderNo\":\"2606846854564\",\"buyerAccount\":\"测试\",\"outAmount\":\"2000\",\"purchaserNote\":\"测试\",\"express1Company\":\"\"" +
// ",\"express1Waybill\":\"\",\"platform\":\"XDYSHC\",\"orderPlatformCode\":\"WEISHOP\"}";
var exportRst = HttpResponseWXBLL.e57PostResponse(url, dataStr, "");
var exportRst = await HttpResponseWXBLL.e57PostResponseAsync(url, dataStr);
//<AjaxResult><msg>保存成功</msg><code>200</code></AjaxResult>
//<AjaxResult><msg>订单不存在:373733973395494272</msg><code>500</code></AjaxResult>
if (!exportRst.ParseToString().Contains("<code>200</code>"))
if (!exportRst.ParseToString().Contains("\"code\":200"))
{
await Task.Delay(500);
exportRst = await HttpResponseWXBLL.e57PostResponseAsync(url, dataStr);
}
if (!exportRst.ParseToString().Contains("\"code\":200"))
{
string msg = "";
string code = "";
try
{
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.LoadXml(exportRst);
code = xmlDoc["AjaxResult"]["code"].InnerText;
msg = xmlDoc["AjaxResult"]["msg"].InnerText;
}
catch
{
msg = exportRst.ParseToString();
}
msg = BaseRegex.GetStringJsonByRegs(ref exportRst, exportRst, "msg");
if (!IsAutoBuy)
BaseMsgForm.ShowError("拍单保存失败,服务端返回 " + msg, "拍单信息保存失败");
else if (this.Created)
@@ -1573,7 +1568,7 @@ namespace TemuKJD.ToolForms
order.SetOrderTextProperty();
if (filterOrderAction != null && order != null)
{
filterOrderAction(order, true);
await filterOrderAction(order, true);
}
//// 前一天的订单直接提前取号
@@ -1661,7 +1656,7 @@ namespace TemuKJD.ToolForms
var order = orderItem?.ItemOrder;
if (filterOrderAction != null && order != null)
{
filterOrderAction(order, true);
await filterOrderAction(order, true);
}
}
#endregion