using Autofac.Core; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_DTO.Agv; using WIDESEAWCS_Common.APIEnum; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core; using WIDESEAWCS_Core.Helper; using WIDESEAWCS_DTO.Agv; namespace WIDESEAWCS_TaskInfoService { public partial class TaskService { /// /// 发送AGV任务 /// /// /// public WebResponseContent AgvSendTask(AgvTaskDTO taskModel, APIEnum SendTask = APIEnum.Agv_CSJSendTask) { WebResponseContent content = new WebResponseContent(); try { string? apiAddress = apiInfos.FirstOrDefault(x => x.ApiCode == SendTask.ToString())?.ApiAddress; if (string.IsNullOrEmpty(apiAddress)) return WebResponseContent.Instance.Error($"未找到发送AGV任务接口,请检查接口配置"); string response = HttpHelper.Post(apiAddress, taskModel.Serialize()); AgvResponseContent agvContent = response.DeserializeObject(); if (agvContent.Code == "0") { content.OK(data: agvContent.Data); } else { content.Error(agvContent.Message); } } catch (Exception ex) { content.Error(ex.Message); } return content; } /// /// 安全信号申请 AGV-WCS /// public AgvResponseContent AgvSecureApply(AgvSecureApplyDTO secureApplyModel) { return new AgvResponseContent(); } /// /// 安全信号回复 WCS-AGV //AGV任务继续执行 /// /// /// public WebResponseContent AgvSecureReply(AgvSecureReplyDTO secureReplyModel, APIEnum SecureReply = APIEnum.Agv_CSJSecureReply) { WebResponseContent content = new WebResponseContent(); try { string? apiAddress = apiInfos.FirstOrDefault(x => x.ApiCode == SecureReply.ToString())?.ApiAddress; if (string.IsNullOrEmpty(apiAddress)) return WebResponseContent.Instance.Error($"未找到发送AGV任务接口,请检查接口配置"); string response = HttpHelper.Post(apiAddress, secureReplyModel.Serialize()); AgvResponseContent agvContent = response.DeserializeObject(); if (agvContent.Code == "0") { content.OK(agvContent.Message); } else { content.Error(agvContent.Message); } } catch (Exception ex) { content.Error(ex.Message); } return content; } /// /// AGV任务状态刷新/AGV任务完成 /// /// /// public AgvResponseContent AgvUpdateTask(AgvUpdateDTO agvUpdateModel) { return new AgvResponseContent(); } public WebResponseContent AgvPodBerthAndMat(AgvPodBerthAndMatDTO agvPodModel, APIEnum PodBerthAndMat = APIEnum.Agv_CSJPodBerthAndMat) { WebResponseContent content = new WebResponseContent(); try { string? apiAddress = apiInfos.FirstOrDefault(x => x.ApiCode == PodBerthAndMat.ToString())?.ApiAddress; if (string.IsNullOrEmpty(apiAddress)) return WebResponseContent.Instance.Error($"未找到发送AGV任务接口,请检查接口配置"); string response = HttpHelper.Post(apiAddress, agvPodModel.Serialize()); AgvResponseContent agvContent = response.DeserializeObject(); if (agvContent.Code == "0") { content.OK(agvContent.Message); } else { content.Error(agvContent.Message); } } catch (Exception ex) { content.Error(ex.Message); } return content; } } }