kazelee
9 天以前 b928a2f0011fc867d7d219cfff4b764250f5b778
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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
{
    /// <summary>
    /// 设备信息上报(hosttoagv上报、杭奥堆垛机、国自agv)
    /// </summary>
    public class AgvController : ApiController
    {
        /// <summary>
        /// RCS国自AGV任务状态回报
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("orderStatusReport")]
        public GzResult orderStatusReport(orderStatusReportParme model) {
            //LogHelper.Info("RCS国自AGV任务状态回报:" + JsonConvert.SerializeObject(model), "HosttoagvTask");
            //LogRequestHeaders();
            return GZRobot.orderStatusReport(model);
        }
        
        /// <summary>
        /// AGV 与产线进行安全交互
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [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());
        }
    }
}