微信店铺重发优化功能
This commit is contained in:
1 parent
16342df70a
commit
daa7f733fc
28 files changed
+3675
-986
No files matched your search
@@ -290,7 +290,7 @@
|
||||
<Compile Include="Model\Result\WXResult\WxOptimizeExpressInfo.cs" />
|
||||
<Compile Include="Model\Result\WXResult\WxOptimizeOrderAfterSaleInfo.cs" />
|
||||
<Compile Include="Model\Result\WXResult\WxOptimizeProductEvaluationInfo.cs" />
|
||||
<Compile Include="Model\Result\WXResult\WxOptrimizeLinerCgiInfo.cs" />
|
||||
<Compile Include="Model\Result\WXResult\WxOptimizeLinerCgiInfo.cs" />
|
||||
<Compile Include="Model\Result\WXResult\WxOrderInfoLite.cs" />
|
||||
<Compile Include="Model\Result\WXResult\WxOptimizeOrderWayBillInfo.cs" />
|
||||
<Compile Include="Model\Result\WXResult\WXShopTokenInfo.cs" />
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace AllBase
|
||||
/// <summary>
|
||||
/// 版本ID
|
||||
/// </summary>
|
||||
public static int VersionCount = 1016;
|
||||
public static int VersionCount = 1020;
|
||||
//public static int VersionCount = 613;
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -66,6 +66,16 @@ namespace AllBase.Extension
|
||||
{
|
||||
return null;
|
||||
}
|
||||
try
|
||||
{
|
||||
return DateTime.Parse(str);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
if (str.Contains("年") && str.Contains("月") && str.Contains("日") && !str.Contains("周"))
|
||||
str = str.Replace("年", "-").Replace("月", "-").Replace("日", "").Replace("时", ":").Replace("分", ":").Replace("秒", "").Trim(' ', ':');
|
||||
if (str.Contains("-") || str.Contains("/"))
|
||||
{
|
||||
return DateTime.Parse(str);
|
||||
|
||||
@@ -20,7 +20,27 @@ namespace AllBase.Model.Result.PDDResult
|
||||
//BTWL 百世快运
|
||||
//HTKY 百世快递
|
||||
|
||||
public static string GetWxExpressCompanyCode(string expressCompanyName)
|
||||
public static string GetPddToWxExpressCompanyCode(string expressCompanyName)
|
||||
{
|
||||
if (expressCompanyName == null || expressCompanyName == "") return "";
|
||||
if (expressCompanyName.Contains("邮政快递包裹")) return "EMS";
|
||||
if (expressCompanyName.Contains("邮政电商标快")) return "EMS";
|
||||
if (expressCompanyName.Contains("邮政EMS")) return "EMS";
|
||||
if (expressCompanyName.Contains("极兔速递")) return "JTSD";
|
||||
if (expressCompanyName.Contains("极兔快递")) return "JTSD";
|
||||
if (expressCompanyName.Contains("申通快递")) return "STO";
|
||||
if (expressCompanyName.Contains("韵达快递")) return "YD";
|
||||
if (expressCompanyName.Contains("圆通快递")) return "YTO";
|
||||
if (expressCompanyName.Contains("中通快递")) return "ZTO";
|
||||
if (expressCompanyName.Contains("百世快运")) return "BTWL";
|
||||
if (expressCompanyName.Contains("百世快递")) return "HTKY";
|
||||
if (expressCompanyName.Contains("顺丰速运")) return "SF";
|
||||
if (expressCompanyName.Contains("京东快递")) return "JD";
|
||||
if (expressCompanyName.Contains("京东快运")) return "JDKY";
|
||||
return "";
|
||||
}
|
||||
|
||||
public static string GetWxExpressNameToWxExpressCode(string expressCompanyName)
|
||||
{
|
||||
if (expressCompanyName == null || expressCompanyName == "") return "";
|
||||
if (expressCompanyName.Contains("邮政快递包裹")) return "EMS";
|
||||
@@ -28,8 +48,8 @@ namespace AllBase.Model.Result.PDDResult
|
||||
if (expressCompanyName.Contains("邮政EMS")) return "EMS";
|
||||
if (expressCompanyName.Contains("极兔速递")) return "JTSD";
|
||||
if (expressCompanyName.Contains("申通快递")) return "STO";
|
||||
if (expressCompanyName.Contains("韵达快递")) return "YD";
|
||||
if (expressCompanyName.Contains("圆通快递")) return "YTO";
|
||||
if (expressCompanyName.Contains("韵达速递")) return "YD";
|
||||
if (expressCompanyName.Contains("圆通速递")) return "YTO";
|
||||
if (expressCompanyName.Contains("中通快递")) return "ZTO";
|
||||
if (expressCompanyName.Contains("百世快运")) return "BTWL";
|
||||
if (expressCompanyName.Contains("百世快递")) return "HTKY";
|
||||
@@ -44,7 +64,7 @@ namespace AllBase.Model.Result.PDDResult
|
||||
{
|
||||
get
|
||||
{
|
||||
return GetWxExpressCompanyCode(outExpressCompanyName);
|
||||
return GetPddToWxExpressCompanyCode(outExpressCompanyName);
|
||||
}
|
||||
}
|
||||
public string outExpressCompanyName
|
||||
@@ -55,6 +75,7 @@ namespace AllBase.Model.Result.PDDResult
|
||||
if (outExpressCompanyMsg.Contains("邮政快递包裹")) return "邮政快递包裹";
|
||||
if (outExpressCompanyMsg.Contains("邮政电商标快")) return "邮政电商标快";
|
||||
if (outExpressCompanyMsg.Contains("极兔速递")) return "极兔速递";
|
||||
if (outExpressCompanyMsg.Contains("极兔快递")) return "极兔速递";
|
||||
if (outExpressCompanyMsg.Contains("申通快递")) return "申通快递";
|
||||
if (outExpressCompanyMsg.Contains("韵达快递")) return "韵达快递";
|
||||
if (outExpressCompanyMsg.Contains("圆通快递")) return "圆通快递";
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AllBase.Model.Result.WXResult
|
||||
{
|
||||
public class WxOptimizeExpressInfo
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string delivery_id { get; set; }
|
||||
public string delivery_name { get; set; }
|
||||
public string waybill_id { get; set; }
|
||||
public int status { get; set; }
|
||||
public string order_id { get; set; }
|
||||
public string bind_order_id { get; set; }
|
||||
public string shop_id { get; set; }
|
||||
public DateTime add_time { get; set; }
|
||||
public DateTime? use_time { get; set; }
|
||||
public DateTime? waybill_pickup_time { get; set; }
|
||||
}
|
||||
|
||||
public class WxOptimizeRstInfo
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string shop_id { get; set; }
|
||||
public string order_id { get; set; }
|
||||
public string optimize_rst { get; set; }
|
||||
public string waybill_id { get; set; }
|
||||
public string delivery_name { get; set; }
|
||||
public DateTime add_time { get; set; }
|
||||
public DateTime mdy_time { get; set; }
|
||||
}
|
||||
}
|
||||
+16
-2
@@ -6,15 +6,29 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace AllBase.Model.Result.WXResult
|
||||
{
|
||||
public class WxOptrimizeLinerCgiInfo
|
||||
public class WxOptimizeLinerCgiInfo
|
||||
{
|
||||
public string shopId { get; set; }
|
||||
public string shopName { get; set; }
|
||||
public string optimizeWaybillId { get; set; }
|
||||
public string optimizeTime { get; set; }
|
||||
public int? orderTime { get; set; }
|
||||
/// <summary>
|
||||
/// 收货 省
|
||||
/// </summary>
|
||||
public string province { get; set; }
|
||||
/// <summary>
|
||||
/// 收货 市
|
||||
/// </summary>
|
||||
public string city { get; set; }
|
||||
/// <summary>
|
||||
/// 收货 区
|
||||
/// </summary>
|
||||
public string district { get; set; }
|
||||
|
||||
|
||||
public string receipt_province { get; set; } // "福建省",
|
||||
public string ship_province { get; set; } // "广东省",
|
||||
public string ship_province { get; set; } // "广东省",
|
||||
public string receipt_time { get; set; } // "1775439386",
|
||||
public string transport_duration { get; set; } // "120986",
|
||||
public string delivery_id { get; set; } // "ZTO",
|
||||
@@ -12,6 +12,20 @@ namespace AllBase.Model.Result.WXResult
|
||||
public string shopName { get; set; }
|
||||
public string optimizeWaybillId { get; set; }
|
||||
public string optimizeTime { get; set; }
|
||||
public int? orderTime { get; set; }
|
||||
/// <summary>
|
||||
/// 收货 省
|
||||
/// </summary>
|
||||
public string province { get; set; }
|
||||
/// <summary>
|
||||
/// 收货 市
|
||||
/// </summary>
|
||||
public string city { get; set; }
|
||||
/// <summary>
|
||||
/// 收货 区
|
||||
/// </summary>
|
||||
public string district { get; set; }
|
||||
|
||||
|
||||
public AfterSaleOrderInfo orderInfo { get; set; }
|
||||
public string reason { get; set; } // "生锈/弯曲变形/钝化不锋利"
|
||||
|
||||
@@ -12,6 +12,20 @@ namespace AllBase.Model.Result.WXResult
|
||||
public string shopName { get; set; }
|
||||
public string optimizeWaybillId { get; set; }
|
||||
public string optimizeTime { get; set; }
|
||||
public int? orderTime { get; set; }
|
||||
/// <summary>
|
||||
/// 收货 省
|
||||
/// </summary>
|
||||
public string province { get; set; }
|
||||
/// <summary>
|
||||
/// 收货 市
|
||||
/// </summary>
|
||||
public string city { get; set; }
|
||||
/// <summary>
|
||||
/// 收货 区
|
||||
/// </summary>
|
||||
public string district { get; set; }
|
||||
|
||||
|
||||
public WayBillOrderInfo orderInfo { get; set; }
|
||||
public string waybillId { get; set; } // "JT4157662637789",
|
||||
|
||||
@@ -12,8 +12,21 @@ namespace AllBase.Model.Result.WXResult
|
||||
public string shopName { get; set; }
|
||||
public string optimizeWaybillId { get; set; }
|
||||
public string optimizeTime { get; set; }
|
||||
|
||||
public string order_id { get; set; }
|
||||
public int? orderTime { get; set; }
|
||||
/// <summary>
|
||||
/// 收货 省
|
||||
/// </summary>
|
||||
public string province { get; set; }
|
||||
/// <summary>
|
||||
/// 收货 市
|
||||
/// </summary>
|
||||
public string city { get; set; }
|
||||
/// <summary>
|
||||
/// 收货 区
|
||||
/// </summary>
|
||||
public string district { get; set; }
|
||||
|
||||
|
||||
public string productEvaluationId { get; set; } // "53890834526",
|
||||
public OptimizeEvaluationInfo evaluationInfo { get; set; }
|
||||
|
||||
@@ -0,0 +1,707 @@
|
||||
using KJD_Web.Model.WxModel;
|
||||
using KJD_Web.Utils;
|
||||
using KJD_WebService.Model;
|
||||
using MySql.Data.MySqlClient;
|
||||
using NaiBa.Util.Extension;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.Services.Description;
|
||||
|
||||
namespace KJD_Web.BLL.WXXD
|
||||
{
|
||||
public class WXExpressOptimizeManage
|
||||
{
|
||||
public string GetWayBill(string inputData, bool isNoUserName = false)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
var timeCalc = DateTime.Now;
|
||||
|
||||
if (!WXUserManage.GetSign(inputData))
|
||||
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
||||
|
||||
//var delivery_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delivery_id"))?.Replace("'", "\\'");
|
||||
//var delivery_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delivery_name"))?.Replace("'", "\\'");
|
||||
//var waybill_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "waybill_id"))?.Replace("'", "\\'");
|
||||
//if (string.IsNullOrEmpty(delivery_id) || string.IsNullOrEmpty(delivery_name) || string.IsNullOrEmpty(waybill_id))
|
||||
//{
|
||||
// return "{\"code\":500,\"msg\":\"运单号信息不完整\"}";
|
||||
//}
|
||||
var status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "status"))?.Replace("'", "\'");
|
||||
var order_ids = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_ids"))?.Replace("'", "\'");
|
||||
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.Replace("'", "\'");
|
||||
if (!isNoUserName && user_name.IsNullOrEmpty())
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"用户名不能为空\"}";
|
||||
}
|
||||
if (isNoUserName && order_ids.IsNullOrEmpty())
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"订单号不能为空\"}";
|
||||
}
|
||||
|
||||
|
||||
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
||||
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50);
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "";
|
||||
sql = "select count(*) from wxxd.delivery where 1=1";
|
||||
|
||||
string where = "";
|
||||
if (!isNoUserName)
|
||||
where += " AND user_name='" + user_name + "'";
|
||||
if (status != null)
|
||||
where += " AND status in (" + status + ")";
|
||||
if (order_ids != null)
|
||||
where += " AND order_id in ('" + order_ids.Replace(",", "','") + "')";
|
||||
|
||||
sql += where;
|
||||
|
||||
var count = 0;
|
||||
count = mySql.ExecuteRowCount(sql);
|
||||
|
||||
DataTable dt;
|
||||
if (count == 0)
|
||||
{
|
||||
dt = new DataTable();
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "select * from wxxd.delivery where 1=1";
|
||||
sql += where;
|
||||
sql += " order by id desc limit " + Math.Max(0, page - 1) * page_size + "," + page_size + ";";
|
||||
dt = mySql.ExecuteDataTable(sql);
|
||||
}
|
||||
mySql.Close();
|
||||
|
||||
if (!string.IsNullOrEmpty(mySql.Message))
|
||||
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
|
||||
|
||||
if (dt != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
List<WxOptimizeExpressInfo> WxOptimizeExpressInfoLst = new List<WxOptimizeExpressInfo>();
|
||||
foreach (DataRow row in dt.Rows)
|
||||
{
|
||||
WxOptimizeExpressInfoLst.Add(new WxOptimizeExpressInfo()
|
||||
{
|
||||
id = row["id"].ParseToInt(),
|
||||
delivery_id = row["delivery_id"].ParseToString(),
|
||||
delivery_name = row["delivery_name"].ParseToString(),
|
||||
order_id = row["order_id"].ParseToString(),
|
||||
bind_order_id = row["bind_order_id"].ParseToString(),
|
||||
shop_id = row["shop_id"].ParseToString(),
|
||||
status = row["status"].ParseToInt(),
|
||||
waybill_id = row["waybill_id"].ParseToString(),
|
||||
add_time = Convert.ToDateTime(row["add_time"]),
|
||||
use_time = row["use_time"].ParseToString().ParseToDateTimeNullable(),
|
||||
waybill_pickup_time = row["waybill_pickup_time"].ParseToString().ParseToDateTimeNullable(),
|
||||
});
|
||||
}
|
||||
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
|
||||
var data = JsonUtils.SerializeObjectToString(WxOptimizeExpressInfoLst, jsonSetting);
|
||||
var seconds = (DateTime.Now - timeCalc).TotalSeconds.ToString("0.000");
|
||||
return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + ",\"seconds\":" + seconds + "}";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"" + ex.Message + "\",\"data\":[],\"count\":" + 0 + "}";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"data\":[],\"count\":" + 0 + "}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加运单
|
||||
/// </summary>
|
||||
/// <param name="inputData"></param>
|
||||
/// <returns></returns>
|
||||
public string AddWaybill(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
if (!WXUserManage.GetSign(inputData))
|
||||
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
||||
|
||||
var delivery_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delivery_id"))?.Replace("'", "\\'");
|
||||
var delivery_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delivery_name"))?.Replace("'", "\\'");
|
||||
var waybill_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "waybill_id"))?.Replace("'", "\\'");
|
||||
var bind_order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "bind_order_id"))?.Replace("'", "\\'");
|
||||
var waybill_pickup_time = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "waybill_pickup_time")).ParseToDateTimeNullable();
|
||||
if (string.IsNullOrEmpty(delivery_id) || string.IsNullOrEmpty(delivery_name) || string.IsNullOrEmpty(waybill_id))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"运单号信息不完整\"}";
|
||||
}
|
||||
if (waybill_pickup_time == null && bind_order_id.IsNullOrEmpty())
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"揽收时间和绑定订单编号不能同时为空\"}";
|
||||
}
|
||||
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.ParseToString();
|
||||
if (user_name.IsNullOrEmpty())
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"请输入用户名\"}";
|
||||
}
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "";
|
||||
sql = "select exists (select 1 from wxxd.delivery where waybill_id='" + waybill_id + "')";
|
||||
var exist = mySql.ExecuteFirstInt(sql);
|
||||
if (exist > 0)
|
||||
{
|
||||
mySql.Close();
|
||||
return "{\"code\":500,\"msg\":\"运单号已存在\"}";
|
||||
}
|
||||
|
||||
sql = "insert into wxxd.delivery (user_name,delivery_id,delivery_name,waybill_id,";
|
||||
if (!bind_order_id.IsNullOrEmpty())
|
||||
sql += "bind_order_id,";
|
||||
if (waybill_pickup_time != null)
|
||||
sql += "waybill_pickup_time,";
|
||||
sql = sql.Trim(',');
|
||||
sql += ") values ('" + user_name + "','" + delivery_id + "','" + delivery_name + "','" + waybill_id + "',";
|
||||
if (!bind_order_id.IsNullOrEmpty())
|
||||
sql += "'" + bind_order_id + "',";
|
||||
if (waybill_pickup_time != null)
|
||||
sql += "'" + waybill_pickup_time.Value.ToString("yyyy-MM-dd HH:mm:ss") + "',";
|
||||
sql = sql.Trim(',');
|
||||
sql += ");";
|
||||
var rst = mySql.ExecuteNonQuery(sql);
|
||||
mySql.Close();
|
||||
if (!rst)
|
||||
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
|
||||
else
|
||||
return "{\"code\":200,\"msg\":\"success\"}";
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string DelWaybill(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
if (!WXUserManage.GetSign(inputData))
|
||||
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
||||
|
||||
var waybill_ids = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "waybill_ids"))?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(waybill_ids))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"运单号信息不完整\"}";
|
||||
}
|
||||
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.ParseToString();
|
||||
if (user_name.IsNullOrEmpty())
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"请输入用户名\"}";
|
||||
}
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "";
|
||||
sql = "delete from wxxd.delivery WHERE waybill_id in ('" + waybill_ids.Replace(",", "','") + "') and status=0";
|
||||
var rst = mySql.ExecuteNonQuery(sql);
|
||||
mySql.Close();
|
||||
if (!rst || !mySql.Message.IsNullOrEmpty())
|
||||
return "{\"code\":501,\"msg\":\"删除失败 " + mySql.Message + "\"}";
|
||||
else
|
||||
return "{\"code\":200,\"msg\":\"success\"}";
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 选择并使用运单
|
||||
/// </summary>
|
||||
/// <param name="inputData"></param>
|
||||
/// <returns></returns>
|
||||
public string SelectAndSetWaybill(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
if (!WXUserManage.GetSign(inputData))
|
||||
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
||||
|
||||
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.ParseToString();
|
||||
if (user_name.IsNullOrEmpty())
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"请输入用户名\"}";
|
||||
}
|
||||
var shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'");
|
||||
var order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(order_id) || string.IsNullOrEmpty(shop_id))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"缺少订单信息\"}";
|
||||
}
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn, true);
|
||||
|
||||
string sql = "";
|
||||
sql = "select * from wxxd.delivery where order_id='" + order_id + "' and status = 1";
|
||||
var dt = mySql.ExecuteDataTable(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"物流信息查询失败 " + mySql.Message + "\"}";
|
||||
}
|
||||
if (dt?.Rows?.Count == 0)
|
||||
{
|
||||
sql = "UPDATE wxxd.delivery SET order_id='" + order_id + "',status=1 WHERE user_name='" + user_name +
|
||||
"' AND status=0 AND (order_id IS NULL OR order_id='') LIMIT 1";
|
||||
var cnt = mySql.ExecuteAffectedRows(sql);
|
||||
if (cnt == 0 || !mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"物流信息提取失败 " + mySql.Message + "\"}";
|
||||
}
|
||||
|
||||
sql = "SELECT * FROM wxxd.delivery WHERE user_name='" + user_name + "' AND order_id='" + order_id + "' AND status = 1";
|
||||
dt = mySql.ExecuteDataTable(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"物流信息提取失败 " + mySql.Message + "\"}";
|
||||
}
|
||||
if (dt?.Rows?.Count == 0)
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"物流信息提取失败 " + mySql.Message + "\"}";
|
||||
}
|
||||
}
|
||||
var waybill_id = dt.Rows[0]["waybill_id"].ToString();
|
||||
|
||||
// todo E57调用接口处理
|
||||
|
||||
mySql.Close();
|
||||
mySql = new MysqlUtils(conn, true);
|
||||
sql = " UPDATE wxxd.delivery SET shop_id='" + shop_id + "',status=2,use_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' " +
|
||||
" WHERE user_name='" + user_name + "' AND status=1 AND order_id='" + order_id + "' AND waybill_id='" + waybill_id + "'";
|
||||
var rst = mySql.ExecuteAffectedRows(sql);
|
||||
if (rst == 0 || !mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"修改物流信息失败 " + mySql.Message + "\"}";
|
||||
}
|
||||
else
|
||||
{
|
||||
mySql.Commit();
|
||||
mySql.Close();
|
||||
return "{\"code\":200,\"msg\":\"success\"}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string SelectWaybill(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
if (!WXUserManage.GetSign(inputData))
|
||||
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
||||
|
||||
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.ParseToString();
|
||||
if (user_name.IsNullOrEmpty())
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"请输入用户名\"}";
|
||||
}
|
||||
var shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'");
|
||||
var order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'");
|
||||
var order_time = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_time")).ParseToDateTimeNullable();
|
||||
|
||||
if (string.IsNullOrEmpty(order_id) || string.IsNullOrEmpty(shop_id))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"缺少订单信息\"}";
|
||||
}
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn, true);
|
||||
|
||||
try
|
||||
{
|
||||
string sql = "";
|
||||
sql = "select * from wxxd.delivery WHERE user_name='" + user_name + "' AND order_id='" + order_id + "' and status = 1 LIMIT 1";
|
||||
var dt = mySql.ExecuteDataTable(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"物流查询失败 " + mySql.Message + "\"}";
|
||||
}
|
||||
if (dt?.Rows?.Count == 0)
|
||||
{
|
||||
// 获取事先绑定的订单运单
|
||||
sql = " UPDATE wxxd.delivery SET order_id='" + order_id + "',status=1" +
|
||||
" WHERE user_name='" + user_name + "' AND status=0 AND bind_order_id='" + order_id + "'" +
|
||||
" LIMIT 1";
|
||||
var cnt = mySql.ExecuteAffectedRows(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"物流提取失败 " + mySql.Message + "\"}";
|
||||
}
|
||||
// 根据订单时间提取指定时间段内的运单号
|
||||
if (cnt == 0 && order_time != null)
|
||||
{
|
||||
// 第一天的订单用第二天的物流发货
|
||||
var start_time = order_time.Value.Date.AddHours(24).ToString("yyyy-MM-dd HH:mm:ss");
|
||||
var end_time = order_time.Value.Date.AddHours(48).AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss");
|
||||
sql = " UPDATE wxxd.delivery SET order_id='" + order_id + "',status=1" +
|
||||
" WHERE user_name='" + user_name + "' AND status=0 AND (order_id IS NULL OR order_id='') AND (bind_order_id IS NULL OR bind_order_id='')" +
|
||||
" AND waybill_pickup_time between '" + start_time + "' and '" + end_time + "'" +
|
||||
" LIMIT 1";
|
||||
cnt = mySql.ExecuteAffectedRows(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"物流提取失败 " + mySql.Message + "\"}";
|
||||
}
|
||||
}
|
||||
// 挑选最早入库的运单号
|
||||
//if (cnt == 0 && order_time == null)
|
||||
//{
|
||||
// sql = " UPDATE wxxd.delivery SET order_id='" + order_id + "',status=1" +
|
||||
// " WHERE user_name='" + user_name + "' AND status=0 AND (order_id IS NULL OR order_id='') AND (bind_order_id IS NULL OR bind_order_id='')" +
|
||||
// " LIMIT 1";
|
||||
// cnt = mySql.ExecuteAffectedRows(sql);
|
||||
// if (!mySql.Message.IsNullOrEmpty())
|
||||
// {
|
||||
// mySql.RollBack();
|
||||
// mySql.Close();
|
||||
// return "{\"code\":501,\"msg\":\"物流提取失败 " + mySql.Message + "\"}";
|
||||
// }
|
||||
//}
|
||||
if (cnt == 0)
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"没有可用的运单号\"}";
|
||||
}
|
||||
|
||||
sql = "SELECT * FROM wxxd.delivery WHERE user_name='" + user_name + "' AND order_id='" + order_id + "' AND status = 1";
|
||||
dt = mySql.ExecuteDataTable(sql);
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"物流提取失败 " + mySql.Message + "\"}";
|
||||
}
|
||||
if (dt?.Rows?.Count == 0)
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"物流提取失败 " + mySql.Message + "\"}";
|
||||
}
|
||||
}
|
||||
var waybill_id = dt.Rows[0]["waybill_id"].ToString();
|
||||
var delivery_id = dt.Rows[0]["delivery_id"].ParseToString();
|
||||
var delivery_name = dt.Rows[0]["delivery_name"].ParseToString();
|
||||
|
||||
mySql.Commit();
|
||||
mySql.Close();
|
||||
|
||||
return "{\"code\":200,\"msg\":\"success\",\"data\":{\"waybill_id\":\"" + waybill_id +
|
||||
"\",\"delivery_id\":\"" + delivery_id + "\",\"delivery_name\":\"" + delivery_name + "\"}}";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"物流提取失败 " + ex.Message + "\"}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string UpdateUsedWaybill(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
if (!WXUserManage.GetSign(inputData))
|
||||
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
||||
|
||||
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "user_name"))?.ParseToString();
|
||||
if (user_name.IsNullOrEmpty())
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"请输入用户名\"}";
|
||||
}
|
||||
var shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'");
|
||||
var order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'");
|
||||
var waybill_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "waybill_id"))?.Replace("'", "\\'");
|
||||
var is_rollback = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "is_rollback"))?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(order_id) || string.IsNullOrEmpty(shop_id) || string.IsNullOrEmpty(waybill_id))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"缺少订单信息\"}";
|
||||
}
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn, true);
|
||||
|
||||
var sql = " UPDATE wxxd.delivery SET shop_id='" + shop_id + "',status=2,use_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' " +
|
||||
" WHERE user_name='" + user_name + "' AND status=1 AND order_id='" + order_id + "' AND waybill_id='" + waybill_id + "'";
|
||||
if (is_rollback == "true")
|
||||
sql = " UPDATE wxxd.delivery SET shop_id='',order_id='',status=0,use_time=NULL" +
|
||||
" WHERE user_name='" + user_name + "' AND status=1 AND order_id='" + order_id + "' AND waybill_id='" + waybill_id + "'";
|
||||
|
||||
var rst = mySql.ExecuteAffectedRows(sql);
|
||||
if (rst == 0 || !mySql.Message.IsNullOrEmpty())
|
||||
{
|
||||
mySql.RollBack();
|
||||
mySql.Close();
|
||||
return "{\"code\":501,\"msg\":\"修改物流信息失败 " + mySql.Message + "\"}";
|
||||
}
|
||||
|
||||
// 记录修改结果,暂时注释
|
||||
if (is_rollback != "true")
|
||||
{
|
||||
//var relation_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "relation_id"))?.Replace("'", "\\'");
|
||||
//var optimize_rst = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "optimize_rst"))?.Replace("'", "\\'");
|
||||
//var delivery_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delivery_name"))?.Replace("'", "\\'");
|
||||
//if (optimize_rst != null)
|
||||
//{
|
||||
// sql = "select exists (select 1 from wxxd.delivery where order_id='" + order_id + "')";
|
||||
// var exist = mySql.ExecuteFirstInt(sql);
|
||||
// if (exist > 0)
|
||||
// {
|
||||
// sql = " UPDATE wxxd.express_optimize_rst SET ";
|
||||
// if (shop_id != null)
|
||||
// sql += " shop_id=@shop_id,";
|
||||
// if (relation_id != null)
|
||||
// sql += " relation_id=@relation_id,";
|
||||
// if (optimize_rst != null)
|
||||
// sql += " optimize_rst=@optimize_rst,";
|
||||
// if (waybill_id != null)
|
||||
// sql += " waybill_id=@waybill_id,";
|
||||
// if (delivery_name != null)
|
||||
// sql += " delivery_name=@delivery_name,";
|
||||
// sql = sql.TrimEnd(',');
|
||||
// sql += " WHERE order_id=@order_id";
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// sql = " insert into wxxd.express_optimize_rst (shop_id,order_id,";
|
||||
// if (relation_id != null)
|
||||
// sql += "relation_id,";
|
||||
// if (optimize_rst != null)
|
||||
// sql += "optimize_rst,";
|
||||
// if (waybill_id != null)
|
||||
// sql += "waybill_id,";
|
||||
// if (delivery_name != null)
|
||||
// sql += "delivery_name,";
|
||||
// sql = sql.TrimEnd(',');
|
||||
// sql += ") ";
|
||||
// sql += " values (@shop_id,@order_id,";
|
||||
// if (relation_id != null)
|
||||
// sql += "@relation_id,";
|
||||
// if (optimize_rst != null)
|
||||
// sql += "@optimize_rst,";
|
||||
// if (waybill_id != null)
|
||||
// sql += "@waybill_id,";
|
||||
// if (delivery_name != null)
|
||||
// sql += "@delivery_name,";
|
||||
// sql = sql.TrimEnd(',');
|
||||
// sql += ");";
|
||||
// }
|
||||
|
||||
// List<MySqlParameter> paramLst = new List<MySqlParameter>();
|
||||
// paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@shop_id", Value = shop_id, });
|
||||
// paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@relation_id", Value = relation_id, });
|
||||
// paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@optimize_rst", Value = optimize_rst, });
|
||||
// paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@waybill_id", Value = waybill_id, });
|
||||
// paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@delivery_name", Value = delivery_name, });
|
||||
// paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@order_id", Value = order_id, });
|
||||
// var rows = mySql.ExecuteAffectedRows(sql, paramLst.ToArray());
|
||||
//}
|
||||
}
|
||||
|
||||
mySql.Commit();
|
||||
mySql.Close();
|
||||
return "{\"code\":200,\"msg\":\"success\"}";
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string AddMdyExpressOptimizeRst(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
if (!WXUserManage.GetSign(inputData))
|
||||
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
||||
|
||||
var shop_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "shop_id"))?.Replace("'", "\\'");
|
||||
var order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_id"))?.Replace("'", "\\'");
|
||||
var optimize_rst = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "optimize_rst"))?.Replace("'", "\\'");
|
||||
var waybill_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "waybill_id"))?.Replace("'", "\\'");
|
||||
var delivery_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "delivery_name"))?.Replace("'", "\\'");
|
||||
if (string.IsNullOrEmpty(order_id))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"请输入订单编号\"}";
|
||||
}
|
||||
if (string.IsNullOrEmpty(optimize_rst))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"请输入补发结果\"}";
|
||||
}
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "";
|
||||
sql = "select exists (select 1 from wxxd.express_optimize_rst where order_id='" + order_id + "')";
|
||||
var exist = mySql.ExecuteFirstInt(sql);
|
||||
if (exist > 0)
|
||||
{
|
||||
sql = " UPDATE wxxd.express_optimize_rst SET ";
|
||||
if (shop_id != null)
|
||||
sql += " shop_id=@shop_id,";
|
||||
if (optimize_rst != null)
|
||||
sql += " optimize_rst=@optimize_rst,";
|
||||
if (waybill_id != null)
|
||||
sql += " waybill_id=@waybill_id,";
|
||||
if (delivery_name != null)
|
||||
sql += " delivery_name=@delivery_name,";
|
||||
sql = sql.TrimEnd(',');
|
||||
sql += " WHERE order_id=@order_id";
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = " insert into wxxd.express_optimize_rst (shop_id,order_id,";
|
||||
if (optimize_rst != null)
|
||||
sql += "optimize_rst,";
|
||||
if (waybill_id != null)
|
||||
sql += "waybill_id,";
|
||||
if (delivery_name != null)
|
||||
sql += "delivery_name,";
|
||||
sql = sql.TrimEnd(',');
|
||||
sql += ") ";
|
||||
sql += " values (@shop_id,@order_id,";
|
||||
if (optimize_rst != null)
|
||||
sql += "@optimize_rst,";
|
||||
if (waybill_id != null)
|
||||
sql += "@waybill_id,";
|
||||
if (delivery_name != null)
|
||||
sql += "@delivery_name,";
|
||||
sql = sql.TrimEnd(',');
|
||||
sql += ");";
|
||||
}
|
||||
|
||||
List<MySqlParameter> paramLst = new List<MySqlParameter>();
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@shop_id", Value = shop_id, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@optimize_rst", Value = optimize_rst, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@waybill_id", Value = waybill_id, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@delivery_name", Value = delivery_name, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@order_id", Value = order_id, });
|
||||
var rows = mySql.ExecuteAffectedRows(sql, paramLst.ToArray());
|
||||
mySql.Close();
|
||||
if (!mySql.Message.IsNullOrEmpty())
|
||||
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
|
||||
else
|
||||
return "{\"code\":200,\"msg\":\"success\",\"affected_rows\":" + rows + "}";
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
|
||||
public string GetExpressOptimizeRst(string inputData, bool isNoUserName = false)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
var timeCalc = DateTime.Now;
|
||||
|
||||
if (!WXUserManage.GetSign(inputData))
|
||||
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
||||
|
||||
var order_ids = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_ids"))?.Replace("'", "\'");
|
||||
if (isNoUserName && order_ids.IsNullOrEmpty())
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"订单号不能为空\"}";
|
||||
}
|
||||
|
||||
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
||||
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(200);
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "";
|
||||
sql = "select count(*) from wxxd.express_optimize_rst where 1=1";
|
||||
|
||||
string where = "";
|
||||
if (order_ids != null)
|
||||
where += " AND order_id in ('" + order_ids.Replace(",", "','") + "')";
|
||||
|
||||
sql += where;
|
||||
|
||||
var count = 0;
|
||||
count = mySql.ExecuteRowCount(sql);
|
||||
|
||||
DataTable dt;
|
||||
if (count == 0)
|
||||
{
|
||||
dt = new DataTable();
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "select * from wxxd.express_optimize_rst where 1=1";
|
||||
sql += where;
|
||||
sql += " order by id desc limit " + Math.Max(0, page - 1) * page_size + "," + page_size + ";";
|
||||
dt = mySql.ExecuteDataTable(sql);
|
||||
}
|
||||
mySql.Close();
|
||||
|
||||
if (!string.IsNullOrEmpty(mySql.Message))
|
||||
return "{\"code\":501,\"msg\":\"" + mySql.Message + "\"}";
|
||||
|
||||
if (dt != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
List<WxOptimizeRstInfo> WxOptimizeRstInfoLst = new List<WxOptimizeRstInfo>();
|
||||
foreach (DataRow row in dt.Rows)
|
||||
{
|
||||
WxOptimizeRstInfoLst.Add(new WxOptimizeRstInfo()
|
||||
{
|
||||
id = row["id"].ParseToInt(),
|
||||
waybill_id = row["waybill_id"].ParseToString(),
|
||||
delivery_name = row["delivery_name"].ParseToString(),
|
||||
order_id = row["order_id"].ParseToString(),
|
||||
optimize_rst = row["optimize_rst"].ParseToString(),
|
||||
shop_id = row["shop_id"].ParseToString(),
|
||||
add_time = Convert.ToDateTime(row["add_time"]),
|
||||
mdy_time = Convert.ToDateTime(row["mdy_time"]),
|
||||
});
|
||||
}
|
||||
JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
|
||||
var data = JsonUtils.SerializeObjectToString(WxOptimizeRstInfoLst, jsonSetting);
|
||||
var seconds = (DateTime.Now - timeCalc).TotalSeconds.ToString("0.000");
|
||||
return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + ",\"seconds\":" + seconds + "}";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"" + ex.Message + "\",\"data\":[],\"count\":" + 0 + "}";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"data\":[],\"count\":" + 0 + "}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -96,7 +96,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "SELECT s.*,se.expire_time FROM wxxd.shop s" +
|
||||
sql = "SELECT s.*,se.user_points_expire_time FROM wxxd.shop s" +
|
||||
" LEFT JOIN wxxd.shop_expire se ON s.shop_id=se.shop_id" +
|
||||
" WHERE 1=1";
|
||||
sql += where; // where 子句
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
{
|
||||
public class WXUserManage
|
||||
{
|
||||
public static bool GetSign(string signData)
|
||||
public static bool GetSign(string signData, bool isUserLogin = false)
|
||||
{
|
||||
if (string.IsNullOrEmpty(signData)) { return false; }
|
||||
|
||||
@@ -25,6 +25,17 @@ namespace KJD_Web.BLL.WXXD
|
||||
string time1 = RegexUtils.GetStringQuery(ref signData, "code");
|
||||
if (time1 != EncrypUtil.Encryption(time))
|
||||
return false;
|
||||
|
||||
if (!isUserLogin)
|
||||
{
|
||||
var user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref signData, "user_name"))?.ParseToString();
|
||||
if (user_name.IsNullOrEmpty())
|
||||
{
|
||||
//return "{\"code\":500,\"msg\":\"请输入用户名\"}";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -32,7 +43,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
if (!GetSign(inputData))
|
||||
if (!GetSign(inputData, true))
|
||||
return "{\"code\":999,\"msg\":\"校验失败\"}";
|
||||
|
||||
var mobile = RegexUtils.GetStringQuery(ref inputData, "mobile")?.Replace("'", "\\'");
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
<Compile Include="BLL\KJD\ToolManage.cs" />
|
||||
<Compile Include="BLL\KJD\UpadteManage.cs" />
|
||||
<Compile Include="BLL\KJD\UserManage.cs" />
|
||||
<Compile Include="BLL\WXXD\WXDeliveryManage.cs" />
|
||||
<Compile Include="BLL\WXXD\WXExpressOptimizeManage.cs" />
|
||||
<Compile Include="BLL\WXXD\WXProductManage.cs" />
|
||||
<Compile Include="BLL\WXXD\WXShopManage.cs" />
|
||||
<Compile Include="BLL\WXXD\WXUserManage.cs" />
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
namespace KJD_Web.Model.WxModel
|
||||
{
|
||||
public class WxOptimizeExpressInfo
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string delivery_id { get; set; }
|
||||
public string delivery_name { get; set; }
|
||||
public string waybill_id { get; set; }
|
||||
public int status { get; set; }
|
||||
public string order_id { get; set; }
|
||||
public string bind_order_id { get; set; }
|
||||
public string shop_id { get; set; }
|
||||
public DateTime add_time { get; set; }
|
||||
public DateTime? use_time { get; set; }
|
||||
public DateTime? waybill_pickup_time { get; set; }
|
||||
}
|
||||
|
||||
public class WxOptimizeRstInfo
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string shop_id { get; set; }
|
||||
public string order_id { get; set; }
|
||||
public string optimize_rst { get; set; }
|
||||
public string waybill_id { get; set; }
|
||||
public string delivery_name { get; set; }
|
||||
public DateTime add_time { get; set; }
|
||||
public DateTime mdy_time { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -345,6 +345,17 @@ namespace NaiBa.Util.Extension
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return DateTime.Parse(str);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
if (str.Contains("年") && str.Contains("月") && str.Contains("日") && !str.Contains("周"))
|
||||
str = str.Replace("年", "-").Replace("月", "-").Replace("日", "").Replace("时", ":").Replace("分", ":").Replace("秒", "").Trim(' ', ':');
|
||||
if (str.Contains("-") || str.Contains("/"))
|
||||
{
|
||||
return DateTime.Parse(str);
|
||||
@@ -485,6 +496,8 @@ namespace NaiBa.Util.Extension
|
||||
}
|
||||
else
|
||||
{
|
||||
if (obj is DateTime)
|
||||
return (obj as DateTime?).Value.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
return obj.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -211,7 +211,7 @@ namespace KJD_Web
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().AddWaybill(jsontext);
|
||||
result = new WXExpressOptimizeManage().AddWaybill(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
@@ -222,7 +222,7 @@ namespace KJD_Web
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().DelWaybill(jsontext);
|
||||
result = new WXExpressOptimizeManage().DelWaybill(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
@@ -233,7 +233,7 @@ namespace KJD_Web
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().GetWayBill(jsontext);
|
||||
result = new WXExpressOptimizeManage().GetWayBill(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
@@ -244,7 +244,7 @@ namespace KJD_Web
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().GetWayBill(jsontext, true);
|
||||
result = new WXExpressOptimizeManage().GetWayBill(jsontext, true);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
@@ -255,7 +255,7 @@ namespace KJD_Web
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().SelectAndSetWaybill(jsontext);
|
||||
result = new WXExpressOptimizeManage().SelectAndSetWaybill(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
@@ -266,7 +266,7 @@ namespace KJD_Web
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().SelectWaybill(jsontext);
|
||||
result = new WXExpressOptimizeManage().SelectWaybill(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
@@ -281,7 +281,31 @@ namespace KJD_Web
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXDeliveryManage().UpdateUsedWaybill(jsontext);
|
||||
result = new WXExpressOptimizeManage().UpdateUsedWaybill(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void add_mdy_express_optimize_rst()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXExpressOptimizeManage().AddMdyExpressOptimizeRst(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void get_express_optimize_rst()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new WXExpressOptimizeManage().GetExpressOptimizeRst(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
|
||||
@@ -659,6 +659,13 @@ namespace TemuKJD.BLL
|
||||
shipment_limit_second_list = null,
|
||||
sku69_code = "",
|
||||
};
|
||||
// 聚水潭广告sku价格为0库存不为零的给库存也改为0
|
||||
if (skuInfo.multi_price == 0)
|
||||
{
|
||||
skuInfo.quantity = 0;
|
||||
skuInfo.quantity_delta = 0;
|
||||
}
|
||||
|
||||
// 聚水潭供应商价加价10%(最低1元)赚取差价
|
||||
int addPrice = (skuInfo.multi_price * 0.1).ParseToInt();
|
||||
if (addPrice < 100)
|
||||
|
||||
+11
-11
@@ -772,7 +772,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"",
|
||||
"是",
|
||||
"否"});
|
||||
this.cmbPddRelation.Location = new System.Drawing.Point(743, 5);
|
||||
this.cmbPddRelation.Location = new System.Drawing.Point(743, 7);
|
||||
this.cmbPddRelation.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbPddRelation.Name = "cmbPddRelation";
|
||||
this.cmbPddRelation.Size = new System.Drawing.Size(47, 25);
|
||||
@@ -827,7 +827,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
this.cmbCat2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbCat2.FormattingEnabled = true;
|
||||
this.cmbCat2.Location = new System.Drawing.Point(278, 77);
|
||||
this.cmbCat2.Location = new System.Drawing.Point(278, 75);
|
||||
this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbCat2.Name = "cmbCat2";
|
||||
this.cmbCat2.Size = new System.Drawing.Size(46, 25);
|
||||
@@ -912,7 +912,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"机会商品",
|
||||
"以图搜品",
|
||||
"外部数据"});
|
||||
this.cmbSourceType.Location = new System.Drawing.Point(278, 42);
|
||||
this.cmbSourceType.Location = new System.Drawing.Point(278, 40);
|
||||
this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbSourceType.Name = "cmbSourceType";
|
||||
this.cmbSourceType.Size = new System.Drawing.Size(46, 25);
|
||||
@@ -958,7 +958,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"",
|
||||
"是",
|
||||
"否"});
|
||||
this.cmbWxCat.Location = new System.Drawing.Point(622, 7);
|
||||
this.cmbWxCat.Location = new System.Drawing.Point(622, 5);
|
||||
this.cmbWxCat.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbWxCat.Name = "cmbWxCat";
|
||||
this.cmbWxCat.Size = new System.Drawing.Size(47, 25);
|
||||
@@ -980,7 +980,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.cmbSort.Items.AddRange(new object[] {
|
||||
"入库时间",
|
||||
"认领总数"});
|
||||
this.cmbSort.Location = new System.Drawing.Point(381, 42);
|
||||
this.cmbSort.Location = new System.Drawing.Point(381, 40);
|
||||
this.cmbSort.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbSort.Name = "cmbSort";
|
||||
this.cmbSort.Size = new System.Drawing.Size(46, 25);
|
||||
@@ -1056,7 +1056,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbGroupFilter.FormattingEnabled = true;
|
||||
this.cmbGroupFilter.Location = new System.Drawing.Point(175, 42);
|
||||
this.cmbGroupFilter.Location = new System.Drawing.Point(175, 40);
|
||||
this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbGroupFilter.Name = "cmbGroupFilter";
|
||||
this.cmbGroupFilter.Size = new System.Drawing.Size(46, 25);
|
||||
@@ -1071,7 +1071,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"是",
|
||||
"否",
|
||||
"导出未拉回"});
|
||||
this.cmbExportToOutServer.Location = new System.Drawing.Point(622, 42);
|
||||
this.cmbExportToOutServer.Location = new System.Drawing.Point(622, 40);
|
||||
this.cmbExportToOutServer.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbExportToOutServer.Name = "cmbExportToOutServer";
|
||||
this.cmbExportToOutServer.Size = new System.Drawing.Size(47, 25);
|
||||
@@ -1107,7 +1107,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"安全商品",
|
||||
"违规商品",
|
||||
"未校验"});
|
||||
this.cmbWxSafe.Location = new System.Drawing.Point(501, 42);
|
||||
this.cmbWxSafe.Location = new System.Drawing.Point(501, 40);
|
||||
this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbWxSafe.Name = "cmbWxSafe";
|
||||
this.cmbWxSafe.Size = new System.Drawing.Size(47, 25);
|
||||
@@ -1149,7 +1149,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
this.cmbCat1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbCat1.FormattingEnabled = true;
|
||||
this.cmbCat1.Location = new System.Drawing.Point(175, 77);
|
||||
this.cmbCat1.Location = new System.Drawing.Point(175, 75);
|
||||
this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbCat1.Name = "cmbCat1";
|
||||
this.cmbCat1.Size = new System.Drawing.Size(46, 25);
|
||||
@@ -1171,7 +1171,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
this.cmbCat3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbCat3.FormattingEnabled = true;
|
||||
this.cmbCat3.Location = new System.Drawing.Point(381, 77);
|
||||
this.cmbCat3.Location = new System.Drawing.Point(381, 75);
|
||||
this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbCat3.Name = "cmbCat3";
|
||||
this.cmbCat3.Size = new System.Drawing.Size(46, 25);
|
||||
@@ -1268,7 +1268,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
"是",
|
||||
"否",
|
||||
"修复回传未拉回"});
|
||||
this.cmbHasReturn.Location = new System.Drawing.Point(743, 42);
|
||||
this.cmbHasReturn.Location = new System.Drawing.Point(743, 40);
|
||||
this.cmbHasReturn.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbHasReturn.Name = "cmbHasReturn";
|
||||
this.cmbHasReturn.Size = new System.Drawing.Size(47, 25);
|
||||
|
||||
@@ -0,0 +1,582 @@
|
||||
|
||||
namespace TemuKJD.WXForms.AdminForms
|
||||
{
|
||||
partial class WXWaybillManageForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WXWaybillManageForm));
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.panel5 = new System.Windows.Forms.Panel();
|
||||
this.btnDel = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panel4 = new System.Windows.Forms.Panel();
|
||||
this.comboBox1 = new System.Windows.Forms.ComboBox();
|
||||
this.btnImport = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSearch = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtUserName = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.pnlEmpty = new DevComponents.DotNetBar.PanelEx();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.dgvExpress = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colDbId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colDeliveryId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colBindOrderId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colDeliveryName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colWaybillId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colWaybillPickupTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colOrderId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colUseTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colTest = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.panel3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.tableLayoutPanel2.SuspendLayout();
|
||||
this.panel5.SuspendLayout();
|
||||
this.panel4.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvExpress)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
this.panel3.BackColor = System.Drawing.Color.White;
|
||||
this.panel3.Controls.Add(this.splitContainer1);
|
||||
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel3.Location = new System.Drawing.Point(1, 33);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.Size = new System.Drawing.Size(1208, 589);
|
||||
this.panel3.TabIndex = 36;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.tableLayoutPanel2);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
|
||||
this.splitContainer1.Panel2.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1208, 589);
|
||||
this.splitContainer1.SplitterDistance = 72;
|
||||
this.splitContainer1.TabIndex = 34;
|
||||
//
|
||||
// tableLayoutPanel2
|
||||
//
|
||||
this.tableLayoutPanel2.ColumnCount = 2;
|
||||
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel2.Controls.Add(this.panel5, 1, 0);
|
||||
this.tableLayoutPanel2.Controls.Add(this.panel4, 0, 0);
|
||||
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
|
||||
this.tableLayoutPanel2.RowCount = 1;
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel2.Size = new System.Drawing.Size(1208, 72);
|
||||
this.tableLayoutPanel2.TabIndex = 37;
|
||||
//
|
||||
// panel5
|
||||
//
|
||||
this.panel5.Controls.Add(this.btnDel);
|
||||
this.panel5.Location = new System.Drawing.Point(945, 3);
|
||||
this.panel5.Name = "panel5";
|
||||
this.panel5.Size = new System.Drawing.Size(260, 66);
|
||||
this.panel5.TabIndex = 1;
|
||||
//
|
||||
// btnDel
|
||||
//
|
||||
this.btnDel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnDel.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnDel.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnDel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnDel.Location = new System.Drawing.Point(161, 17);
|
||||
this.btnDel.Name = "btnDel";
|
||||
this.btnDel.Size = new System.Drawing.Size(81, 23);
|
||||
this.btnDel.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnDel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnDel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnDel.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnDel.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnDel.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnDel.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnDel.Style.GradientAngle = 90;
|
||||
this.btnDel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnDel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnDel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnDel.TabIndex = 483;
|
||||
this.btnDel.Text = "删除选中";
|
||||
this.btnDel.Click += new System.EventHandler(this.btnDel_Click);
|
||||
//
|
||||
// panel4
|
||||
//
|
||||
this.panel4.Controls.Add(this.comboBox1);
|
||||
this.panel4.Controls.Add(this.btnImport);
|
||||
this.panel4.Controls.Add(this.btnSearch);
|
||||
this.panel4.Controls.Add(this.txtUserName);
|
||||
this.panel4.Controls.Add(this.label5);
|
||||
this.panel4.Controls.Add(this.label1);
|
||||
this.panel4.Controls.Add(this.pnlEmpty);
|
||||
this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel4.Location = new System.Drawing.Point(3, 3);
|
||||
this.panel4.Name = "panel4";
|
||||
this.panel4.Size = new System.Drawing.Size(936, 66);
|
||||
this.panel4.TabIndex = 0;
|
||||
//
|
||||
// comboBox1
|
||||
//
|
||||
this.comboBox1.FormattingEnabled = true;
|
||||
this.comboBox1.Items.AddRange(new object[] {
|
||||
"",
|
||||
"未使用",
|
||||
"已使用"});
|
||||
this.comboBox1.Location = new System.Drawing.Point(377, 13);
|
||||
this.comboBox1.Name = "comboBox1";
|
||||
this.comboBox1.Size = new System.Drawing.Size(127, 25);
|
||||
this.comboBox1.TabIndex = 470;
|
||||
this.comboBox1.Text = "未使用";
|
||||
this.comboBox1.Visible = false;
|
||||
//
|
||||
// btnImport
|
||||
//
|
||||
this.btnImport.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnImport.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnImport.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnImport.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnImport.Location = new System.Drawing.Point(14, 14);
|
||||
this.btnImport.Name = "btnImport";
|
||||
this.btnImport.Size = new System.Drawing.Size(81, 23);
|
||||
this.btnImport.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnImport.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnImport.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnImport.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnImport.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnImport.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnImport.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnImport.Style.GradientAngle = 90;
|
||||
this.btnImport.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnImport.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnImport.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnImport.TabIndex = 469;
|
||||
this.btnImport.Text = "批量导入";
|
||||
this.btnImport.Click += new System.EventHandler(this.btnImport_Click);
|
||||
//
|
||||
// btnSearch
|
||||
//
|
||||
this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSearch.Location = new System.Drawing.Point(510, 14);
|
||||
this.btnSearch.Name = "btnSearch";
|
||||
this.btnSearch.Size = new System.Drawing.Size(56, 23);
|
||||
this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnSearch.Style.GradientAngle = 90;
|
||||
this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSearch.TabIndex = 449;
|
||||
this.btnSearch.Text = "搜索";
|
||||
this.btnSearch.Visible = false;
|
||||
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
|
||||
//
|
||||
// txtUserName
|
||||
//
|
||||
this.txtUserName.Location = new System.Drawing.Point(187, 14);
|
||||
this.txtUserName.Name = "txtUserName";
|
||||
this.txtUserName.Size = new System.Drawing.Size(127, 23);
|
||||
this.txtUserName.TabIndex = 419;
|
||||
this.txtUserName.Visible = false;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(152, 17);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(44, 17);
|
||||
this.label5.TabIndex = 420;
|
||||
this.label5.Text = "账户:";
|
||||
this.label5.Visible = false;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(318, 17);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(68, 17);
|
||||
this.label1.TabIndex = 418;
|
||||
this.label1.Text = "使用状态:";
|
||||
this.label1.Visible = false;
|
||||
//
|
||||
// pnlEmpty
|
||||
//
|
||||
this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pnlEmpty.Location = new System.Drawing.Point(571, 14);
|
||||
this.pnlEmpty.Name = "pnlEmpty";
|
||||
this.pnlEmpty.Size = new System.Drawing.Size(56, 23);
|
||||
this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.pnlEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.pnlEmpty.Style.GradientAngle = 90;
|
||||
this.pnlEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.pnlEmpty.TabIndex = 413;
|
||||
this.pnlEmpty.Text = "清空条件";
|
||||
this.pnlEmpty.Visible = false;
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.dgvExpress);
|
||||
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.statusBar);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(1208, 513);
|
||||
this.splitContainer2.SplitterDistance = 484;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// pbLoading
|
||||
//
|
||||
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
|
||||
this.pbLoading.Location = new System.Drawing.Point(579, 217);
|
||||
this.pbLoading.Name = "pbLoading";
|
||||
this.pbLoading.Size = new System.Drawing.Size(50, 50);
|
||||
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pbLoading.TabIndex = 6;
|
||||
this.pbLoading.TabStop = false;
|
||||
//
|
||||
// dgvExpress
|
||||
//
|
||||
this.dgvExpress.AllowUserToAddRows = false;
|
||||
this.dgvExpress.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvExpress.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvExpress.AutoRowNumber = true;
|
||||
this.dgvExpress.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
|
||||
this.dgvExpress.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvExpress.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvExpress.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgvExpress.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvExpress.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
this.colDbId,
|
||||
this.colDeliveryId,
|
||||
this.colBindOrderId,
|
||||
this.colDeliveryName,
|
||||
this.colWaybillId,
|
||||
this.colWaybillPickupTime,
|
||||
this.colStatus,
|
||||
this.colOrderId,
|
||||
this.colShopId,
|
||||
this.colUseTime,
|
||||
this.colAddTime,
|
||||
this.colMsg,
|
||||
this.colTest});
|
||||
this.dgvExpress.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvExpress.Location = new System.Drawing.Point(4, 0);
|
||||
this.dgvExpress.MultiSelectCheckBox = true;
|
||||
this.dgvExpress.Name = "dgvExpress";
|
||||
this.dgvExpress.ReadOnly = true;
|
||||
this.dgvExpress.RowTemplate.Height = 23;
|
||||
this.dgvExpress.ShowCellErrors = false;
|
||||
this.dgvExpress.Size = new System.Drawing.Size(1200, 484);
|
||||
this.dgvExpress.TabIndex = 5;
|
||||
this.dgvExpress.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick);
|
||||
//
|
||||
// ucSplitPage1
|
||||
//
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.ucSplitPage1.IsShowPageSize = true;
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(819, 0);
|
||||
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ucSplitPage1.Name = "ucSplitPage1";
|
||||
this.ucSplitPage1.PageSize = 50;
|
||||
this.ucSplitPage1.Size = new System.Drawing.Size(389, 25);
|
||||
this.ucSplitPage1.TabIndex = 4;
|
||||
this.ucSplitPage1.TotalPage = 1;
|
||||
this.ucSplitPage1.PageChange += new System.Action<object>(this.ucSplitPage1_PageChange);
|
||||
this.ucSplitPage1.Load += new System.EventHandler(this.ucSplitPage1_Load);
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1208, 25);
|
||||
this.statusBar.TabIndex = 1;
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.FillWeight = 16F;
|
||||
this.colSelect.HeaderText = "选";
|
||||
this.colSelect.Name = "colSelect";
|
||||
this.colSelect.ReadOnly = true;
|
||||
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// colDbId
|
||||
//
|
||||
this.colDbId.FillWeight = 70F;
|
||||
this.colDbId.HeaderText = "数据库Id";
|
||||
this.colDbId.Name = "colDbId";
|
||||
this.colDbId.ReadOnly = true;
|
||||
this.colDbId.Visible = false;
|
||||
//
|
||||
// colDeliveryId
|
||||
//
|
||||
this.colDeliveryId.FillWeight = 70F;
|
||||
this.colDeliveryId.HeaderText = "物流公司编号";
|
||||
this.colDeliveryId.Name = "colDeliveryId";
|
||||
this.colDeliveryId.ReadOnly = true;
|
||||
//
|
||||
// colBindOrderId
|
||||
//
|
||||
this.colBindOrderId.HeaderText = "绑定订单号";
|
||||
this.colBindOrderId.Name = "colBindOrderId";
|
||||
this.colBindOrderId.ReadOnly = true;
|
||||
//
|
||||
// colDeliveryName
|
||||
//
|
||||
this.colDeliveryName.FillWeight = 70F;
|
||||
this.colDeliveryName.HeaderText = "物流公司名称";
|
||||
this.colDeliveryName.Name = "colDeliveryName";
|
||||
this.colDeliveryName.ReadOnly = true;
|
||||
//
|
||||
// colWaybillId
|
||||
//
|
||||
this.colWaybillId.FillWeight = 70F;
|
||||
this.colWaybillId.HeaderText = "运单编号";
|
||||
this.colWaybillId.Name = "colWaybillId";
|
||||
this.colWaybillId.ReadOnly = true;
|
||||
//
|
||||
// colWaybillPickupTime
|
||||
//
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colWaybillPickupTime.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.colWaybillPickupTime.FillWeight = 60F;
|
||||
this.colWaybillPickupTime.HeaderText = "揽收时间";
|
||||
this.colWaybillPickupTime.Name = "colWaybillPickupTime";
|
||||
this.colWaybillPickupTime.ReadOnly = true;
|
||||
//
|
||||
// colStatus
|
||||
//
|
||||
this.colStatus.FillWeight = 40F;
|
||||
this.colStatus.HeaderText = "使用状态";
|
||||
this.colStatus.Name = "colStatus";
|
||||
this.colStatus.ReadOnly = true;
|
||||
//
|
||||
// colOrderId
|
||||
//
|
||||
this.colOrderId.FillWeight = 70F;
|
||||
this.colOrderId.HeaderText = "使用订单";
|
||||
this.colOrderId.Name = "colOrderId";
|
||||
this.colOrderId.ReadOnly = true;
|
||||
this.colOrderId.Visible = false;
|
||||
//
|
||||
// colShopId
|
||||
//
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.colShopId.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.colShopId.FillWeight = 70F;
|
||||
this.colShopId.HeaderText = "使用店铺编号";
|
||||
this.colShopId.Name = "colShopId";
|
||||
this.colShopId.ReadOnly = true;
|
||||
this.colShopId.Visible = false;
|
||||
//
|
||||
// colUseTime
|
||||
//
|
||||
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.colUseTime.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.colUseTime.FillWeight = 50F;
|
||||
this.colUseTime.HeaderText = "使用时间";
|
||||
this.colUseTime.Name = "colUseTime";
|
||||
this.colUseTime.ReadOnly = true;
|
||||
this.colUseTime.Visible = false;
|
||||
//
|
||||
// colAddTime
|
||||
//
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.colAddTime.FillWeight = 50F;
|
||||
this.colAddTime.HeaderText = "添加时间";
|
||||
this.colAddTime.Name = "colAddTime";
|
||||
this.colAddTime.ReadOnly = true;
|
||||
//
|
||||
// colMsg
|
||||
//
|
||||
this.colMsg.HeaderText = "操作结果";
|
||||
this.colMsg.Name = "colMsg";
|
||||
this.colMsg.ReadOnly = true;
|
||||
//
|
||||
// colTest
|
||||
//
|
||||
this.colTest.FillWeight = 38F;
|
||||
this.colTest.HeaderText = "测试";
|
||||
this.colTest.Name = "colTest";
|
||||
this.colTest.ReadOnly = true;
|
||||
this.colTest.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colTest.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colTest.Visible = false;
|
||||
//
|
||||
// WXWaybillManageForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(1210, 623);
|
||||
this.Controls.Add(this.panel3);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.KeyPreview = true;
|
||||
this.Name = "WXWaybillManageForm";
|
||||
this.Text = "运单管理";
|
||||
this.TitleText = "运单管理";
|
||||
this.Load += new System.EventHandler(this.WXWaybillManageForm_Load);
|
||||
this.VisibleChanged += new System.EventHandler(this.WXWaybillManageForm_VisibleChanged);
|
||||
this.Controls.SetChildIndex(this.panel3, 0);
|
||||
this.panel3.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.tableLayoutPanel2.ResumeLayout(false);
|
||||
this.panel5.ResumeLayout(false);
|
||||
this.panel4.ResumeLayout(false);
|
||||
this.panel4.PerformLayout();
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvExpress)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel3;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
|
||||
private System.Windows.Forms.Panel panel4;
|
||||
private DevComponents.DotNetBar.PanelEx btnSearch;
|
||||
private System.Windows.Forms.TextBox txtUserName;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private DevComponents.DotNetBar.PanelEx pnlEmpty;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private System.Windows.Forms.PictureBox pbLoading;
|
||||
private UserComponent.DataGridViewEx dgvExpress;
|
||||
private UserControls.UcSplitPage ucSplitPage1;
|
||||
private UserControls.StatusBarUserControl statusBar;
|
||||
private System.Windows.Forms.Panel panel5;
|
||||
private DevComponents.DotNetBar.PanelEx btnImport;
|
||||
private System.Windows.Forms.ComboBox comboBox1;
|
||||
private DevComponents.DotNetBar.PanelEx btnDel;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colDbId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colDeliveryId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colBindOrderId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colDeliveryName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colWaybillId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colWaybillPickupTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colStatus;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colOrderId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colUseTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colTest;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,386 @@
|
||||
using AllBase;
|
||||
using AllBase.Extension;
|
||||
using AllBase.Model.Result.PDDResult;
|
||||
using AllBase.Model.Result.WXResult;
|
||||
using NaiBa.Util;
|
||||
using NaiBa.Util.Extension;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.Extension;
|
||||
using Work;
|
||||
|
||||
namespace TemuKJD.WXForms.AdminForms
|
||||
{
|
||||
public partial class WXWaybillManageForm : BaseForms.BaseGeneralForm
|
||||
{
|
||||
public ConcurrentList<WxOptimizeExpressInfo> lstWxOptimizeExpressInfo = new ConcurrentList<WxOptimizeExpressInfo>();
|
||||
|
||||
public WXWaybillManageForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void WXWaybillManageForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.dgvExpress.AddSelectorColumn("colSelect");
|
||||
}
|
||||
|
||||
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
string headerText = dgvExpress.Columns[e.ColumnIndex].HeaderText;
|
||||
var dbId = dgvExpress.Rows[e.RowIndex].Cells["colDbId"].Value.ParseToString();
|
||||
var express = lstWxOptimizeExpressInfo.FirstOrDefault(p => p.id.ToString() == dbId);
|
||||
|
||||
switch (headerText)
|
||||
{
|
||||
case "删除":
|
||||
if (BaseMsgForm.ShowConfirm("确定删除商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel)
|
||||
return;
|
||||
//DeleteProduct(dbId);
|
||||
break;
|
||||
case "测试":
|
||||
//this.lblExtCodePrice.Text = "调整货号 " + dgvDbProduct.Rows[e.RowIndex].Cells["col_ext_code"].Value.ParseToString() + " 价格";
|
||||
//this.lblExtCode.Text = dgvDbProduct.Rows[e.RowIndex].Cells["col_ext_code"].Value.ParseToString();
|
||||
//this.txtExtCodePrice.Text = dgvDbProduct.Rows[e.RowIndex].Cells["colExtCodePrice"].Value?.ParseToDecimal().ToString();
|
||||
//this.pnlEditExtCodePrice.Visible = true;
|
||||
//SelectAndSetWaybill
|
||||
|
||||
//var url = BaseClass.BuildObjString("shop/select_and_set_waybill");
|
||||
//var data = UserLogin.GetSignaturex() +
|
||||
// "&shop_id=wx01"+
|
||||
// "&order_id=" + Randomx.GetId(100000,999999);
|
||||
//var html = GetHtml.PostUtf8(url, data);
|
||||
break;
|
||||
case "":
|
||||
dgvExpress.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvExpress.Rows[e.RowIndex].Cells["colSelect"].Value;
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
GetDeliveryAndWaybill();
|
||||
}
|
||||
|
||||
void GetDeliveryAndWaybill()
|
||||
{
|
||||
if (this.ucSplitPage1.CurrentPage != 1)
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
else
|
||||
GetDeliveryAndWaybill(1);
|
||||
}
|
||||
|
||||
public void GetDeliveryAndWaybill(int page)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.dgvExpress.Rows.Clear();
|
||||
lstWxOptimizeExpressInfo.Clear();
|
||||
}));
|
||||
Task.Run(() =>
|
||||
{
|
||||
int pageCount;
|
||||
int pageSize = 100;
|
||||
decimal seconds;
|
||||
Invoke(new Action(() => { pageSize = this.ucSplitPage1.PageSize; }));
|
||||
var list = GetDeliveryAndWaybill(out pageCount, out seconds, page, pageSize);
|
||||
lstWxOptimizeExpressInfo.AddRange(list);
|
||||
this.ucSplitPage1.TotalPage = pageCount;
|
||||
|
||||
foreach (var express in lstWxOptimizeExpressInfo)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
int rowIndex = this.dgvExpress.Rows.Add(
|
||||
false,
|
||||
express.id,
|
||||
express.delivery_id,
|
||||
express.bind_order_id,
|
||||
express.delivery_name,
|
||||
express.waybill_id,
|
||||
(express.waybill_pickup_time?.ToString("yyyy-MM-dd HH:mm")).ParseToString(),
|
||||
express.status == 0 ? "未使用" : "已使用",
|
||||
express.order_id,
|
||||
express.shop_id,
|
||||
express.use_time?.ToString("yyyy-MM-dd HH:mm"), // 使用时间
|
||||
express.add_time.ToString("yyyy-MM-dd HH:mm"), // 添加时间
|
||||
"",
|
||||
"测试");
|
||||
|
||||
dgvExpress.Rows[rowIndex].Height = 60;
|
||||
}));
|
||||
}
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = false;
|
||||
this.statusBar.lblTaskStatus.Text = "运单号查询完毕";
|
||||
#if DEBUG
|
||||
this.statusBar.lblTaskStatus.Text += ",耗时:" + seconds;
|
||||
#endif
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public List<WxOptimizeExpressInfo> GetDeliveryAndWaybill(out int pageCount, out decimal seconds, int page = 1, int pageSize = 200)
|
||||
{
|
||||
List<WxOptimizeExpressInfo> list = new List<WxOptimizeExpressInfo >();
|
||||
pageCount = 1;
|
||||
seconds = 0;
|
||||
|
||||
var url = BaseClass.BuildObjString("shop/get_waybill");
|
||||
var data = "";
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
data = UserLogin.GetSignaturex() +
|
||||
"&page=" + page +
|
||||
"&page_size=" + pageSize;
|
||||
if (!string.IsNullOrEmpty(comboBox1.Text.Trim()))
|
||||
data += "&status=" + (comboBox1.Text.Trim() == "未使用" ? "0" : "1,2");
|
||||
}));
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
BaseMsgForm.ShowError("运单列表获取失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
|
||||
}));
|
||||
return list;
|
||||
}
|
||||
|
||||
seconds = BaseRegex.GetDecimalJson(ref html, "seconds");
|
||||
int count = BaseRegex.GetIntJson(ref html, "count");
|
||||
pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt();
|
||||
pageCount = Math.Max(pageCount, 1);
|
||||
|
||||
var jArr = JObject.Parse(html)["data"];
|
||||
if (jArr.Count() == 0)
|
||||
return list;
|
||||
var sProd = JsonHelper.SerializeObject(jArr);
|
||||
|
||||
try
|
||||
{
|
||||
list = JsonHelper.DeserializeJsonToList<WxOptimizeExpressInfo>(sProd);
|
||||
return list;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new List<WxOptimizeExpressInfo>();
|
||||
}
|
||||
}
|
||||
|
||||
private void ucSplitPage1_PageChange(object obj)
|
||||
{
|
||||
GetDeliveryAndWaybill(ucSplitPage1.CurrentPage);
|
||||
}
|
||||
|
||||
bool first = true;
|
||||
private void WXWaybillManageForm_VisibleChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Visible == true && first)
|
||||
{
|
||||
first = false;
|
||||
|
||||
this.pbLoading.Visible = true;
|
||||
GetDeliveryAndWaybill(ucSplitPage1.CurrentPage);
|
||||
}
|
||||
}
|
||||
|
||||
private void btnImport_Click(object sender, EventArgs e)
|
||||
{
|
||||
IsOperate = true;
|
||||
ImportExpress();
|
||||
GetDeliveryAndWaybill();
|
||||
}
|
||||
|
||||
public bool IsOperate = false;
|
||||
void ImportExpress()
|
||||
{
|
||||
this.btnImport.Enabled = false;
|
||||
string text = "运单号导入格式:\r\n\r\n1.物流公司名称 运单号码 揽收时间\r\n2.指定定单号 物流公司名称 运单号码 [揽收时间]\r\n\r\n多个运单号请每个新起一行。[]内容非必须";
|
||||
BaseMsgForm.ShowInfo(text, "", FormLevel.LARGE);
|
||||
|
||||
OpenFileDialog openFileDialog = new OpenFileDialog();
|
||||
openFileDialog.Filter = "文本文件(*.txt)|*.txt";
|
||||
openFileDialog.RestoreDirectory = true;
|
||||
openFileDialog.FilterIndex = 1;
|
||||
if (openFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
using (StreamReader sr = new StreamReader(openFileDialog.FileName, Work.Api.UploadPinduoduoMain.GetFileEncoding(openFileDialog.FileName)))
|
||||
{
|
||||
string fileName = openFileDialog.FileName;
|
||||
string importStr = sr.ReadToEnd().Trim();
|
||||
var strArr = importStr.Replace("\r", "").Split('\n');
|
||||
string errMsg = "";
|
||||
for (int i = 0; i < strArr.Length; i++)
|
||||
{
|
||||
if (IsOperate == false)
|
||||
break;
|
||||
try
|
||||
{
|
||||
// 通用格式
|
||||
if (strArr[i].Contains(" ") || strArr[i].Contains("\t"))
|
||||
{
|
||||
WxOptimizeExpressInfo express = null;
|
||||
var ExpressArr = strArr[i].Split(new string[] { " ", "\t" }, StringSplitOptions.RemoveEmptyEntries);
|
||||
if (ExpressArr.Length > 2)
|
||||
{
|
||||
// 三个参数第一个是物流公司名称
|
||||
var deliveryName = ExpressArr[0];
|
||||
var deliverId = PddBuyerOrderInfoLite.GetWxExpressNameToWxExpressCode(deliveryName);
|
||||
if (string.IsNullOrEmpty(deliverId))
|
||||
deliverId = PddBuyerOrderInfoLite.GetPddToWxExpressCompanyCode(deliveryName);
|
||||
|
||||
// 四个参数或则第一个不是物流公司名称的情况下,第一个是订单号,第二个是物流公司名称
|
||||
if (string.IsNullOrEmpty(deliverId))
|
||||
{
|
||||
deliveryName = ExpressArr[1];
|
||||
deliverId = PddBuyerOrderInfoLite.GetWxExpressNameToWxExpressCode(deliveryName);
|
||||
if (string.IsNullOrEmpty(deliverId))
|
||||
deliverId = PddBuyerOrderInfoLite.GetPddToWxExpressCompanyCode(deliveryName);
|
||||
if (deliverId.IsNullOrEmpty())
|
||||
{
|
||||
errMsg += ", 运单信息不完整";
|
||||
continue;
|
||||
}
|
||||
|
||||
express = new WxOptimizeExpressInfo();
|
||||
express.waybill_id = ExpressArr[2];
|
||||
express.delivery_name = ExpressArr[1];
|
||||
express.bind_order_id = ExpressArr[0];
|
||||
express.delivery_id = deliverId;
|
||||
if (ExpressArr.Length > 3)
|
||||
{
|
||||
express.waybill_pickup_time = ExpressArr[3].ParseToNullableDateTime();
|
||||
if (express.waybill_pickup_time == null)
|
||||
{
|
||||
errMsg += ", 运单" + express.waybill_id + "揽收时间格式不合法";
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
express = new WxOptimizeExpressInfo();
|
||||
express.waybill_id = ExpressArr[1];
|
||||
express.delivery_name = ExpressArr[0];
|
||||
express.delivery_id = deliverId;
|
||||
express.waybill_pickup_time = ExpressArr[2].ParseToNullableDateTime();
|
||||
|
||||
if(express.waybill_pickup_time == null)
|
||||
{
|
||||
errMsg += ", 运单" + express.waybill_id + "揽收时间格式不合法";
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
var url = BaseClass.BuildObjString("shop/add_waybill");
|
||||
var data = "";
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
data = UserLogin.GetSignaturex() +
|
||||
"&delivery_id=" + express.delivery_id +
|
||||
"&delivery_name=" + express.delivery_name +
|
||||
"&waybill_id=" + express.waybill_id;
|
||||
// 运单揽收时间 和 指定订单编号 必填其一
|
||||
if (express.waybill_pickup_time != null)
|
||||
data += "&waybill_pickup_time=" + express.waybill_pickup_time.Value.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
if (!express.bind_order_id.IsNullOrEmpty())
|
||||
data += "&bind_order_id=" + express.bind_order_id;
|
||||
}));
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (!html.ParseToString().Contains("运单号已存在") && (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
|
||||
if (!html.Contains("\"code\":200"))
|
||||
{
|
||||
errMsg += ", " + BaseRegex.GetStringJson(ref html, "msg");
|
||||
if (html.ParseToString().Contains("运单号已存在"))
|
||||
errMsg += " " + express.waybill_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
errMsg += ", 运单号信息缺失";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (!string.IsNullOrEmpty(errMsg.Trim(',', ' ')))
|
||||
{
|
||||
BaseMsgForm.ShowError(errMsg.Trim(',', ' '), "", FormLevel.LARGE);
|
||||
}
|
||||
}
|
||||
}
|
||||
IsOperate = false;
|
||||
this.btnImport.Enabled = true;
|
||||
}
|
||||
|
||||
private void btnDel_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (BaseMsgForm.ShowConfirm("确定删除运单号吗?删除后不可恢复!").DialogResult == DialogResult.Cancel)
|
||||
return;
|
||||
|
||||
var lstWaybillId = dgvExpress.Rows.Cast<DataGridViewRow>().Where(row
|
||||
=> row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colWaybillId"]?.Value.ToString()).ToList();
|
||||
var ExpressList = this.lstWxOptimizeExpressInfo.Where(p => lstWaybillId.Contains(p.waybill_id)).ToArray();
|
||||
|
||||
this.pbLoading.Visible = true;
|
||||
//this.statusBar.pgbTaskProgress.Maximum = lstWaybillId.Count;
|
||||
//this.statusBar.UpdateProgressBar(0);
|
||||
Task.Run(() =>
|
||||
{
|
||||
var url = BaseClass.BuildObjString("shop/del_waybill");
|
||||
var data = "";
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
data = UserLogin.GetSignaturex() +
|
||||
"&waybill_ids=" + string.Join(",", lstWaybillId);
|
||||
}));
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
|
||||
GetDeliveryAndWaybill(this.ucSplitPage1.CurrentPage);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
pbLoading.Visible = false;
|
||||
BaseMsgForm.ShowInfo("删除完成!");
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
private void ucSplitPage1_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,340 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDbId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDeliveryId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colBindOrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDeliveryName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colWaybillId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colWaybillPickupTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colOrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colUseTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colAddTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colMsg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colTest.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
|
||||
AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA
|
||||
OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT
|
||||
AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj///////
|
||||
///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP//
|
||||
//////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
|
||||
mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4
|
||||
mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ
|
||||
mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY
|
||||
//+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ
|
||||
mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf
|
||||
//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/
|
||||
//uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv///
|
||||
//+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP//
|
||||
if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ
|
||||
mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz
|
||||
MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///
|
||||
iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
|
||||
mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4
|
||||
kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP//
|
||||
/////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ
|
||||
mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ
|
||||
mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ
|
||||
mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ
|
||||
mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ
|
||||
//85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ
|
||||
mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ
|
||||
mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ
|
||||
mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT
|
||||
mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj///////
|
||||
///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn///
|
||||
//////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ
|
||||
mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ
|
||||
mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ
|
||||
mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ
|
||||
mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj///////////
|
||||
///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY//////
|
||||
////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP
|
||||
//////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4
|
||||
/4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ
|
||||
mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ
|
||||
mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7
|
||||
mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4
|
||||
eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb////
|
||||
///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ
|
||||
mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj/////
|
||||
/4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/
|
||||
///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ
|
||||
mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ
|
||||
mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ
|
||||
mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA
|
||||
AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA
|
||||
AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz
|
||||
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA
|
||||
AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w
|
||||
AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA
|
||||
Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA
|
||||
AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA
|
||||
AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA
|
||||
AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA
|
||||
AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA
|
||||
AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA
|
||||
AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA
|
||||
AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD/////
|
||||
wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
+7
-7
@@ -420,7 +420,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.cmbCat3.DropDownWidth = 1;
|
||||
this.cmbCat3.FormattingEnabled = true;
|
||||
this.cmbCat3.IntegralHeight = false;
|
||||
this.cmbCat3.Location = new System.Drawing.Point(718, 5);
|
||||
this.cmbCat3.Location = new System.Drawing.Point(718, 7);
|
||||
this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbCat3.Name = "cmbCat3";
|
||||
this.cmbCat3.Size = new System.Drawing.Size(146, 25);
|
||||
@@ -448,7 +448,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.cmbCat2.DropDownWidth = 1;
|
||||
this.cmbCat2.FormattingEnabled = true;
|
||||
this.cmbCat2.IntegralHeight = false;
|
||||
this.cmbCat2.Location = new System.Drawing.Point(515, 5);
|
||||
this.cmbCat2.Location = new System.Drawing.Point(515, 7);
|
||||
this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbCat2.Name = "cmbCat2";
|
||||
this.cmbCat2.Size = new System.Drawing.Size(146, 25);
|
||||
@@ -476,7 +476,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.cmbCat1.DropDownWidth = 1;
|
||||
this.cmbCat1.FormattingEnabled = true;
|
||||
this.cmbCat1.IntegralHeight = false;
|
||||
this.cmbCat1.Location = new System.Drawing.Point(293, 7);
|
||||
this.cmbCat1.Location = new System.Drawing.Point(293, 5);
|
||||
this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbCat1.Name = "cmbCat1";
|
||||
this.cmbCat1.Size = new System.Drawing.Size(146, 25);
|
||||
@@ -536,7 +536,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
"安全+未校验",
|
||||
"安全商品",
|
||||
"未校验"});
|
||||
this.cmbWxSafe.Location = new System.Drawing.Point(71, 42);
|
||||
this.cmbWxSafe.Location = new System.Drawing.Point(71, 40);
|
||||
this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbWxSafe.Name = "cmbWxSafe";
|
||||
this.cmbWxSafe.Size = new System.Drawing.Size(146, 25);
|
||||
@@ -559,7 +559,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
//
|
||||
this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbGroupFilter.FormattingEnabled = true;
|
||||
this.cmbGroupFilter.Location = new System.Drawing.Point(938, 5);
|
||||
this.cmbGroupFilter.Location = new System.Drawing.Point(938, 7);
|
||||
this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbGroupFilter.Name = "cmbGroupFilter";
|
||||
this.cmbGroupFilter.Size = new System.Drawing.Size(146, 25);
|
||||
@@ -580,7 +580,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
"机会商品",
|
||||
"以图搜品",
|
||||
"外部数据"});
|
||||
this.cmbSourceType.Location = new System.Drawing.Point(718, 40);
|
||||
this.cmbSourceType.Location = new System.Drawing.Point(718, 42);
|
||||
this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbSourceType.Name = "cmbSourceType";
|
||||
this.cmbSourceType.Size = new System.Drawing.Size(146, 25);
|
||||
@@ -610,7 +610,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
"",
|
||||
"是",
|
||||
"否"});
|
||||
this.cmbRelation.Location = new System.Drawing.Point(938, 40);
|
||||
this.cmbRelation.Location = new System.Drawing.Point(938, 42);
|
||||
this.cmbRelation.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.cmbRelation.Name = "cmbRelation";
|
||||
this.cmbRelation.Size = new System.Drawing.Size(146, 25);
|
||||
|
||||
+3
-3
@@ -31,7 +31,7 @@
|
||||
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("店铺列表");
|
||||
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("子账号管理");
|
||||
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("店铺经营统计");
|
||||
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("店铺优化");
|
||||
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("评分考核");
|
||||
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("店铺管理", new System.Windows.Forms.TreeNode[] {
|
||||
treeNode1,
|
||||
treeNode2,
|
||||
@@ -133,8 +133,8 @@
|
||||
treeNode2.Text = "子账号管理";
|
||||
treeNode3.Name = "店铺经营统计";
|
||||
treeNode3.Text = "店铺经营统计";
|
||||
treeNode4.Name = "店铺优化";
|
||||
treeNode4.Text = "店铺优化";
|
||||
treeNode4.Name = "评分考核";
|
||||
treeNode4.Text = "评分考核";
|
||||
treeNode5.Name = "店铺管理";
|
||||
treeNode5.Text = "店铺管理";
|
||||
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
|
||||
|
||||
@@ -34,12 +34,12 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
tv.SelectedNode = tv.Nodes[0].Nodes[0];
|
||||
tv.ExpandGroup(tv.Nodes[0].Name);
|
||||
|
||||
List<string> hideName = new List<string>() { "店铺优化", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
|
||||
List<string> hideName = new List<string>() { "评分考核", "子账号管理", "高级运费模板", "运费模板", "素材库管理", "订单金额统计", "工作明细统计", "店铺经营统计1" };
|
||||
|
||||
if (BaseClass.GroupId == 3)
|
||||
{
|
||||
hideName.Remove("子账号管理");
|
||||
hideName.Remove("店铺优化");
|
||||
hideName.Remove("评分考核");
|
||||
}
|
||||
|
||||
foreach (var item in hideName)
|
||||
@@ -74,7 +74,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
case "店铺经营统计":
|
||||
SetForm(shopStatisticsForm.Value);
|
||||
break;
|
||||
case "店铺优化":
|
||||
case "评分考核":
|
||||
SetForm(shopOptimizeForm.Value);
|
||||
break;
|
||||
}
|
||||
|
||||
+950
-855
File diff suppressed because it is too large.
Load diff
@@ -47,7 +47,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
ConcurrentList<WxOptimizeOrderAfterSaleInfo> lstWxOptimizeOrderAfterSaleInfo = new ConcurrentList<WxOptimizeOrderAfterSaleInfo>();
|
||||
ConcurrentList<WxOptimizeProductEvaluationInfo> lstWxOptimizeProductEvaluationInfo = new ConcurrentList<WxOptimizeProductEvaluationInfo>();
|
||||
ConcurrentList<WxOptimizeOrderWayBillInfo> lstWxOptimizeOrderWayBillInfo = new ConcurrentList<WxOptimizeOrderWayBillInfo>(); // 揽收
|
||||
ConcurrentList<WxOptrimizeLinerCgiInfo> lstWxOptrimizeLinerCgiInfo = new ConcurrentList<WxOptrimizeLinerCgiInfo>(); // 物流
|
||||
ConcurrentList<WxOptimizeLinerCgiInfo> lstWxOptrimizeLinerCgiInfo = new ConcurrentList<WxOptimizeLinerCgiInfo>(); // 物流
|
||||
|
||||
public WXShopOptimizeForm()
|
||||
{
|
||||
@@ -70,8 +70,8 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
dgvData1.AddImgColumn("colDgv1Img", "colDgv1ImgUrl");
|
||||
dgvData2.AddSelectorColumn("colDgv2Check");
|
||||
dgvData2.AddImgColumn("colDgv2Img", "colDgv2ImgUrl");
|
||||
dgvData3.AddSelectorColumn("colCheck");
|
||||
dgvData3.AddImgColumn("colImg", "colImgUrl");
|
||||
dgvData3.AddSelectorColumn("colDgv3Check");
|
||||
dgvData3.AddImgColumn("colDgv3Img", "colDgv3ImgUrl");
|
||||
dgvData4.AddSelectorColumn("colDgv4Check");
|
||||
dgvData4.AddImgColumn("colDgv4Img", "colDgv4ImgUrl");
|
||||
|
||||
@@ -482,15 +482,15 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
{
|
||||
//this.statusBar.lblTaskStatus.Text = "品质退款查询完毕 " + this.statusBar.lblTaskStatus.Text;
|
||||
//BaseMsgForm.ShowInfo("品质退款查询完毕");
|
||||
this.statusBar.lblTaskStatus.Text = "优化数据查询中断 " + this.statusBar.lblTaskStatus.Text;
|
||||
BaseMsgForm.ShowInfo("优化数据查询中断");
|
||||
this.statusBar.lblTaskStatus.Text = "数据查询中断 " + this.statusBar.lblTaskStatus.Text;
|
||||
BaseMsgForm.ShowInfo("数据查询中断");
|
||||
}
|
||||
else
|
||||
{
|
||||
//this.statusBar.lblTaskStatus.Text = "品质退款查询完毕";
|
||||
//BaseMsgForm.ShowInfo("品质退款查询完毕");
|
||||
this.statusBar.lblTaskStatus.Text = "优化数据查询完毕";
|
||||
BaseMsgForm.ShowInfo("优化数据查询完毕");
|
||||
this.statusBar.lblTaskStatus.Text = "数据查询完毕";
|
||||
BaseMsgForm.ShowInfo("数据查询完毕");
|
||||
}
|
||||
pictureBox1.Visible = false;
|
||||
pictureBox2.Visible = false;
|
||||
@@ -573,9 +573,53 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
refundOrder.shopId = shop.ShopId;
|
||||
refundOrder.shopName = shop.ShopAccount;
|
||||
|
||||
lstWxOptimizeOrderAfterSaleInfo.Add(refundOrder);
|
||||
orderAfterSaleInfoLst.Add(refundOrder);
|
||||
|
||||
}
|
||||
|
||||
// 获取收货地址
|
||||
if (1==1)
|
||||
{
|
||||
var orderIds = string.Join(",", orderAfterSaleInfoLst.Select(a => a.orderInfo.orderId));
|
||||
var getOrderRst = ShopOptimize.orderSearchByOrderId(shop, orderIds);
|
||||
Thread.Sleep(Randomx.GetId(200, 350));
|
||||
if (!getOrderRst.Contains("\"code\":0"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref getOrderRst, "msg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = getOrderRst;
|
||||
|
||||
foreach (var refundOrder in orderAfterSaleInfoLst)
|
||||
{
|
||||
refundOrder.province = "地址获取失败";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var orderObj = JsonHelper.JObjectParse(getOrderRst)["orderList"];
|
||||
var wxOrderLst = JsonHelper.DeserializeJsonToList<WxOrderInfoLite>(JsonHelper.SerializeObject(orderObj));
|
||||
|
||||
foreach (var refundOrder in orderAfterSaleInfoLst)
|
||||
{
|
||||
var wxOrder = wxOrderLst.FirstOrDefault(o => o.commonInfo.orderId == refundOrder.orderInfo.orderId);
|
||||
if (wxOrder != null)
|
||||
{
|
||||
refundOrder.orderTime = wxOrder.commonInfo.createTime;
|
||||
refundOrder.province = wxOrder.acceptInfo.addressInfo.provinceName;
|
||||
refundOrder.city = wxOrder.acceptInfo.addressInfo.cityName;
|
||||
refundOrder.district = wxOrder.acceptInfo.addressInfo.countyName;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
foreach (var refundOrder in orderAfterSaleInfoLst)
|
||||
{
|
||||
refundOrder.province = "地址解析失败";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 查询是否被优化过
|
||||
@@ -610,7 +654,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
orderAfterSale.optimizeWaybillId = ov == null ? "" : ov.waybill_id;
|
||||
orderAfterSale.optimizeTime = ov == null ? "" : ov?.use_time?.ToString("yyyy-MM-dd HH:mm");
|
||||
if (!string.IsNullOrEmpty(orderAfterSale.optimizeWaybillId))
|
||||
orderAfterSale.optimizeWaybillId = "已优化";
|
||||
orderAfterSale.optimizeWaybillId = "已补发";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -625,6 +669,11 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
|
||||
foreach (var refundOrder in orderAfterSaleInfoLst)
|
||||
{
|
||||
if (CheckOrderExist(refundOrder.orderInfo.orderId))
|
||||
continue;
|
||||
|
||||
lstWxOptimizeOrderAfterSaleInfo.Add(refundOrder);
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
var rowIndex = this.dgvData1.Rows.Add(
|
||||
@@ -640,10 +689,11 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
refundOrder.orderInfo.skuName,
|
||||
refundOrder.orderInfo.skuCode,
|
||||
refundOrder.orderInfo.orderId,
|
||||
refundOrder.province + refundOrder.city + refundOrder.district,
|
||||
BaseClass.StampToDateTime(refundOrder.orderInfo.createTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
refundOrder.reason,
|
||||
refundOrder.optimizeWaybillId + "\r\n" + refundOrder.optimizeTime,
|
||||
"优化"
|
||||
"补发"
|
||||
);
|
||||
|
||||
dgvData1.Rows[rowIndex].Height = 60;
|
||||
@@ -738,11 +788,10 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
prodEvaluationInfo.shopId = shop.ShopId;
|
||||
prodEvaluationInfo.shopName = shop.ShopAccount;
|
||||
|
||||
lstWxOptimizeProductEvaluationInfo.Add(prodEvaluationInfo);
|
||||
productEvaluationInfoLst.Add(prodEvaluationInfo);
|
||||
|
||||
}
|
||||
|
||||
// 查询收货地址
|
||||
foreach (var prodEvaluationInfo in productEvaluationInfoLst)
|
||||
{
|
||||
var getOrderRst = ShopOptimize.orderSearch(shop, prodEvaluationInfo.productInfo.spuName, prodEvaluationInfo.evaluationInfo.buyer.identity.nickname);
|
||||
@@ -757,18 +806,28 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
}
|
||||
else
|
||||
{
|
||||
prodEvaluationInfo.order_id = "";
|
||||
while (getOrderRst.Contains("\"orderId\""))
|
||||
try
|
||||
{
|
||||
prodEvaluationInfo.order_id += (" " + BaseRegex.GetStringJson(ref getOrderRst, "orderId"));
|
||||
getOrderRst = getOrderRst.Substring(getOrderRst.IndexOf("\"orderId\"") + "\"orderId\"".Length);
|
||||
prodEvaluationInfo.order_id = "";
|
||||
var orderObj = JsonHelper.JObjectParse(getOrderRst)["orderList"];
|
||||
var wxOrderLst = JsonHelper.DeserializeJsonToList<WxOrderInfoLite>(JsonHelper.SerializeObject(orderObj));
|
||||
if (wxOrderLst.Count == 0)
|
||||
prodEvaluationInfo.order_id = "未获取到对应订单号";
|
||||
else if (wxOrderLst.Count > 1)
|
||||
prodEvaluationInfo.order_id = string.Join(" ", wxOrderLst.Select(o => o.commonInfo.orderId)) + " 获取到多条订单号";
|
||||
else
|
||||
{
|
||||
prodEvaluationInfo.order_id = wxOrderLst.FirstOrDefault().commonInfo.orderId;
|
||||
prodEvaluationInfo.orderTime = wxOrderLst.FirstOrDefault().commonInfo.createTime;
|
||||
prodEvaluationInfo.province = wxOrderLst.FirstOrDefault().acceptInfo.addressInfo.provinceName;
|
||||
prodEvaluationInfo.city = wxOrderLst.FirstOrDefault().acceptInfo.addressInfo.cityName;
|
||||
prodEvaluationInfo.district = wxOrderLst.FirstOrDefault().acceptInfo.addressInfo.countyName;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
prodEvaluationInfo.order_id = "订单号转换失败";
|
||||
}
|
||||
prodEvaluationInfo.order_id = prodEvaluationInfo.order_id.Trim(' ');
|
||||
if (prodEvaluationInfo.order_id.IsNullOrEmpty())
|
||||
prodEvaluationInfo.order_id = "未获取到对应订单号";
|
||||
|
||||
if (prodEvaluationInfo.order_id.Contains(" "))
|
||||
prodEvaluationInfo.order_id += " 获取到多条订单号";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -804,7 +863,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
evaluationInfo.optimizeWaybillId = ov == null ? "" : ov.waybill_id;
|
||||
evaluationInfo.optimizeTime = ov == null ? "" : ov?.use_time?.ToString("yyyy-MM-dd HH:mm");
|
||||
if (!string.IsNullOrEmpty(evaluationInfo.optimizeWaybillId))
|
||||
evaluationInfo.optimizeWaybillId = "已优化";
|
||||
evaluationInfo.optimizeWaybillId = "已补发";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -819,6 +878,11 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
|
||||
foreach (var prodEvaluationInfo in productEvaluationInfoLst)
|
||||
{
|
||||
if (CheckOrderExist(prodEvaluationInfo.order_id))
|
||||
continue;
|
||||
|
||||
lstWxOptimizeProductEvaluationInfo.Add(prodEvaluationInfo);
|
||||
|
||||
var lblLst = prodEvaluationInfo.evaluationInfo?.firstEvaluationInfo?.buyerEvaluationInfo?.labelList;
|
||||
var content = prodEvaluationInfo.evaluationInfo.firstEvaluationInfo.buyerEvaluationInfo.content + " " +
|
||||
prodEvaluationInfo.evaluationInfo.firstEvaluationInfo.buyerEvaluationInfo.defaultContent;
|
||||
@@ -837,12 +901,14 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
prodEvaluationInfo.productInfo.skuName,
|
||||
"", // spuCode 此处获取不到填空
|
||||
prodEvaluationInfo.productEvaluationId,
|
||||
prodEvaluationInfo.order_id, // orderId
|
||||
prodEvaluationInfo.order_id,
|
||||
prodEvaluationInfo.province + prodEvaluationInfo.city + prodEvaluationInfo.district,
|
||||
prodEvaluationInfo.orderTime.IsNullOrZero() ? "" : BaseClass.StampToDateTime(prodEvaluationInfo.orderTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
prodEvaluationInfo.evaluationInfo.buyer.identity.nickname,
|
||||
BaseClass.StampToDateTime(prodEvaluationInfo.evaluationInfo.firstEvaluationInfo.buyerEvaluationInfo.createTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
(content + " " + (lblLst == null ? "" : string.Join(" ", lblLst.Select(e => e.labelName)))).Trim(),
|
||||
prodEvaluationInfo.optimizeWaybillId + "\r\n" + prodEvaluationInfo.optimizeTime,
|
||||
"优化"
|
||||
"补发"
|
||||
);
|
||||
|
||||
dgvData2.Rows[rowIndex].Height = 60;
|
||||
@@ -980,6 +1046,52 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
waybillLst.Add(orderWayBill);
|
||||
}
|
||||
|
||||
// 获取收货地址
|
||||
if (1 == 1)
|
||||
{
|
||||
var orderIds = string.Join(",", waybillLst.Select(a => a.orderInfo.orderId));
|
||||
var getOrderRst = ShopOptimize.orderSearchByOrderId(shop, orderIds);
|
||||
Thread.Sleep(Randomx.GetId(200, 350));
|
||||
if (!getOrderRst.Contains("\"code\":0"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref getOrderRst, "msg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = getOrderRst;
|
||||
|
||||
foreach (var orderWaybill in waybillLst)
|
||||
{
|
||||
orderWaybill.province = "地址获取失败";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var orderObj = JsonHelper.JObjectParse(getOrderRst)["orderList"];
|
||||
var wxOrderLst = JsonHelper.DeserializeJsonToList<WxOrderInfoLite>(JsonHelper.SerializeObject(orderObj));
|
||||
|
||||
foreach (var orderWaybill in waybillLst)
|
||||
{
|
||||
var wxOrder = wxOrderLst.FirstOrDefault(o => o.commonInfo.orderId == orderWaybill.orderInfo.orderId);
|
||||
if (wxOrder != null)
|
||||
{
|
||||
orderWaybill.orderTime = wxOrder.commonInfo.createTime;
|
||||
orderWaybill.province = wxOrder.acceptInfo.addressInfo.provinceName;
|
||||
orderWaybill.city = wxOrder.acceptInfo.addressInfo.cityName;
|
||||
orderWaybill.district = wxOrder.acceptInfo.addressInfo.countyName;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
foreach (var orderWaybill in waybillLst)
|
||||
{
|
||||
orderWaybill.province = "地址解析失败";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 查询是否被优化过
|
||||
var url = BaseClass.BuildObjString("shop/get_waybill_no_user_name");
|
||||
var data = "";
|
||||
@@ -1012,7 +1124,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
orderWaybill.optimizeWaybillId = ov == null ? "" : ov.waybill_id;
|
||||
orderWaybill.optimizeTime = ov == null ? "" : ov?.use_time?.ToString("yyyy-MM-dd HH:mm");
|
||||
if (!string.IsNullOrEmpty(orderWaybill.optimizeWaybillId))
|
||||
orderWaybill.optimizeWaybillId = "已优化";
|
||||
orderWaybill.optimizeWaybillId = "已补发";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -1025,31 +1137,94 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
}
|
||||
}
|
||||
|
||||
// 查询是否有失败记录
|
||||
url = BaseClass.BuildObjString("shop/get_express_optimize_rst");
|
||||
if (waybillLst.Select(w => w.orderInfo.orderId).Contains("3735310410457956864"))
|
||||
{
|
||||
|
||||
}
|
||||
data = "";
|
||||
data = UserLogin.GetSignaturex();
|
||||
data += "&order_ids=" + string.Join(",", waybillLst.Select(w => w.orderInfo.orderId));
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
foreach (var orderWaybill in waybillLst)
|
||||
{
|
||||
if (orderWaybill.optimizeWaybillId.IsNullOrEmpty())
|
||||
{
|
||||
orderWaybill.optimizeWaybillId = "查询失败";
|
||||
orderWaybill.optimizeTime = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var jArr = JObject.Parse(html)["data"];
|
||||
var sProd = JsonHelper.SerializeObject(jArr);
|
||||
var optimizeLst = JsonHelper.DeserializeJsonToList<WxOptimizeRstInfo>(sProd);
|
||||
foreach (var orderWaybill in waybillLst)
|
||||
{
|
||||
if (orderWaybill.optimizeWaybillId.IsNullOrEmpty())
|
||||
{
|
||||
var ov = optimizeLst.FirstOrDefault(o => o.order_id == orderWaybill.orderInfo.orderId);
|
||||
if (ov != null)
|
||||
{
|
||||
orderWaybill.optimizeWaybillId = ov == null ? "" : ov.optimize_rst;
|
||||
orderWaybill.optimizeTime = ov == null ? "" : ov?.mdy_time.ToString("yyyy-MM-dd HH:mm");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
foreach (var orderWaybill in waybillLst)
|
||||
{
|
||||
if (orderWaybill.optimizeWaybillId.IsNullOrEmpty())
|
||||
{
|
||||
orderWaybill.optimizeWaybillId = "查询失败";
|
||||
orderWaybill.optimizeTime = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var orderWaybill in waybillLst)
|
||||
{
|
||||
if (CheckOrderExist(orderWaybill.orderInfo.orderId))
|
||||
continue;
|
||||
|
||||
lstWxOptimizeOrderWayBillInfo.Add(orderWaybill);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
var rowIndex = this.dgvData3.Rows.Add(
|
||||
false,
|
||||
shop.ShopId,
|
||||
shop.ShopAccount,
|
||||
"登录",
|
||||
"进店",
|
||||
orderWaybill.orderInfo.imgUrl,
|
||||
DataGridViewExtension.defaultBitmap,
|
||||
orderWaybill.orderInfo.spuId,
|
||||
orderWaybill.orderInfo.name,
|
||||
orderWaybill.orderInfo.skuName + " x" + orderWaybill.orderInfo.productCnt,
|
||||
orderWaybill.orderInfo.skuCode,
|
||||
orderWaybill.orderInfo.orderId + "\r\n" + orderWaybill.waybillId,
|
||||
orderWaybill.delivery.deliveryName,
|
||||
BaseClass.StampToDateTime(orderWaybill.payTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
orderWaybill.realPickupTime.ParseToInt().IsNullOrZero() ? "" : BaseClass.StampToDateTime(orderWaybill.realPickupTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
orderWaybill.pickupDuration.ParseToInt().IsNullOrZero() ? "" : ((orderWaybill.pickupDuration.ParseToInt() / 3600.0m).ToString("f2") + "小时" + "\r\n" + "[" + (is24 ? "次日" : "48小时") + "]"),
|
||||
orderWaybill.optimizeWaybillId + "\r\n" + orderWaybill.optimizeTime,
|
||||
"优化"
|
||||
);
|
||||
var rowIndex = this.dgvData3.Rows.Add(
|
||||
false,
|
||||
shop.ShopId,
|
||||
shop.ShopAccount,
|
||||
"登录",
|
||||
"进店",
|
||||
orderWaybill.orderInfo.imgUrl,
|
||||
DataGridViewExtension.defaultBitmap,
|
||||
orderWaybill.orderInfo.spuId,
|
||||
orderWaybill.orderInfo.name,
|
||||
orderWaybill.orderInfo.skuName + " x" + orderWaybill.orderInfo.productCnt,
|
||||
orderWaybill.orderInfo.skuCode,
|
||||
orderWaybill.orderInfo.orderId, // + "\r\n" + orderWaybill.waybillId,
|
||||
orderWaybill.province + orderWaybill.city + orderWaybill.district,
|
||||
orderWaybill.orderTime.IsNullOrZero() ? "" : BaseClass.StampToDateTime(orderWaybill.orderTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
BaseClass.StampToDateTime(orderWaybill.payTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
orderWaybill.realPickupTime.ParseToInt().IsNullOrZero() ? "" : BaseClass.StampToDateTime(orderWaybill.realPickupTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
orderWaybill.pickupDuration.ParseToInt().IsNullOrZero() ? "" : ((orderWaybill.pickupDuration.ParseToInt() / 3600.0m).ToString("f2") + "小时" + "\r\n" + "[" + (is24 ? "次日" : "48小时") + "]"),
|
||||
orderWaybill.delivery.deliveryName,
|
||||
orderWaybill.optimizeWaybillId + "\r\n" + orderWaybill.optimizeTime,
|
||||
"补发"
|
||||
);
|
||||
|
||||
dgvData3.Rows[rowIndex].Height = 60;
|
||||
}));
|
||||
@@ -1159,19 +1334,63 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
this.pictureBox4.Visible = true;
|
||||
this.statusBar.lblTaskStatus.Text = "正在查询配送不达标,店铺:" + shop.ShopAccount + " " + page + "/" + totalPage;
|
||||
}));
|
||||
List<WxOptrimizeLinerCgiInfo> optrimizeLinerCgiLst = new List<WxOptrimizeLinerCgiInfo>();
|
||||
List<WxOptimizeLinerCgiInfo> optrimizeLinerCgiLst = new List<WxOptimizeLinerCgiInfo>();
|
||||
foreach (JObject refundOrderObj in wayBillObjs["list"])
|
||||
{
|
||||
var oStr = JsonHelper.SerializeObject(refundOrderObj);
|
||||
var orderLinerCgiInfo = JsonHelper.DeserializeJsonToObject<WxOptrimizeLinerCgiInfo>(oStr);
|
||||
var orderLinerCgiInfo = JsonHelper.DeserializeJsonToObject<WxOptimizeLinerCgiInfo>(oStr);
|
||||
if (lstWxOptrimizeLinerCgiInfo.Any(o => o.order_id == orderLinerCgiInfo.order_id))
|
||||
continue;
|
||||
orderLinerCgiInfo.shopId = shop.ShopId;
|
||||
orderLinerCgiInfo.shopName = shop.ShopAccount;
|
||||
|
||||
optrimizeLinerCgiLst.Add(orderLinerCgiInfo);
|
||||
lstWxOptrimizeLinerCgiInfo.Add(orderLinerCgiInfo);
|
||||
|
||||
}
|
||||
|
||||
// 获取收货地址
|
||||
if (1 == 1)
|
||||
{
|
||||
var orderIds = string.Join(",", optrimizeLinerCgiLst.Select(a => a.order_id));
|
||||
var getOrderRst = ShopOptimize.orderSearchByOrderId(shop, orderIds);
|
||||
Thread.Sleep(Randomx.GetId(200, 350));
|
||||
if (!getOrderRst.Contains("\"code\":0"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref getOrderRst, "msg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = getOrderRst;
|
||||
|
||||
foreach (var linerCgi in optrimizeLinerCgiLst)
|
||||
{
|
||||
linerCgi.province = "地址获取失败";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var orderObj = JsonHelper.JObjectParse(getOrderRst)["orderList"];
|
||||
var wxOrderLst = JsonHelper.DeserializeJsonToList<WxOrderInfoLite>(JsonHelper.SerializeObject(orderObj));
|
||||
|
||||
foreach (var linerCgi in optrimizeLinerCgiLst)
|
||||
{
|
||||
var wxOrder = wxOrderLst.FirstOrDefault(o => o.commonInfo.orderId == linerCgi.order_id);
|
||||
if (wxOrder != null)
|
||||
{
|
||||
linerCgi.orderTime = wxOrder.commonInfo.createTime;
|
||||
linerCgi.province = wxOrder.acceptInfo.addressInfo.provinceName;
|
||||
linerCgi.city = wxOrder.acceptInfo.addressInfo.cityName;
|
||||
linerCgi.district = wxOrder.acceptInfo.addressInfo.countyName;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
foreach (var linerCgi in optrimizeLinerCgiLst)
|
||||
{
|
||||
linerCgi.province = "地址解析失败";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 查询是否被优化过
|
||||
@@ -1206,7 +1425,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
linerCgi.optimizeWaybillId = ov == null ? "" : ov.waybill_id;
|
||||
linerCgi.optimizeTime = ov == null ? "" : ov?.use_time?.ToString("yyyy-MM-dd HH:mm");
|
||||
if (!string.IsNullOrEmpty(linerCgi.optimizeWaybillId))
|
||||
linerCgi.optimizeWaybillId = "已优化";
|
||||
linerCgi.optimizeWaybillId = "已补发";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -1219,8 +1438,63 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
}
|
||||
}
|
||||
|
||||
// 查询是否有失败记录
|
||||
url = BaseClass.BuildObjString("shop/get_express_optimize_rst");
|
||||
data = "";
|
||||
data = UserLogin.GetSignaturex();
|
||||
data += "&order_ids=" + string.Join(",", optrimizeLinerCgiLst.Select(w => w.order_id));
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
foreach (var linerCgi in optrimizeLinerCgiLst)
|
||||
{
|
||||
if (linerCgi.optimizeWaybillId.IsNullOrEmpty())
|
||||
{
|
||||
linerCgi.optimizeWaybillId = "查询失败";
|
||||
linerCgi.optimizeTime = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var jArr = JObject.Parse(html)["data"];
|
||||
var sProd = JsonHelper.SerializeObject(jArr);
|
||||
var optimizeLst = JsonHelper.DeserializeJsonToList<WxOptimizeRstInfo>(sProd);
|
||||
foreach (var linerCgi in optrimizeLinerCgiLst)
|
||||
{
|
||||
if (linerCgi.optimizeWaybillId.IsNullOrEmpty())
|
||||
{
|
||||
var ov = optimizeLst.FirstOrDefault(o => o.order_id == linerCgi.order_id);
|
||||
linerCgi.optimizeWaybillId = ov == null ? "" : ov.optimize_rst;
|
||||
linerCgi.optimizeTime = ov == null ? "" : ov?.mdy_time.ToString("yyyy-MM-dd HH:mm");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
foreach (var linerCgi in optrimizeLinerCgiLst)
|
||||
{
|
||||
if (linerCgi.optimizeWaybillId.IsNullOrEmpty())
|
||||
{
|
||||
linerCgi.optimizeWaybillId = "查询失败";
|
||||
linerCgi.optimizeTime = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var orderLinerCgiInfo in optrimizeLinerCgiLst)
|
||||
{
|
||||
if (CheckOrderExist(orderLinerCgiInfo.order_id))
|
||||
continue;
|
||||
|
||||
lstWxOptrimizeLinerCgiInfo.Add(orderLinerCgiInfo);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
var rowIndex = this.dgvData4.Rows.Add(
|
||||
@@ -1235,14 +1509,16 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
string.Join("\r\n", orderLinerCgiInfo.product_list.Select(p => p.title)),
|
||||
string.Join("\r\n", orderLinerCgiInfo.product_list.Select(p => "x" + p.product_count)),
|
||||
"", //skuCode不展示
|
||||
orderLinerCgiInfo.order_id + "\r\n" + orderLinerCgiInfo.waybill_id,
|
||||
orderLinerCgiInfo.order_id, // + "\r\n" + orderLinerCgiInfo.waybill_id,
|
||||
orderLinerCgiInfo.province + orderLinerCgiInfo.city + orderLinerCgiInfo.district,
|
||||
orderLinerCgiInfo.orderTime.IsNullOrZero() ? "" : BaseClass.StampToDateTime(orderLinerCgiInfo.orderTime.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
|
||||
orderLinerCgiInfo.delivery_name,
|
||||
BaseClass.StampToDateTime(orderLinerCgiInfo.collect_time.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss") + "\r\n" + BaseClass.StampToDateTime(orderLinerCgiInfo.receipt_time.ParseToInt()).ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
"发货地:" + orderLinerCgiInfo.ship_city + "\r\n" + "收货地:" + orderLinerCgiInfo.ship_province + orderLinerCgiInfo.receipt_city,
|
||||
(orderLinerCgiInfo.transport_duration.ParseToInt() / 3600) + "小时" + (orderLinerCgiInfo.transport_duration.ParseToInt() % 3600) / 60 + "分" +
|
||||
"\r\n标准时长" + (orderLinerCgiInfo.transport_std_duration.ParseToInt() / 3600) + "小时", /*+ (orderLinerCgiInfo.transport_std_duration.ParseToInt() % 3600)*/
|
||||
(orderLinerCgiInfo.transport_duration.ParseToInt() / 3600) + "小时" + (orderLinerCgiInfo.transport_duration.ParseToInt() % 3600) / 60 + "分" + "\r\n标准时长" + (orderLinerCgiInfo.transport_std_duration.ParseToInt() / 3600) + "小时",
|
||||
orderLinerCgiInfo.optimizeWaybillId + "\r\n" + orderLinerCgiInfo.optimizeTime,
|
||||
"优化"
|
||||
"补发"
|
||||
);
|
||||
|
||||
dgvData4.Rows[rowIndex].Height = 60;
|
||||
@@ -1267,13 +1543,15 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
cancellationTokenSource.Cancel();
|
||||
}
|
||||
|
||||
public string OptimizeExpress(ShopLoginInfo shop, string orderId, string productEvaluationId = "")
|
||||
public string OptimizeExpress(ShopLoginInfo shop, string orderId, string orderCreateTime = "")
|
||||
{
|
||||
var url = BaseClass.BuildObjString("shop/select_waybill");
|
||||
var data = "";
|
||||
data = UserLogin.GetSignaturex();
|
||||
data += "&shop_id=" + shop.ShopId;
|
||||
data += "&order_id=" + orderId;
|
||||
if (!orderCreateTime.IsNullOrEmpty())
|
||||
data += "&order_time=" + orderCreateTime;
|
||||
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
@@ -1281,7 +1559,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
var errMsg = BaseRegex.GetStringJson(ref html, "msg");
|
||||
return "优化失败 " + errMsg;
|
||||
return "补发失败 " + errMsg;
|
||||
}
|
||||
var waybill_id = BaseRegex.GetStringJson(ref html, "waybill_id");
|
||||
var delivery_id = BaseRegex.GetStringJson(ref html, "delivery_id");
|
||||
@@ -1300,16 +1578,44 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
optimizeExpressRst = WXHttpResponseBLL.e57PostResponse(url, bodyStr, "");
|
||||
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
|
||||
|
||||
xmlDoc.LoadXml(optimizeExpressRst); //<AjaxResult><msg>订单不存在,orderId:3735398415030708224</msg><code>500</code></AjaxResult>
|
||||
string msg = xmlDoc["AjaxResult"]["msg"].InnerText;
|
||||
string code = xmlDoc["AjaxResult"]["code"].InnerText;
|
||||
string msg = "";
|
||||
string code = "";
|
||||
try
|
||||
{
|
||||
xmlDoc.LoadXml(optimizeExpressRst); //<AjaxResult><msg>订单不存在,orderId:3735398415030708224</msg><code>500</code></AjaxResult>
|
||||
msg = xmlDoc["AjaxResult"]["msg"].InnerText;
|
||||
code = xmlDoc["AjaxResult"]["code"].InnerText;
|
||||
|
||||
// 记录一下优化结果
|
||||
url = BaseClass.BuildObjString("shop/add_mdy_express_optimize_rst");
|
||||
data = UserLogin.GetSignaturex();
|
||||
data += "&shop_id=" + shop.ShopId;
|
||||
data += "&order_id=" + orderId;
|
||||
if (msg.ParseToString().Contains("修改物流信息成功") || code == "200")
|
||||
{
|
||||
data += "&waybill_id=" + waybill_id;
|
||||
data += "&delivery_name=" + delivery_name;
|
||||
data += "&optimize_rst=补发成功";
|
||||
}
|
||||
else
|
||||
{
|
||||
data += "&optimize_rst=" + (msg.IsNullOrEmpty() ? "补发失败" : msg);
|
||||
}
|
||||
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
url = BaseClass.BuildObjString("shop/update_used_waybill");
|
||||
data = UserLogin.GetSignaturex();
|
||||
data += "&shop_id=" + shop.ShopId;
|
||||
data += "&order_id=" + orderId;
|
||||
data += "&waybill_id=" + waybill_id;
|
||||
if (!optimizeExpressRst.Contains("修改物流信息成功") && !optimizeExpressRst.Contains("<code>200</code>"))
|
||||
if (!optimizeExpressRst.ParseToString().Contains("修改物流信息成功") && !optimizeExpressRst.ParseToString().Contains("<code>200</code>"))
|
||||
data += "&is_rollback=true";
|
||||
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
@@ -1320,14 +1626,14 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
var errMsg = BaseRegex.GetStringJson(ref html, "msg");
|
||||
if (!optimizeExpressRst.Contains("修改物流信息成功") && !optimizeExpressRst.Contains("<code>200</code>"))
|
||||
return "优化失败,回滚失败\r\n" + errMsg + " " + msg;
|
||||
if (!optimizeExpressRst.ParseToString().Contains("修改物流信息成功") && !optimizeExpressRst.ParseToString().Contains("<code>200</code>"))
|
||||
return "补发失败,还原失败\r\n" + errMsg + " " + msg;
|
||||
else
|
||||
return "优化失败\r\n" + errMsg;
|
||||
return "补发失败\r\n" + errMsg;
|
||||
}
|
||||
if (!optimizeExpressRst.Contains("修改物流信息成功") && !optimizeExpressRst.Contains("<code>200</code>"))
|
||||
return "优化失败,已回滚\r\n" + msg;
|
||||
return "优化成功";
|
||||
if (!optimizeExpressRst.ParseToString().Contains("修改物流信息成功") && !optimizeExpressRst.ParseToString().Contains("<code>200</code>"))
|
||||
return "补发失败,已还原\r\n" + msg;
|
||||
return "补发成功";
|
||||
}
|
||||
|
||||
private void dgvData_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
@@ -1382,30 +1688,29 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
imgFrom.ShowDialog();
|
||||
break;
|
||||
}
|
||||
case "优化":
|
||||
case "补发":
|
||||
{
|
||||
var orderId = row.Cells[$"colDgv{dgvNum}OrderId"].Value.ParseToString();
|
||||
if (orderId.Contains("未获取到对应订单号"))
|
||||
{
|
||||
BaseMsgForm.ShowError("缺少单编号无法优化!");
|
||||
BaseMsgForm.ShowError("缺少单编号无法补发!");
|
||||
return;
|
||||
}
|
||||
if (orderId.Contains("获取到多条订单号"))
|
||||
{
|
||||
BaseMsgForm.ShowError("订单编号不符合优化条件!");
|
||||
BaseMsgForm.ShowError("订单编号不符合补发条件!");
|
||||
return;
|
||||
}
|
||||
|
||||
orderId = orderId.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(orderId))
|
||||
{
|
||||
|
||||
var rst = OptimizeExpress(shop, orderId);
|
||||
var rst = OptimizeExpress(shop, orderId, row.Cells[$"colDgv{dgvNum}OrderTime"].Value.ParseToString());
|
||||
row.Cells[$"colDgv{dgvNum}OptimizeStatus"].Value = rst;
|
||||
}
|
||||
else
|
||||
{
|
||||
BaseMsgForm.ShowError("缺少单编号无法优化!");
|
||||
BaseMsgForm.ShowError("缺少订单编号无法补发!");
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1422,6 +1727,19 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
WXWaybillManageForm waybillForm = new WXWaybillManageForm();
|
||||
waybillForm.ShowDialog();
|
||||
}
|
||||
|
||||
public bool CheckOrderExist(string orderId)
|
||||
{
|
||||
if (lstWxOptimizeOrderAfterSaleInfo.Any(o => o.orderInfo.orderId == orderId))
|
||||
return true;
|
||||
if (lstWxOptimizeProductEvaluationInfo.Any(o => o.order_id == orderId))
|
||||
return true;
|
||||
if (lstWxOptimizeOrderWayBillInfo.Any(o => o.orderInfo.orderId == orderId))
|
||||
return true;
|
||||
if (lstWxOptrimizeLinerCgiInfo.Any(o => o.order_id == orderId))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static class ShopOptimize
|
||||
@@ -1501,5 +1819,14 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string orderSearchByOrderId(ShopLoginInfo shop, string orderIds)
|
||||
{
|
||||
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeorder/list/cgi/orderSearch?token=&lang=zh_CN";
|
||||
string referer = "https://store.weixin.qq.com/shop/order/list";
|
||||
string body = @"{""isSearch"":true,""pageSize"":30,""orderId"":""" + orderIds + @""",""orderTime"":{""type"":0,""time"":[null,null]},""telNumber"":"""",""title"":"""",""receiverName"":"""",""finderNickName"":"""",""merchantNotes"":"""",""merchantNotesTagColor"":0,""waybillId"":"""",""productCode"":"""",""inspectStatus"":"""",""finderWay"":0,""searchOrderType"":0,""payMethod"":0,""orderChannel"":0,""bulkbuyActivityId"":"""",""deliveryNegotiationFlag"":0,""transactionId"":"""",""page"":1,""startCreateTime"":null,""endCreateTime"":null}";
|
||||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -189,6 +189,9 @@
|
||||
<metadata name="colDgv1OrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv1Address.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv1OrderTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
@@ -240,6 +243,12 @@
|
||||
<metadata name="colDgv2OrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv2Address.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv2OrderTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv2UserNick.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
@@ -255,7 +264,7 @@
|
||||
<metadata name="colDgv2Optimize.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3Check.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv3ShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
@@ -276,31 +285,37 @@
|
||||
<metadata name="colDgv3Img.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDraftId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3DraftId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colProductName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3ProductName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSpec.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3Spec.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colExtCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3ExtCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv3OrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDeliveryName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3Address.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colPayTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3OrderTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colTakeTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3PayTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDuration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv3TakeTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv3Duration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv3DeliveryName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv3OptimizeStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
@@ -345,13 +360,19 @@
|
||||
<metadata name="colDgv4OrderId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv4Address.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv4OrderTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="dataGridViewTextBoxColumn9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="dataGridViewTextBoxColumn10.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDgv4Address.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="colDgv4Addresses.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="dataGridViewTextBoxColumn12.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
|
||||
@@ -1306,8 +1306,18 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
}
|
||||
}
|
||||
|
||||
bool isSendOrderE57 = false;
|
||||
public void SendOrderE57(PddBuyerOrderInfoLite order, bool resetSendStatus = false)
|
||||
{
|
||||
if (resetSendStatus == true)
|
||||
{
|
||||
// 防止重复点击发送按钮
|
||||
if (isSendOrderE57)
|
||||
return;
|
||||
isSendOrderE57 = true;
|
||||
Task.Run(() => { Thread.Sleep(2500); isSendOrderE57 = false; });
|
||||
}
|
||||
|
||||
if (order == null)
|
||||
return;
|
||||
if (resetSendStatus)
|
||||
@@ -1339,7 +1349,7 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
// 外采订单已发货的订单不再尝试发货
|
||||
//if (order.sendStatus == "已发送")
|
||||
// return;
|
||||
if (order.sendStatus.Contains("外采订单已发货"))
|
||||
if (order.sendStatus.Contains("外采订单已发货") || order.sendStatus.Contains("更新外采订单微信发货成功"))
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
@@ -1363,15 +1373,26 @@ namespace TemuKJD.WXForms.TalkForms
|
||||
var exportRst = WXHttpResponseBLL.e57PostResponse(url, dataStr, "");
|
||||
for (int i = 0; i < 5 && exportRst.Contains("操作超时"); i++)
|
||||
{
|
||||
Thread.Sleep(2000);
|
||||
Thread.Sleep(3000);
|
||||
WXHttpResponseBLL.e57PostResponse(url, dataStr, "");
|
||||
}
|
||||
if (exportRst.Contains("操作超时"))
|
||||
{
|
||||
order.sendStatus = "发送失败 操作超时";
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
ShowOrder(order);
|
||||
}));
|
||||
return;
|
||||
}
|
||||
// exportRst.Contains("已存在") || exportRst.Contains("同运单号拦截") || exportRst.Contains("订单已绑定外采订单")
|
||||
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
|
||||
xmlDoc.LoadXml(exportRst); //<ResultVo><code>1505</code><msg>不支持的平台类型: WEISHOP</msg><data/><totalRecords/></ResultVo>
|
||||
string msg = xmlDoc["ResultVo"]["msg"].InnerText;
|
||||
string data = xmlDoc["ResultVo"]["data"].InnerText;
|
||||
if (msg == "SUCCESS")
|
||||
string code = xmlDoc["ResultVo"]["code"].InnerText;
|
||||
if (code == "0" || msg == "SUCCESS") //if (msg == "SUCCESS")
|
||||
{
|
||||
order.sendStatus = string.IsNullOrEmpty(data) ? msg : data;
|
||||
if (order.sendStatus == "更新微信外采订单状态成功")
|
||||
|
||||
Reference in new issue
Block a user