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;
}
}