From 08d3a75fcc7b299736eb526d7e9f3c54a1284c1b Mon Sep 17 00:00:00 2001 From: wule Date: Thu, 17 Sep 2026 13:44:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BB=E5=8F=96=E7=89=A9=E6=B5=81=E6=98=8E?= =?UTF-8?q?=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KJD_WebService/BLL/WXXD/WXOrderManage.cs | 103 ++++++++++++++++++ .../Controllers/WX/WXOrderController.cs | 13 ++- KJD_WebService/KJD_WebService.csproj | 1 + .../Model/WxModel/oms_wei_ewaybill_path.cs | 20 ++++ KJD_WebService/Web.config | 4 +- 5 files changed, 138 insertions(+), 3 deletions(-) create mode 100644 KJD_WebService/Model/WxModel/oms_wei_ewaybill_path.cs diff --git a/KJD_WebService/BLL/WXXD/WXOrderManage.cs b/KJD_WebService/BLL/WXXD/WXOrderManage.cs index 6ee5e50..9599210 100644 --- a/KJD_WebService/BLL/WXXD/WXOrderManage.cs +++ b/KJD_WebService/BLL/WXXD/WXOrderManage.cs @@ -2660,6 +2660,109 @@ namespace KJD_Web.BLL.WXXD return "{\"code\":19999,\"msg\":\"输入为空\"}"; } + + public string WXGetErpEWaybillPathList(string inputData, bool isDetail = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + var timeCalc = DateTime.Now; + + var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + var erp_order_id_in = RegexUtils.GetStringQuery(ref inputData, "erp_order_id_in")?.Replace("'", "\\'"); + var ewaybill_order_id_in = RegexUtils.GetStringQuery(ref inputData, "ewaybill_order_id_in")?.Replace("'", "\\'"); + var waybill_id_in = RegexUtils.GetStringQuery(ref inputData, "waybill_id_in")?.Replace("'", "\\'"); + if (erp_order_id_in.IsNullOrEmpty() && ewaybill_order_id_in.IsNullOrEmpty() && waybill_id_in.IsNullOrEmpty()) + { + return "{\"code\":500,\"msg\":\"未指定要查询的物流轨迹\"}"; + } + var sort_type = RegexUtils.GetStringQuery(ref inputData, "sort_type")?.Replace("'", "\\'"); + var is_not_count = RegexUtils.GetStringQuery(ref inputData, "is_not_count") != "false"; + + int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(); + int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(1000); + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + + string sql = "SELECT COUNT(id) FROM erp.oms_wei_ewaybill_path o WHERE 1=1 "; + + string where = ""; + if (!string.IsNullOrWhiteSpace(erp_order_id_in)) + where += " and o.order_id in ('" + erp_order_id_in.Replace(",", "','") + "')"; + if (!string.IsNullOrWhiteSpace(ewaybill_order_id_in)) + where += " and o.ewaybill_order_id in ('" + ewaybill_order_id_in.Replace(",", "','") + "')"; + if (!string.IsNullOrWhiteSpace(waybill_id_in)) + where += " and o.waybill_id in ('" + waybill_id_in.Replace(",", "','") + "')"; + sql += where; + + var count = 0; + if (!is_not_count) + count = mySql.ExecuteRowCount(sql); + + DataTable dt; + if (count == 0 && !is_not_count) + { + dt = new DataTable(); + } + else + { + sql = "SELECT o.* FROM erp.oms_wei_ewaybill_path o WHERE 1=1"; + + //where子句 + sql += where; + + if (sort_type == "asc") + sql += " ORDER BY o.id ASC"; + else + sql += " ORDER BY o.id DESC"; + sql += " LIMIT " + Math.Max(page - 1, 0) * page_size + "," + page_size; + dt = mySql.ExecuteDataTable(sql); + } + + mySql.Close(); + if (dt != null) + { + try + { + List orderItemList = new List(); + foreach (DataRow row in dt.Rows) + { + oms_wei_ewaybill_path order = new oms_wei_ewaybill_path + { + id = row["id"].ParseToLong(), + order_id = row["order_id"].ParseToNullableLong(), + create_time = row["create_time"].ParseToString().ParseToDateTime(), + ewaybill_order_id = row["ewaybill_order_id"].ParseToString(), + node_desc = row["node_desc"].ParseToString(), + shop_id = row["shop_id"].ParseToNullableLong(), + status = row["status"].ParseToInt(), + update_time = row["update_time"].ParseToLong(), + waybill_id = row["waybill_id"].ParseToString(), + }; + orderItemList.Add(order); + } + JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; + var data = JsonUtils.SerializeObjectToString(orderItemList, 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\":\"输入为空\"}"; + } + private JsonSerializerSettings JsonSerializer = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver(), diff --git a/KJD_WebService/Controllers/WX/WXOrderController.cs b/KJD_WebService/Controllers/WX/WXOrderController.cs index b7e693d..e107d9f 100644 --- a/KJD_WebService/Controllers/WX/WXOrderController.cs +++ b/KJD_WebService/Controllers/WX/WXOrderController.cs @@ -6,10 +6,11 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using System.Runtime.Remoting.Contexts; using System.Text; using System.Web; -using System.Web.Services; using System.Web.Http; +using System.Web.Services; namespace KJD_Web.Controllers.WX { @@ -305,5 +306,15 @@ namespace KJD_Web.Controllers.WX return JsonString(result); } + + public IHttpActionResult wx_get_erp_ewaybill_path_list() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new WXOrderManage().WXGetErpEWaybillPathList(jsontext); + + return JsonString(result); + } } } diff --git a/KJD_WebService/KJD_WebService.csproj b/KJD_WebService/KJD_WebService.csproj index 654cf08..c7f4750 100644 --- a/KJD_WebService/KJD_WebService.csproj +++ b/KJD_WebService/KJD_WebService.csproj @@ -218,6 +218,7 @@ + diff --git a/KJD_WebService/Model/WxModel/oms_wei_ewaybill_path.cs b/KJD_WebService/Model/WxModel/oms_wei_ewaybill_path.cs new file mode 100644 index 0000000..ac0603f --- /dev/null +++ b/KJD_WebService/Model/WxModel/oms_wei_ewaybill_path.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace KJD_Web.Model.WxModel +{ + public class oms_wei_ewaybill_path + { + public long id { get; set; } + public long? shop_id { get; set; } + public long? order_id { get; set; } + public string ewaybill_order_id { get; set; } + public string waybill_id { get; set; } + public long update_time { get; set; } + public int status { get; set; } + public string node_desc { get; set; } + public DateTime create_time { get; set; } + } +} \ No newline at end of file diff --git a/KJD_WebService/Web.config b/KJD_WebService/Web.config index 5a5d82d..4759219 100644 --- a/KJD_WebService/Web.config +++ b/KJD_WebService/Web.config @@ -5,8 +5,8 @@ --> - - + +