using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Web; using System.Collections; using Newtonsoft.Json.Linq; using DK.XuWei.WebMes; using Curtain.Log; /// /// 包装_乾润接口 xuwei 2020-07-05 /// public static class QianRunApi { public static string ip = ConfigurationManager.AppSettings["QianRunServer"].ToString(); /// /// apiid = 31012 /// 1获取最优出库产品型号 参数为空取全部 /// /// public static string GetGoodsCode(string goodsCode= "",string goodsSeries="",string isFull="1") { //正式数据 string url = ip + "/api/ICetr/GetStorageGoodsCount"; Hashtable ht = new Hashtable(); ht.Add("goodstype", goodsCode); ht.Add("goodsseries", goodsSeries); ht.Add("isfull", isFull); string result = ""; try { result = JsonClient.Get(url, ht); //Logger.Debug("包装_乾润接口:" + url + "?" + JsonClient.ParaToString(ht)); JObject json = JObject.Parse(result); ApiLog.WriteApiLog( "包装_乾润_库存查询", url + "?" + JsonClient.ParaToString(ht), Convert.ToBoolean(json["Success"]), "请求结果太长,不保存结果值!", 31012); return formatResult(result); } catch { result = "包装_乾润接口请求失败!"; //Logger.Debug("包装_乾润接口请求失败:" + url + "?" + JsonClient.ParaToString(ht)); ApiLog.WriteApiLog( "包装_乾润_库存查询", url + "?" + JsonClient.ParaToString(ht), false, result, 31012); return new JsonResult() { success = false, status = JsonStatus.error, message = result }.ToJson(); } //模拟数据 //string result = @" //{'Success':true,'Status':0,'Lists': // [ // {'GoodsType':'H0171M','GoodsSeries':'1','GoodsCount':90}, // {'GoodsType':'H0171M','GoodsSeries':'2','GoodsCount':80} // ] //}".Replace("'","\""); //Logger.Debug("包装_乾润接口模拟数据:" + url); //return result; } /// /// apiid = 31022 /// 2出库单创建 /// /// 包装线号 /// 订单号 /// 产品编码 /// 产品系列号,智能为1,连体为2 /// 产品数量 /// 出库等级 默认为0 /// 时间戳 /// public static string CreateOutStorageOrder(string packingLine,string order,string goodsCode,string goodsSeries,int goodsCount,float level,string dateTime) { string url = ip + "/api/ICetr/CreateOutStorageOrder"; Hashtable ht = new Hashtable(); ht.Add("packingline", packingLine); ht.Add("order", order); ht.Add("goodstype", goodsCode); ht.Add("goodsseries", goodsSeries); ht.Add("goodscount", goodsCount); ht.Add("level", level); ht.Add("datetime", dateTime); string result = ""; try { result = JsonClient.Get(url, ht); //Logger.Debug("包装_乾润接口请求成功:" + url + "?" + JsonClient.ParaToString(ht)); JObject json = JObject.Parse(result); ApiLog.WriteApiLog( "包装_乾润_出库单创建", url + "?" + JsonClient.ParaToString(ht), Convert.ToBoolean(json["Success"]), result, 31022); return formatResult(result); } catch { result = "包装_乾润接口请求失败!"; //Logger.Debug("包装_乾润接口请求失败:" + url + "?" + JsonClient.ParaToString(ht)); ApiLog.WriteApiLog( "包装_乾润_出库单创建", url + "?" + JsonClient.ParaToString(ht), false, result, 31022); return new JsonResult() { success = false, status = JsonStatus.error, message = result}.ToJson(); } } /// /// apiid=31032 /// 3出库单更新与删除数据接口 /// /// 订单号 /// 出库等级 -1 表示取消订单 /// 时间 /// public static string UpdateOrderLevel(string order,float level,string dateTime) { string url = ip + "/api/ICetr/UpdateOrderLevel"; Hashtable ht = new Hashtable(); ht.Add("order", order); ht.Add("level", level); ht.Add("datetime", dateTime); string result = ""; try { result = JsonClient.Get(url, ht); //Logger.Debug("包装_乾润接口请求成功:" + url + "?" + JsonClient.ParaToString(ht)); JObject json = JObject.Parse(result); ApiLog.WriteApiLog( "包装_乾润_出库单更新", url + "?" + JsonClient.ParaToString(ht), Convert.ToBoolean(json["Success"]), result, 31032); return formatResult(result); } catch { result = "包装_乾润接口请求失败!"; //Logger.Debug("包装_乾润接口请求失败:" + url + "?" + JsonClient.ParaToString(ht)); ApiLog.WriteApiLog( "包装_乾润_出库单更新", url + "?" + JsonClient.ParaToString(ht), false, result, 31032); return new JsonResult() { success = false, status = JsonStatus.error, message = result }.ToJson(); } } /// /// apiid = 31042 /// 4出库单状态查询数据接口,订单号为空查询所有订单状态 /// /// /// public static string GetOutStorageOrderStatus(string order = "",string status="") { string url = ip + "/api/ICetr/GetOutStorageOrderStatus"; Hashtable ht = new Hashtable(); ht.Add("order", order); ht.Add("status", status); string result = ""; try { result = JsonClient.Get(url, ht); //Logger.Debug("包装_乾润接口请求失败:" + url + "?" + JsonClient.ParaToString(ht)); JObject json = JObject.Parse(result); ApiLog.WriteApiLog( "包装_乾润_出库单查询!", url + "?" + JsonClient.ParaToString(ht), Convert.ToBoolean(json["Success"]), "请求结果太长,不保存结果值!", 31042); return formatResult(result); } catch { result = "包装_乾润_出库单请求失败!"; //Logger.Debug("包装_乾润接口请求失败:" + url + "?" + JsonClient.ParaToString(ht)); ApiLog.WriteApiLog( "包装_乾润_出库单查询", url + "?" + JsonClient.ParaToString(ht), false, result, 31042); return new JsonResult() { success = false, status = JsonStatus.error, message = "包装_乾润接口请求失败!" }.ToJson(); } } /// /// apiid = 31052 /// 5设置产品复检标记(仅限釉坯库入工序) /// /// 产品条码,多个条码用,分隔 /// public static string SetGoodsReCheckFlag(string barCodes) { string url = ip + "/api/ICetr/SetGoodsReCheckFlag"; Hashtable ht = new Hashtable(); ht.Add("barcodes", barCodes); string result = ""; try { result = JsonClient.Get(url, ht); //Logger.Debug("包装_乾润接口请求失败:" + url + "?" + JsonClient.ParaToString(ht)); JObject json = JObject.Parse(result); ApiLog.WriteApiLog( "包装_乾润_复检标记", url + "?" + JsonClient.ParaToString(ht), Convert.ToBoolean(json["Success"]), result, 31052); return formatResult(result); } catch { result = "包装_乾润接口请求失败!"; //Logger.Debug("包装_乾润接口请求失败:" + url + "?" + JsonClient.ParaToString(ht)); ApiLog.WriteApiLog( "包装_乾润_复检标记", url + "?" + JsonClient.ParaToString(ht), false, result, 31052); return new JsonResult() { success = false, status = JsonStatus.error, message = result }.ToJson(); } } /// /// apiid = 31062 /// 6获取库存数量和位置(队列中的出库单没有减去,不可用于出库选择) /// /// public static string GetStorageStatus(int isfull=0) { string url = ip + "/api/ICetr/GetStorageStatus"; Hashtable ht = new Hashtable(); ht.Add("isfull", isfull); string result = ""; try { result = JsonClient.Get(url, ht); //Logger.Debug("包装_乾润接口请求失败:" + url + "?" + JsonClient.ParaToString(ht)); JObject json = JObject.Parse(result); ApiLog.WriteApiLog( "包装_乾润_库存位置查询", url + "?" + JsonClient.ParaToString(ht), Convert.ToBoolean(json["Success"]), "请求结果太长,不保存结果值!", 31062); return formatResult(result); } catch { result = "包装_乾润接口请求失败!"; //Logger.Debug("包装_乾润接口请求失败:" + url + "?" + JsonClient.ParaToString(ht)); ApiLog.WriteApiLog( "包装_乾润_库存位置查询", url + "?" + JsonClient.ParaToString(ht), false, result, 31062); return new JsonResult() { success = false, status = JsonStatus.error, message = result }.ToJson(); } } public static string formatResult(string result) { string jsonStr = result; jsonStr = jsonStr.Replace("\"Success\"", "\"success\""); jsonStr = jsonStr.Replace("\"Status\"", "\"status\""); jsonStr = jsonStr.Replace("\"Lists\"", "\"rows\""); jsonStr = jsonStr.Replace("\"List\"", "\"rows\""); jsonStr = jsonStr.Replace("\"Message\"", "\"message\""); return jsonStr; } }