using Newtonsoft.Json.Linq;
using System;
using WIDESEA_Common.Tools;
using WIDESEA_Core.Utilities;
namespace WIDESEA_Services
{
public class MESAPIInvoke
{
public static string upperMaterIPAddresss = ConfigUtil.GetConfiguration["upperMaterURL"];
public static string lowerMaterIPAddresss = ConfigUtil.GetConfiguration["lowerMaterURL"];
public static string BindMaterIPAddresss = ConfigUtil.GetConfiguration["BindMaterURL"];
public static string StockChangeIPAddresss = ConfigUtil.GetConfiguration["StockChangeURL"];
public static string AgvStatusIPAddresss = ConfigUtil.GetConfiguration["AgvStatusURL"];
///
/// 设备请求上料
///
///
///
///
public static MESback EquipFeeding(string Devid, string BatchNo)
{
try
{
//WriteLog.GetLog("EquipFeeding").Write("EquipFeeding接口调用开始", "EquipFeeding");
EquipONorUPrequest req = new EquipONorUPrequest();
req.Devid = Devid;
req.BatchNo = BatchNo;
JArray ja = new JArray();
ja.Add(WebApiHelper.GetJson(req));
JObject jobj = WebApiHelper.SendInfoToWebAPI(upperMaterIPAddresss, "", "Post", ja);
MESback reply = WebApiHelper.ParseFromJson(jobj.ToString());
//WriteLog.GetLog("EquipFeeding").Write("EquipFeeding接口调用结束", "EquipFeeding");
return reply;
}
catch (Exception ex)
{
//WriteLog.GetLog("EquipFeeding").Write("EquipFeeding接口调用异常:" + ex.Message, "EquipFeeding");
throw new Exception(ex.Message);
}
}
///
/// 设备请求下料调用MES接口
///
///
///
///
public static MESback EquipUnloading(string Devid, string BatchNo)
{
try
{
//WriteLog.GetLog("EquipUnloading").Write("EquipUnloading接口调用开始", "EquipUnloading");
EquipONorUPrequest req = new EquipONorUPrequest();
req.Devid = Devid;
req.BatchNo = BatchNo;
JArray ja = new JArray();
ja.Add(WebApiHelper.GetJson(req));
JObject jobj = WebApiHelper.SendInfoToWebAPI(lowerMaterIPAddresss, "", "Post", ja);
MESback reply = WebApiHelper.ParseFromJson(jobj.ToString());
//WriteLog.GetLog("EquipUnloading").Write("EquipUnloading接口调用结束", "EquipUnloading");
return reply;
}
catch (Exception ex)
{
//WriteLog.GetLog("EquipUnloading").Write("EquipUnloading接口调用异常:" + ex.Message, "EquipUnloading");
throw new Exception(ex.Message);
}
}
///
/// 记录批号与缓存架绑定信息,物料绑定信息
///
///
///
///
///
///
///
public static MESback BindMaterialDevid(string DevidGet, string DevidPut, string MaterialType, string BarCode, string MaterialStatus)
{
try
{
//WriteLog.GetLog("BindMaterialDevid").Write("BindMaterialDevid接口调用开始", "BindMaterialDevid");
BindMaterrequest req = new BindMaterrequest();
req.DevidGet = DevidGet;
req.DevidPut = DevidPut;
req.MaterialType = MaterialType;
req.BarCode = BarCode;
req.MaterialStatus = MaterialStatus;
JArray ja = new JArray();
ja.Add(WebApiHelper.GetJson(req));
JObject jobj = WebApiHelper.SendInfoToWebAPI(BindMaterIPAddresss, "", "Post", ja);
MESback reply = WebApiHelper.ParseFromJson(jobj.ToString());
//WriteLog.GetLog("BindMaterialDevid").Write("BindMaterialDevid接口调用结束", "BindMaterialDevid");
return reply;
}
catch (Exception ex)
{
//WriteLog.GetLog("BindMaterialDevid").Write("BindMaterialDevid接口调用异常:" + ex.Message, "BindMaterialDevid");
throw new Exception(ex.Message);
}
}
///
/// AGV库存异动登记
///
///
///
///
///
///
///
///
public static MESback AgvStockChange(string CallSn, string DevidGet, string DevidPut, string MaterialType, string BarCode, string MaterialStatus)
{
try
{
//WriteLog.GetLog("AgvStockChange").Write("AgvStockChange接口调用开始", "AgvStockChange");
StockChangerequest req = new StockChangerequest();
req.CallSn = CallSn;
req.DevidGet = DevidGet;
req.DevidPut = DevidPut;
req.MaterialType = MaterialType;
req.BarCode = BarCode;
req.MaterialStatus = MaterialStatus;
JArray ja = new JArray();
ja.Add(WebApiHelper.GetJson(req));
JObject jobj = WebApiHelper.SendInfoToWebAPI(StockChangeIPAddresss, "", "Post", ja);
MESback reply = WebApiHelper.ParseFromJson(jobj.ToString());
//WriteLog.GetLog("AgvStockChange").Write("AgvStockChange接口调用结束", "AgvStockChange");
return reply;
}
catch (Exception ex)
{
//WriteLog.GetLog("AgvStockChange").Write("AgvStockChange接口调用异常:" + ex.Message, "AgvStockChange");
throw new Exception(ex.Message);
}
}
///
/// 上传AGV运行状态,调用MES
///
///
///
///
///
///
///
public static MESback UploadAgvStatus(string AgvCode, string RunningTime, string RealtimeSpeed, string HandState, string AbnormalState)
{
try
{
//WriteLog.GetLog("UploadAgvStatus").Write("UploadAgvStatus接口调用开始", "UploadAgvStatus");
AgvStatusrequest req = new AgvStatusrequest();
req.AgvCode = AgvCode;
req.RunningTime = RunningTime;
req.RealtimeSpeed = RealtimeSpeed;
req.HandState = HandState;
req.AbnormalState = AbnormalState;
JArray ja = new JArray();
ja.Add(WebApiHelper.GetJson(req));
JObject jobj = WebApiHelper.SendInfoToWebAPI(AgvStatusIPAddresss, "", "Post", ja);
MESback reply = WebApiHelper.ParseFromJson(jobj.ToString());
//WriteLog.GetLog("UploadAgvStatus").Write("UploadAgvStatus接口调用结束", "UploadAgvStatus");
return reply;
}
catch (Exception ex)
{
//WriteLog.GetLog("UploadAgvStatus").Write("UploadAgvStatus接口调用异常:" + ex.Message, "UploadAgvStatus");
throw new Exception(ex.Message);
}
}
}
}