| | |
| | | using AngleSharp.Io; |
| | | using HslCommunication; |
| | | using LogLibrary.Log; |
| | | using Mapster; |
| | | using Newtonsoft.Json; |
| | | using SkiaSharp; |
| | |
| | | { |
| | | public partial class TaskService |
| | | { |
| | | #region AGVæ¥å£ |
| | | #region è°ç¨AGVæ¥å£ |
| | | private string GetAGVIPAddress(string baseIp, string name) |
| | | { |
| | | var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | |
| | | return wcsBasez + address; |
| | | } |
| | | |
| | | public async Task<WebResponseContent> SendAgvTask(string modelProcessCode,Dt_Task task) |
| | | /// <summary> |
| | | /// åéä»»å¡ |
| | | /// </summary> |
| | | /// <param name="modelProcessCode"></param> |
| | | /// <param name="task"></param> |
| | | /// <returns></returns> |
| | | public async Task<WebResponseContent> SendAgvTask(string modelProcessCode, int taskNum) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum); |
| | | List<taskOrderDetail> orderDetails = new List<taskOrderDetail>() |
| | | { |
| | | new taskOrderDetail() |
| | | { |
| | | taskPath = $"{task.CurrentAddress},{task.NextAddress}", |
| | | shelfNumber = "", |
| | | } |
| | | }; |
| | | SendTask sendTask = new SendTask() |
| | | { |
| | | modelProcessCode = modelProcessCode, |
| | | priority = 1, |
| | | fromSystem = "WMS", |
| | | orderId = task.AGVTaskNum, |
| | | taskOrderDetail = orderDetails |
| | | |
| | | }; |
| | | var AgvSendTaskAddrss = GetAGVIPAddress(SysConfigKeyConst.AGVIP_BASE, SysConfigKeyConst.SendAGVTask); |
| | | // åé请æ±å¹¶çå¾
ååº |
| | | var result = await HttpHelper.PostAsync(AgvSendTaskAddrss, sendTask.ToJsonString()); |
| | | |
| | | LogFactory.WriteInfo("ä¸åAGVä»»å¡åè°", $"{JsonConvert.SerializeObject(result)}"); |
| | | |
| | | var respone = JsonConvert.DeserializeObject<AgvRespone>(result.ToString()); |
| | | |
| | | if (respone.code != 1000) |
| | | { |
| | | content.Error(respone.desc); |
| | | } |
| | | content.OK(respone.desc); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | public async Task<WebResponseContent> ContinueAgvTask(string AGVTaskNum) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | SendTask sendTask = new SendTask() |
| | | { |
| | | modelProcessCode = modelProcessCode, |
| | | priority = 1, |
| | | fromSystem = "WMS", |
| | | orderId = task.TaskNum.ToString(), |
| | | orderDetail = new taskOrderDetail() |
| | | { |
| | | taskPath = $"{task.CurrentAddress},{task.NextAddress}", |
| | | shelfNumber = "", |
| | | } |
| | | orderId = AGVTaskNum.ToString(), |
| | | }; |
| | | var AgvSendTaskAddrss = GetAGVIPAddress(SysConfigKeyConst.AGVIP_BASE, SysConfigKeyConst.SendAGVTask); |
| | | var AgvSendTaskAddrss = GetAGVIPAddress(SysConfigKeyConst.AGVIP_BASE, SysConfigKeyConst.ContinueAGVTask); |
| | | // åé请æ±å¹¶çå¾
ååº |
| | | var result = await HttpHelper.PostAsync(AgvSendTaskAddrss, sendTask.ToJsonString()); |
| | | |
| | |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | } |
| | | } |