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);
}
// 搁置不使用,存在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());
}
}
}