huangxiaoqiang
6 小时以前 16749e23b489ee24f993fe9e87346680b7bcf63a
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/AGVTaskService.cs
@@ -1,5 +1,6 @@
using AngleSharp.Io;
using HslCommunication;
using LogLibrary.Log;
using Mapster;
using Newtonsoft.Json;
using SkiaSharp;
@@ -18,7 +19,7 @@
{
    public partial class TaskService
    {
        #region AGV接口
        #region è°ƒç”¨AGV接口
        private string GetAGVIPAddress(string baseIp, string name)
        {
            var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
@@ -31,24 +32,66 @@
            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());
@@ -66,7 +109,7 @@
            }
            return content;
        }
        #endregion
    }
}