From 6d2faa6e299bdfe545ee339269e64f2900229147 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期三, 16 七月 2025 17:29:26 +0800 Subject: [PATCH] 添加AGV实时状态反馈接口、看板获取AGV状态接口 --- api/AgvController.cs | 92 +++++++++++++++++++++++++++++++++++----------- 1 files changed, 70 insertions(+), 22 deletions(-) diff --git a/api/AgvController.cs b/api/AgvController.cs index f3becc7..62bd5cd 100644 --- a/api/AgvController.cs +++ b/api/AgvController.cs @@ -1,38 +1,31 @@ -锘縰sing HH.WCS.Mobox3.AnGang.core; +锘縰sing System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Reflection; +using System.Text; +using System.Web; +using System.Web.Http; + +using HH.WCS.Mobox3.AnGang.core; using HH.WCS.Mobox3.AnGang.dispatch; using HH.WCS.Mobox3.AnGang.process; +using HH.WCS.Mobox3.AnGang.util; using HH.WCS.Mobox3.AnGang.wms; + +using NetSDKCS; + using Newtonsoft.Json; -using System.Collections.Generic; -using System.Reflection; -using System.Web.Http; -using static HH.WCS.Mobox3.AnGang.dispatch.NDC; -using System.Linq; -using HH.WCS.Mobox3.AnGang.config; using static HH.WCS.Mobox3.AnGang.api.ApiModel; +using static HH.WCS.Mobox3.AnGang.dispatch.NDC; namespace HH.WCS.Mobox3.AnGang.api { /// <summary> /// 璁惧淇℃伅涓婃姤锛坔osttoagv涓婃姤銆佹澀濂ュ爢鍨涙満銆佸浗鑷猘gv锛� /// </summary> - [RoutePrefix("agv")] public class AgvController : ApiController { - ///// <summary> - ///// NDC HostToAGV 浠诲姟鐘舵�鍥炴姤 - ///// </summary> - ///// <param name="model"></param> - ///// <returns></returns> - //[HttpPost] - //[Route("AGVCallbackState")] - //public ReturnResult AGVCallbackState(AgvTaskState model) - //{ - // LogHelper.Info("NDC HostToAGV浠诲姟鐘舵�鍥炴姤锛� + JsonConvert.SerializeObject(model), "HosttoagvTask"); - // return AgvService.OperateAgvTaskStatus(model); - //} - /// <summary> /// RCS鍥借嚜AGV浠诲姟鐘舵�鍥炴姤 /// </summary> @@ -42,7 +35,31 @@ [Route("orderStatusReport")] public GzResult orderStatusReport(orderStatusReportParme model) { //LogHelper.Info("RCS鍥借嚜AGV浠诲姟鐘舵�鍥炴姤锛� + JsonConvert.SerializeObject(model), "HosttoagvTask"); + //LogRequestHeaders(); return GZRobot.orderStatusReport(model); + } + + [HttpPost] + [Route("agvRealtimeStateReport")] + public IHttpActionResult agvRealtimeStateReport(agvRealtimeStateReportInfo model) { + LogHelper.Info("agvRealtimeStateReport锛歊CS鍥借嚜AGV瀹炴椂鐘舵�鍥炴姤锛� + JsonConvert.SerializeObject(model), "HosttoagvTask"); + + var res = WCSCore.agvRealtimeStateReport(model); + //if (res == "offline") { + // //return NotFound(new EmptyGzResult()); + // return NotFound(); + //} + //else { + // //return Ok(new EmptyGzResult()); + // return Ok(); + //} + if (model == null) return NotFound(); + if (string.IsNullOrEmpty(res)) { + return BadRequest(); + } + else { + return Ok(); + } } /// <summary> @@ -52,8 +69,39 @@ /// <returns></returns> [HttpPost] [Route("safetyInteraction")] - public ReturnResult SafetyInteraction(SafetyInteractionInfo model) { + public gzResult SafetyInteraction(SafetyInteractionInfo model) { return WCSCore.SafetyInteraction(model); } + + // 鎼佺疆涓嶄娇鐢紝瀛樺湪bug锛欻ttpContext.Current.Request璧嬪�鍓嶅紩鐢紝搴旇鏄疌urrent涓簄ull瀵艰嚧鐨�+ + private void LogRequestHeaders() { + var request = HttpContext.Current.Request; + var logMessage = new StringBuilder(); + + logMessage.AppendLine("=== 璇锋眰澶翠俊鎭�==="); + logMessage.AppendLine($"璇锋眰URL: {request.Url}"); + logMessage.AppendLine($"HTTP鏂规硶: {request.HttpMethod}"); + + foreach (string headerName in request.Headers) { + logMessage.AppendLine($"{headerName}: {request.Headers[headerName]}"); + } + + LogHelper.Info(logMessage.ToString()); + } + + private void LogResponseHeaders() { + var response = HttpContext.Current.Response; + var logMessage = new StringBuilder(); + + logMessage.AppendLine("=== 鍝嶅簲澶翠俊鎭�==="); + logMessage.AppendLine($"鐘舵�鐮� {response.StatusCode}"); + + foreach (string headerName in response.Headers) { + logMessage.AppendLine($"{headerName}: {response.Headers[headerName]}"); + } + + LogHelper.Info(logMessage.ToString()); + } } } -- Gitblit v1.9.1