0") || exportRst.Contains("200"))
{
- order.sendStatus = "已提交";
+ order.sendStatus = "提交物流信息失败";
+ return;
}
}
-
- if (order.sendStatus == "已提交" && order.sendStatus != "提前取号")
+ // 直接取号
+ if (order.sendStatus != "提前取号" && order.sendStatus != "提前取号(旧订单)")
{
// 立即取号
string url2 = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/transfer-warehouse/dispatch";
@@ -1254,16 +1272,17 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
var dispatchRst = HttpResponseWXBLL.e57PostResponse(url2, dataStr2, "");
//200200"))
+ if (dispatchRst.Contains("0") || dispatchRst.Contains("200"))
{
+ var msg = BaseRegex.GetStringXml(ref dispatchRst, "msg");
order.sendStatus = "取号成功";
- var shopOrder = GlobalConfig.lstOrder.FirstOrDefault(o => o.order_items.Any(oi => oi.item_transit_orders.Any(t => t.out_order_no == order.order_sn)));
+ var shopOrder = GlobalConfig.lstOrder.FirstOrDefault(o => o.orderItems.Any(oi => oi.ItemTransitOrders.Any(t => t.out_order_no == order.order_sn)));
if (shopOrder != null)
{
- var orderItem = shopOrder.order_items.FirstOrDefault(oi => oi.item_transit_orders.Any(t => t.out_order_no == order.order_sn));
+ var orderItem = shopOrder.orderItems.FirstOrDefault(oi => oi.ItemTransitOrders.Any(t => t.out_order_no == order.order_sn));
if (orderItem != null)
{
- var transit = orderItem.item_transit_orders.FirstOrDefault(t => t.out_order_no == order.order_sn);
+ var transit = orderItem.ItemTransitOrders.FirstOrDefault(t => t.out_order_no == order.order_sn);
if (transit != null)
{
if (transit.transfer_warehouse_status == 0)
@@ -1275,11 +1294,17 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
}
else
{
- order.sendStatus = "直接取号失败";
+ order.sendStatus = "直接取号失败" + BaseRegex.GetStringXml(ref dispatchRst, "msg");
}
}
- else if (order.sendStatus == "提前取号")
+ // 修改提前取号
+ else if (order.sendStatus == "提前取号" || order.sendStatus == "提前取号(旧订单)")
{
+ if (order.TransitCreateTime.AddHours(23) > DateTime.Now)
+ {
+ order.sendStatus = "提前取号流程进行中";
+ }
+
string url2 = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/update-upstream-waybill";
var data = new JObject();
//data["outAmount"] = order.order_amount.ParseToString();
@@ -1292,16 +1317,28 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
var dataStr2 = JsonHelper.SerializeObject(data);
var dispatchRst = HttpResponseWXBLL.e57PostResponse(url2, dataStr2, "");
- if (dispatchRst.Contains("0"))
+ if (dispatchRst.Contains("0") || dispatchRst.Contains("200"))
{
+ var msg = BaseRegex.GetStringXml(ref dispatchRst, "msg");
+ if (order.OrderTime < new DateTime(2026, 6, 29) /*order.sendStatus == "提前取号(旧订单)"*/)
+ {
+ var url3 = BaseClass.Build29WxObjString("order/wx_update_erp_allocated_order_no");
+ var data3 = UserLogin.GetSignaturex();
+ data3 += "&out_order_no=" + order.order_sn;
+ data3 += "&pre_allocated_order_no=" + 3;
+ var html3 = GetHtml.PostUtf8(url3, data3);
+ if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
+ html3 = GetHtml.PostUtf8(url3, data3);
+ }
+
order.sendStatus = "修改提前取号成功";
- var shopOrder = GlobalConfig.lstOrder.FirstOrDefault(o => o.order_items.Any(oi => oi.item_transit_orders.Any(t => t.out_order_no == order.order_sn)));
+ var shopOrder = GlobalConfig.lstOrder.FirstOrDefault(o => o.orderItems.Any(oi => oi.ItemTransitOrders.Any(t => t.out_order_no == order.order_sn)));
if (shopOrder != null)
{
- var orderItem = shopOrder.order_items.FirstOrDefault(oi => oi.item_transit_orders.Any(t => t.out_order_no == order.order_sn));
+ var orderItem = shopOrder.orderItems.FirstOrDefault(oi => oi.ItemTransitOrders.Any(t => t.out_order_no == order.order_sn));
if (orderItem != null)
{
- var transit = orderItem.item_transit_orders.FirstOrDefault(t => t.out_order_no == order.order_sn);
+ var transit = orderItem.ItemTransitOrders.FirstOrDefault(t => t.out_order_no == order.order_sn);
if (transit != null)
transit.pre_allocated_order_no = 1;
}
@@ -1309,7 +1346,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
}
else
{
- order.sendStatus = "修改提前取号失败";
+ order.sendStatus = "修改提前取号失败" + BaseRegex.GetStringXml(ref dispatchRst, "msg");
}
}
}
@@ -1644,6 +1681,16 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
{
filterTxt = txtFilter.Text.Trim();
}
+
+ private void btnClose_Click(object sender, RoutedEventArgs e)
+ {
+ if (MainWindow.Instance.gridPddBuyerOrderReadCtrl.Visibility != Visibility.Visible)
+ MainWindow.Instance.gridPddBuyerOrderReadCtrl.Visibility = Visibility.Visible;
+ if (Panel.GetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl) < 1)
+ Panel.SetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl, 1);
+ else
+ Panel.SetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl, -1);
+ }
}
public class YkdBuyerOrder
diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerSelectCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerSelectCtrl.xaml.cs
index 9e92cf0..78d0c69 100644
--- a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerSelectCtrl.xaml.cs
+++ b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerSelectCtrl.xaml.cs
@@ -98,7 +98,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
private void btnDeleteItem_Click(object sender, RoutedEventArgs e)
{
- if (BaseMsgWindow.ShowConfirm(MainWindow.Instance, "确定删除吗?删除后不可恢复!").DialogResult != true)
+ if (BaseMsgWindow.ShowConfirm("确定删除吗?删除后不可恢复!").DialogResult != true)
return;
if (sender is Button btn)
@@ -158,12 +158,12 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
private void Image_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
- if (MainWindow.Instance.pddBuyerOrderReadCtrl.Visibility != Visibility.Visible)
- MainWindow.Instance.pddBuyerOrderReadCtrl.Visibility = Visibility.Visible;
- if (Panel.GetZIndex(MainWindow.Instance.pddBuyerOrderReadCtrl) < 1)
- Panel.SetZIndex(MainWindow.Instance.pddBuyerOrderReadCtrl, 1);
+ if (MainWindow.Instance.gridPddBuyerOrderReadCtrl.Visibility != Visibility.Visible)
+ MainWindow.Instance.gridPddBuyerOrderReadCtrl.Visibility = Visibility.Visible;
+ if (Panel.GetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl) < 1)
+ Panel.SetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl, 1);
else
- Panel.SetZIndex(MainWindow.Instance.pddBuyerOrderReadCtrl, -1);
+ Panel.SetZIndex(MainWindow.Instance.gridPddBuyerOrderReadCtrl, -1);
}
}
}
diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml
index 7bdc3a0..60412c6 100644
--- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml
+++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml
@@ -62,8 +62,8 @@
200500200"))
- {
- BaseMsgForm.ShowInfo("保存成功");
-
- orderItem.item_transit_orders.Insert(0, new oms_wei_external_procurement_log()
- {
- buyer_account = buyer.buyer_nick,
- id = 0,
- order_no = orderItem.order_id,
- order_sku_id = orderItem.sku_id,
- out_amount = (txtBuyPrice.Text.ParseToDecimal() * 100).ParseToInt(),
- out_order_no = txtBuyOrderId.Text.Trim(),
- purchaser_note = BaseClass.NickName,
- });
- var order = orderItem.item_order;
- if (filterOrderAction != null)
- {
- GlobalConfig.lstFilterOrder.Remove(order);
- filterOrderAction(order, true);
- }
-
- this.Close();
- }
- else
+ if (!exportRst.ParseToString().Contains("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;
}
@@ -728,8 +733,63 @@ namespace TemuKJD.ToolForms
{
msg = exportRst.ParseToString();
}
- BaseMsgForm.ShowError(msg);
+ BaseMsgForm.ShowError("接收到erp服务端传递的错误消息:" + msg, "拍单信息保存失败");
+ btnManualUpdateBuyOrder.Enabled = true;
+ return;
}
+
+ orderItem.ItemTransitOrders.Insert(0, new oms_wei_external_procurement_log()
+ {
+ buyer_account = buyer.buyer_nick,
+ id = 0,
+ order_no = orderItem.order_id,
+ order_sku_id = orderItem.sku_id,
+ out_amount = (txtBuyPrice.Text.ParseToDecimal() * 100).ParseToInt(),
+ out_order_no = txtBuyOrderId.Text.Trim(),
+ purchaser_note = BaseClass.NickName,
+ });
+ var order = orderItem.ItemOrder;
+ if (filterOrderAction != null)
+ {
+ GlobalConfig.lstFilterOrder.Remove(order);
+ filterOrderAction(order, true);
+ }
+
+ // 提前取号
+ if (DateTime.Now.Date > BaseClass.StampToDateTime(order.create_time).Date)
+ {
+ JObject data = new JObject();
+ data["outOrderNo"] = txtBuyOrderId.Text.Trim();
+ data["warehouseCode"] = transit.TransId; // 中转仓仓库对应编码
+ //data["warehouseCode"] = txtBuyOrderId.Text.Trim(); // 中转仓仓库对应编码
+ data["platform"] = "WEISHOP";
+ var getVirtualTicketUrl = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/order/virtual/create";
+ var getVirtualTicketDataStr = JsonHelper.SerializeObject(data);
+
+ var getVirtualTicketRst = HttpResponseWXBLL.e57PostResponse(getVirtualTicketUrl, getVirtualTicketDataStr, "");
+ if (!getVirtualTicketRst.ParseToString().Contains("200") && !getVirtualTicketRst.ParseToString().Contains("0"))
+ {
+ string msg = "";
+ string code = "";
+ try
+ {
+ System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
+ xmlDoc.LoadXml(getVirtualTicketRst);
+ code = xmlDoc["AjaxResult"]["code"].InnerText;
+ msg = xmlDoc["AjaxResult"]["msg"].InnerText;
+ }
+ catch
+ {
+ msg = getVirtualTicketRst.ParseToString();
+ }
+ BaseMsgForm.ShowError("拍单信息保存成功,接收到erp服务端传递的错误消息:" + msg, "订单提前取号失败");
+ btnManualUpdateBuyOrder.Enabled = true;
+ return;
+ }
+ }
+
+ BaseMsgForm.ShowInfo("拍单信息保存成功");
+ this.Close();
}
private void pictureBox1_Click(object sender, EventArgs e)
diff --git a/Work/_29Tools/Forms/ShopForms/WXShopLoginForm.Designer.cs b/Work/_29Tools/Forms/ShopForms/WXShopLoginForm.Designer.cs
new file mode 100644
index 0000000..ddf94a7
--- /dev/null
+++ b/Work/_29Tools/Forms/ShopForms/WXShopLoginForm.Designer.cs
@@ -0,0 +1,448 @@
+namespace Work._29Tools.Forms.ShopForms
+{
+ partial class WXShopLoginForm
+ {
+ ///