2025-04-12 | wanshenmean | ![]() |
2025-04-12 | wanshenmean | ![]() |
代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/MESAPIInvoke.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/UpdateTaskAGV.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
´úÂë¹ÜÀí/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/MESAPIInvoke.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,89 @@ using StackExchange.Profiling.Internal; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http.Headers; using System.Net.Http.Json; using System.Text; using System.Threading.Tasks; namespace WIDESEAWCS_Tasks { public class MESAPIInvoke { // 使ç¨éæHttpClientå®ä¾ private static readonly HttpClient _client = new HttpClient { BaseAddress = new Uri("http://192.168.12.212:9003/api/WMS/"), DefaultRequestHeaders = { Accept = { new MediaTypeWithQualityHeaderValue("application/json") }, UserAgent = { new ProductInfoHeaderValue("MESClient", "1.0") } } }; /// <summary> /// çç®±ç©æç»å® /// </summary> /// <param name="Devid"></param> /// <param name="Materials"></param> /// <returns></returns> public static MESback BakingFeedingBinding(string devId, List<BakingClass> materials) { var request = new BakingFeedingClass { Devid = devId, Materials = materials }; var response = _client.PostAsJsonAsync("BakingFeedingBinding", request).Result; response.EnsureSuccessStatusCode(); return response.Content.ReadFromJsonAsync<MESback>().Result; //using (HttpClient client = new HttpClient()) //{ // client.BaseAddress = new Uri("http://192.168.12.212:9003/api/WMS/BakingFeedingBinding"); // client.DefaultRequestHeaders.Accept.Clear(); // client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"); // HttpResponseMessage response = client.PostAsJsonAsync("BakingFeedingBinding", req).Result; // if (response.IsSuccessStatusCode) // { // MESback back = response.Content.ReadAsStringAsync().Result.FromJson<MESback>(); // return back; // } // else // { // throw new Exception("è°ç¨MESAPI失败ï¼"); // } //} } } public class MESback { /// <summary> /// 0:æåï¼å¤§äº0ï¼å¤±è´¥ /// </summary> public int Code { get; set; } /// <summary> /// åé¦ä¿¡æ¯ /// </summary> public string Message { get; set; } /// <summary> /// ç©æç±»å /// </summary> public string MaterialType { get; set; } /// <summary> /// ç©ææ¹å·ï¼åå ¥PLC /// </summary> public string BarCode { get; set; } public string ProcessName { get; set; } } } ´úÂë¹ÜÀí/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/UpdateTaskAGV.cs
@@ -1,4 +1,5 @@ using WIDESEAWCS_Common.AGVEnum; using Newtonsoft.Json; using WIDESEAWCS_Common.AGVEnum; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_ITaskInfoRepository; using WIDESEAWCS_Model.Models; @@ -176,6 +177,32 @@ plcClient.Communicator.Write(taskFbInteractive2, 1); //throw new Exception("ä»»å¡ç¶ææ´æ¹ä¸º4ç»ç¹å·²å®æå¤±è´¥,ä»»å¡ID:" + agvTask.agv_tasknum + DateTime.Now + ",ä»»å¡ç¶æä¸æ¯ç»ç¹æ§è¡ä¸!"); } if (agvTask.TargetAddress.Contains("HXWLX")) { if (agvTask.SourceAddress.Contains("KPHLX")) { // 空ç线è¿çç®± // TODO: è°ç¨åæºæ¥å£è·å宿´æ¡ç var materials = new List<BakingClass> { new BakingClass { BarCode = "1", MaterialType = "1" }, }; MESback WMSbackresult = MESAPIInvoke.BakingFeedingBinding(agvTask.TargetAddress, materials); if (WMSbackresult.Code > 0) { new Exception(WMSbackresult.Message); return; } } else { // æåæºè¿çç®± // TODO: è°ç¨åæºæ¥å£è·å宿´æ¡ç var materials = new List<BakingClass> { new BakingClass { BarCode = "1", MaterialType = "1" }, }; MESback WMSbackresult = MESAPIInvoke.BakingFeedingBinding(agvTask.TargetAddress, materials); if (WMSbackresult.Code > 0) { new Exception(WMSbackresult.Message); return; } } } //agvtask_HtyRepository.AddTaskHistory(agvTask, OperateType.Finished.ToString()); _taskRepository.DeleteData(agvTask); @@ -385,4 +412,17 @@ } } } public class BakingFeedingClass { public string Devid { get; set; } public List<BakingClass> Materials { get; set; } } public class BakingClass { public string MaterialType { get; set; } public string BarCode { get; set; } } }