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 |   81 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 71 insertions(+), 10 deletions(-)

diff --git a/api/AgvController.cs b/api/AgvController.cs
index b807d60..62bd5cd 100644
--- a/api/AgvController.cs
+++ b/api/AgvController.cs
@@ -1,23 +1,29 @@
-锘縰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.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>
     /// 璁惧淇℃伅涓婃姤锛坔osttoagv涓婃姤銆佹澀濂ュ爢鍨涙満銆佸浗鑷猘gv锛�     /// </summary>
-    [RoutePrefix("agv")]
     public class AgvController : ApiController
     {
         /// <summary>
@@ -29,9 +35,33 @@
         [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>
         /// AGV 涓庝骇绾胯繘琛屽畨鍏ㄤ氦浜�         /// </summary>
@@ -42,5 +72,36 @@
         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