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