using HH.WCS.Mobox3.AnGang.core; using HH.WCS.Mobox3.AnGang.dispatch; using HH.WCS.Mobox3.AnGang.process; using HH.WCS.Mobox3.AnGang.wms; 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.util; using static HH.WCS.Mobox3.AnGang.api.ApiModel; using System.Text; using System.Web; namespace HH.WCS.Mobox3.AnGang.api { /// /// 设备信息上报(hosttoagv上报、杭奥堆垛机、国自agv) /// public class AgvController : ApiController { /// /// RCS国自AGV任务状态回报 /// /// /// [HttpPost] [Route("orderStatusReport")] public GzResult orderStatusReport(orderStatusReportParme model) { //LogHelper.Info("RCS国自AGV任务状态回报:" + JsonConvert.SerializeObject(model), "HosttoagvTask"); LogRequestHeaders(); return GZRobot.orderStatusReport(model); } /// /// AGV 与产线进行安全交互 /// /// /// [HttpPost] [Route("safetyInteraction")] public gzResult SafetyInteraction(SafetyInteractionInfo model) { return WCSCore.SafetyInteraction(model); } 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()); } } }