// KJT 通知分销渠道订单已出关区 private int OrderSOOutputCustoms(string data) { // 解析json JObject obj = JObject.Parse(data); string commitTime = (string)obj["CommitTime"]; string merchantOrderID = (string)obj["MerchantOrderID"]; string shipTypeID = (string)obj["ShipTypeID"]; string trackingNumber = (string)obj["TrackingNumber"]; string status = (string)obj["Status"]; string message = (string)obj["Message"]; // 操作数据库 if (status == "1") { string strSql = "update 订单 set 发货状态=1, 物流公司='" + shipTypeID + "', 运单号='" + trackingNumber + "', 发票内容='" + commitTime + "' where 订单号='" + merchantOrderID + "'"; if (SqlOpt.execSql(strSql) > 0) { // 更新“仓库库存”中的“待发数量”; int warehouseID = SqlOpt.getIntFieldBySQL("select 仓库ID from 订单 where 订单号='" + merchantOrderID + "'"); int orderID = SqlOpt.getIntFieldBySQL("select 订单KID from 订单 where 订单号='" + merchantOrderID + "'"); DataTable dtOrderProduct = SqlOpt.getDataTableBySQL("select * from 订单商品 where 订单ID=" + orderID.ToString()); for (int i = 0; i < dtOrderProduct.Rows.Count; i++) { int productID = int.Parse(dtOrderProduct.Rows[i]["商品ID"].ToString()); double qtyBuy = double.Parse(dtOrderProduct.Rows[i]["购买数量"].ToString()); int warehouseStockID = SqlOpt.getIntFieldBySQL("select 仓库库存KID from 仓库库存 where 商品ID=" + productID.ToString() + " and 仓库ID=" + warehouseID.ToString()); if (warehouseStockID > 0) { SqlOpt.execSql("update 仓库库存 set 待发数量=待发数量-" + qtyBuy.ToString() + " where 仓库库存KID=" + warehouseStockID.ToString()); } } return(1); } else { return(-1); } } // 记录到系统日志 else { string strSql = "insert into 系统日志(用户名称, 日志类别, 日志日期, 日志内容, 日志备注, 创建日期) " + "values ('跨境通回调', '错误', '" + commitTime + "', '" + message + "', 'KJT 通知分销渠道订单已出关区', '" + DateTime.Now.ToString() + "')"; SqlOpt.execSql(strSql); return(-1); } //return -1; }
// KJT 通知商户订单出库 private int OrderSOOutputWarehouse(string data) { // 解析json JObject obj = JObject.Parse(data); string commitTime = (string)obj["CommitTime"]; string merchantOrderID = (string)obj["MerchantOrderID"]; string shipTypeID = (string)obj["ShipTypeID"]; string trackingNumber = (string)obj["TrackingNumber"]; // 操作数据库 string strSql = "update 订单 set 发货状态=1, 物流公司='" + shipTypeID + "', 运单号='" + trackingNumber + "', 发票内容='" + commitTime + "' where 订单号='" + merchantOrderID + "'"; return(SqlOpt.execSql(strSql)); }
protected void Page_Load(object sender, EventArgs e) { System.IO.Stream s = Request.InputStream; int count = 0; byte[] buffer = new byte[1024]; StringBuilder builder = new StringBuilder(); while ((count = s.Read(buffer, 0, 1024)) > 0) { builder.Append(Encoding.UTF8.GetString(buffer, 0, count)); } s.Flush(); s.Close(); s.Dispose(); string str = builder.ToString(); string strGet = this.Request.QueryString.ToString(); //string str = Request.Form["data"]; string method = Request.Form["method"]; string data = HttpUtility.UrlDecode(Request.Form["data"]); // 记录到系统日志 int len = str.Length > 2000 ? 2000 : str.Length; int lenGet = strGet.Length > 2000 ? 2000 : strGet.Length; string strSql = "insert into 系统日志(用户名称, 日志类别, 日志日期, 日志内容, 日志备注, 创建日期) " + "values ('重庆海关回调', '信息', '" + DateTime.Now.ToString() + "', '" + strGet.Substring(0, lenGet) + "', '" + str.Substring(0, len) + "', '" + DateTime.Now.ToString() + "')"; SqlOpt.execSql(strSql); //int status = 0; //if (String.Compare(method, "Order.SOOutputCustoms") == 0) // status = OrderSOOutputCustoms(data); //else if (String.Compare(method, "Inventory.ChannelQ4SAdjustRequest") == 0) // status = InventoryChannelQ4SAdjustRequest(data); //if (status > 0) //{ // Response.Write("SUCCESS"); // Response.End(); // return; //} //Response.Write("FAILURE"); //Response.End(); }
protected void Page_Load(object sender, EventArgs e) { System.IO.Stream s = Request.InputStream; int count = 0; byte[] buffer = new byte[1024]; StringBuilder builder = new StringBuilder(); while ((count = s.Read(buffer, 0, 1024)) > 0) { builder.Append(Encoding.UTF8.GetString(buffer, 0, count)); } s.Flush(); s.Close(); s.Dispose(); string str = builder.ToString(); //string str = Request.Form["data"]; int index = str.IndexOf("&"); string[] arr = { }; if (index != -1) // 参数大于1个 { arr = str.Split('&'); for (int i = 0; i < arr.Length; i++) { int equalindex = arr[i].IndexOf('='); string paramN = arr[i].Substring(0, equalindex); string paramV = arr[i].Substring(equalindex + 1); if (paramN == "data") { string dataValue = HttpUtility.UrlDecode(paramV); // 解析json JObject obj = JObject.Parse(dataValue); string commitTime = (string)obj["CommitTime"]; string merchantOrderID = (string)obj["MerchantOrderID"]; string shipTypeID = (string)obj["ShipTypeID"]; string trackingNumber = (string)obj["TrackingNumber"]; // 写入数据库 string strSql = "update 订单 set 发货状态=1, 物流公司='" + shipTypeID + "', 运单号='" + trackingNumber + "', 发票内容='" + commitTime + "' where 订单号='" + merchantOrderID + "'"; if (SqlOpt.execSql(strSql) > 0) { Response.Write("SUCCESS"); Response.End(); return; } } } } else // 参数少于或等于1项 { int equalindex = str.IndexOf('='); if (equalindex != -1) { string paramN = str.Substring(0, equalindex); string paramV = str.Substring(equalindex + 1); // .... } } Response.Write("FAILURE"); Response.End(); }
// KJT 通知分销渠道库存调整 private int InventoryChannelQ4SAdjustRequest(string data) { // 解析json JObject obj = JObject.Parse(data); string sysNo = (string)obj["SysNo"]; int saleChannelSysNo = (int)obj["SaleChannelSysNo"]; string items = obj["Items"].ToString(); JArray array = JArray.Parse(items); bool b = true; foreach (var item in array) { JObject itemObject = JObject.Parse(item.ToString()); string productID = (string)itemObject["ProductID"]; int qty = (int)itemObject["Qty"]; int wareHouseID = (int)itemObject["WareHouseID"]; // 操作数据库 // 查找商品KID //string strSql = "select 商品KID from 商品 where 商品编码='" + productID + "'"; //int productKIDERP = SqlOpt.getIntFieldBySQL(strSql); int productKIDERP = 0; // 商品KID string wareHouseType = ""; // 获取商品信息 string strSql = "select * from 商品 where 商品编码='" + productID + "'"; DataTable dtProduct = SqlOpt.getDataTableBySQL(strSql); if (dtProduct.Rows.Count > 0) { productKIDERP = int.Parse(dtProduct.Rows[0]["商品KID"].ToString()); string p28 = dtProduct.Rows[0]["p28"].ToString(); if (p28 == "保税") { wareHouseType = "1"; } else if (p28 == "直邮") { wareHouseType = "3"; } } // 查找仓库KID strSql = "select 仓库KID from 仓库 where 仓库编号='" + wareHouseID.ToString() + "' and 仓库类别='" + wareHouseType + "'"; int wareHouseKIDERP = SqlOpt.getIntFieldBySQL(strSql); if (productKIDERP > 0 && wareHouseKIDERP > 0) { // 如果数量>0,修改库存数量;如果数量<0,修改待发数量 if (qty >= 0) { strSql = "update 仓库库存 set 库存数量=库存数量+(" + qty.ToString() + ") where 商品ID=" + productKIDERP.ToString() + " and 仓库ID=" + wareHouseKIDERP.ToString(); } else { strSql = "update 仓库库存 set 待发数量=待发数量+(" + qty.ToString() + ") where 商品ID=" + productKIDERP.ToString() + " and 仓库ID=" + wareHouseKIDERP.ToString(); } if (SqlOpt.execSql(strSql) < 1) { b = false; } // 增加“出入库单”记录 int id1 = 0; if (b) { Random rand = new Random(); int type = qty >= 0 ? 2 : 1; string number = DateTime.Now.ToString("yyyyMMddHHmmssfffffff") + rand.Next(1000, 9999).ToString(); strSql = "insert into 出入库单(出入库单编号, 仓库ID, 合同ID, 发货单ID, 出入库单据类别ID, 制单日期, 货物日期, 出入库日期, 制单人ID, 往来单位ID, " + "往来单位联系人, 往来单位电话, 货物地址, 运输方式, 审批人ID, 审批日期, 单据账期, 单据金额, 单据已核销金额, 单据状态, " + "单据备注, 创建日期, 商品合计金额, 仓库编码 " + ") values (" + "'" + number + "', " + wareHouseKIDERP.ToString() + ", 0, 0, " + type.ToString() + ", '" + DateTime.Now.ToString() + "', '" + DateTime.Now.ToString() + "', '" + DateTime.Now.ToString() + "', 0, 0, " + "'', '', '', '', '', '" + DateTime.Now.ToString() + "', 0, 0.0, 0.0, 0, " + "'', '" + DateTime.Now.ToString() + "', 0.0, ''" + ") select @@IDENTITY AS 'IDENTITY'"; id1 = SqlOpt.execInsertSQL(strSql); if (id1 < 1) { b = false; } } // 增加“出入库单明细”记录 if (b && id1 > 0) { if (dtProduct.Rows.Count > 0) { Random rand = new Random(); int type = qty >= 0 ? 2 : 1; string number = DateTime.Now.ToString("yyyyMMddHHmmssfffffff") + rand.Next(1000, 9999).ToString(); strSql = "insert into 出入库单明细(出入库单ID, 商品ID, 库存商品ID, 库存商品编号, 商品名称, 商品规格, 商品颜色, 计量单位, 商品单价, 商品数量, " + "供应商ID, large_qty, orgi_price, sale_price" + ") values (" + "'" + id1 + "', " + productKIDERP.ToString() + ", " + productKIDERP.ToString() + ", '" + dtProduct.Rows[0]["商品编码"] + "', '" + dtProduct.Rows[0]["商品名称"] + "', '" + dtProduct.Rows[0]["商品规格"] + "', '" + dtProduct.Rows[0]["p24"] + "', '" + dtProduct.Rows[0]["计税单位"] + "', " + dtProduct.Rows[0]["销售价"] + ", " + qty.ToString() + ", " + "0, " + qty.ToString() + "," + dtProduct.Rows[0]["销售价"] + ", " + dtProduct.Rows[0]["销售价"] + ") select @@IDENTITY AS 'IDENTITY'"; if (SqlOpt.execInsertSQL(strSql) < 1) { b = false; } } else { b = false; } } } else { b = false; } } if (b) { return(1); } return(0); }
protected void Page_Load(object sender, EventArgs e) { System.IO.Stream s = Request.InputStream; int count = 0; byte[] buffer = new byte[1024]; StringBuilder builder = new StringBuilder(); while ((count = s.Read(buffer, 0, 1024)) > 0) { builder.Append(Encoding.UTF8.GetString(buffer, 0, count)); } s.Flush(); s.Close(); s.Dispose(); string str = builder.ToString(); //string str = Request.Form["data"]; string method = Request.Form["method"]; string data = HttpUtility.UrlDecode(Request.Form["data"]); // 记录到系统日志 int len = data.Length > 2000 ? 2000 : data.Length; string strSql = "insert into 系统日志(用户名称, 日志类别, 日志日期, 日志内容, 日志备注, 创建日期) " + "values ('跨境通回调', '信息', '" + DateTime.Now.ToString() + "', '" + method + "', '" + data.Substring(0, len) + "', '" + DateTime.Now.ToString() + "')"; SqlOpt.execSql(strSql); int status = 0; // 修改为Order.SOOutputCustoms //if (String.Compare(method, "Order.SOOutputWarehouse") == 0) // status = OrderSOOutputWarehouse(data); if (String.Compare(method, "Order.SOOutputCustoms") == 0) { status = OrderSOOutputCustoms(data); } else if (String.Compare(method, "Inventory.ChannelQ4SAdjustRequest") == 0) { status = InventoryChannelQ4SAdjustRequest(data); } if (status > 0) { Response.Write("SUCCESS"); Response.End(); return; } //int index = str.IndexOf("&"); //string[] arr = { }; //if (index != -1) // 参数大于1个 //{ // arr = str.Split('&'); // for (int i = 0; i < arr.Length; i++) // { // int equalindex = arr[i].IndexOf('='); // string paramN = arr[i].Substring(0, equalindex); // string paramV = arr[i].Substring(equalindex + 1); // if (paramN == "data") // { // string dataValue = HttpUtility.UrlDecode(paramV); // // 解析json // JObject obj = JObject.Parse(dataValue); // string commitTime = (string)obj["CommitTime"]; // string merchantOrderID = (string)obj["MerchantOrderID"]; // string shipTypeID = (string)obj["ShipTypeID"]; // string trackingNumber = (string)obj["TrackingNumber"]; // // 写入数据库 // string strSql = "update 订单 set 发货状态=1, 物流公司='" + shipTypeID + "', 运单号='" + trackingNumber + "', 发票内容='" + commitTime + "' where 订单号='" + merchantOrderID + "'"; // if (SqlOpt.execSql(strSql) > 0) // { // Response.Write("SUCCESS"); // Response.End(); // return; // } // } // } //} //else // 参数少于或等于1项 //{ // int equalindex = str.IndexOf('='); // if (equalindex != -1) // { // string paramN = str.Substring(0, equalindex); // string paramV = str.Substring(equalindex + 1); // // .... // } //} Response.Write("FAILURE"); Response.End(); }