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 |   92 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 70 insertions(+), 22 deletions(-)

diff --git a/api/AgvController.cs b/api/AgvController.cs
index f3becc7..62bd5cd 100644
--- a/api/AgvController.cs
+++ b/api/AgvController.cs
@@ -1,38 +1,31 @@
-锘縰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.util;
 using HH.WCS.Mobox3.AnGang.wms;
+
+using NetSDKCS;
+
 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.config;
 
 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>
-        ///// 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>
@@ -42,7 +35,31 @@
         [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>
@@ -52,8 +69,39 @@
         /// <returns></returns>
         [HttpPost]
         [Route("safetyInteraction")]
-        public ReturnResult SafetyInteraction(SafetyInteractionInfo model) {
+        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