| | |
| | | using HH.WCS.Mobox3.AnGang.core; |
| | | using 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.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 HH.WCS.Mobox3.AnGang.wms; |
| | | |
| | | using NetSDKCS; |
| | | |
| | | using Newtonsoft.Json; |
| | | |
| | | using static HH.WCS.Mobox3.AnGang.api.ApiModel; |
| | | using static HH.WCS.Mobox3.AnGang.dispatch.NDC; |
| | | |
| | | namespace HH.WCS.Mobox3.AnGang.api |
| | | { |
| | | /// <summary> |
| | | /// 设备信息上报(hosttoagv上报、杭奥堆垛机、国自agv) |
| | | /// </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> |
| | |
| | | [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:RCS国自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> |
| | |
| | | public gzResult SafetyInteraction(SafetyInteractionInfo model) { |
| | | return WCSCore.SafetyInteraction(model); |
| | | } |
| | | |
| | | // 搁置不使用,存在bug:HttpContext.Current.Request赋值前引用,应该是Current为null导致的 |
| | | |
| | | 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()); |
| | | } |
| | | } |
| | | } |