From 24de88ebbbb3597bb2043840bc685e3d59363967 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期一, 07 七月 2025 16:48:39 +0800
Subject: [PATCH] 优化轮询ERP信息流程、添加AGV接口报文打印、执行中任务强制取消的功能

---
 api/ErpController.cs |  119 +++++++++++++++++++----------------------------------------
 1 files changed, 38 insertions(+), 81 deletions(-)

diff --git a/api/ErpController.cs b/api/ErpController.cs
index 5eaecc6..a9d9dbb 100644
--- a/api/ErpController.cs
+++ b/api/ErpController.cs
@@ -25,16 +25,14 @@
         public IHttpActionResult InboundDataSync(InboundDataSyncInfo model) {
             LogHelper.Info("瑙﹀彂API锛氬叆搴撴暟鎹悓姝� + JsonConvert.SerializeObject(model), "API");
 
-            //var headers = Request.Headers; // 鏆備笉鑰冭檻瀵硅姹侶TTP杩涜鏍¢獙锛岄粯璁ゅ彂鏉ョ殑璇锋眰鏍煎紡閮芥纭�-
-            //return new ErpResult { errCode = 1, errMsg = "娴嬭瘯" };
-            //return CreateSuccessResponse(new ErpResult { errCode = 1, errMsg = "娴嬭瘯"});
-
             //var headers = Request.Headers;
-            //return ProcessInboundData(headers, model);
+            //var checkRes = CheckHeaders(headers);
+            //if (!checkRes.isSuccess) {
+            //    return CreateErrorResponse(checkRes.code, checkRes.message);
+            //}
 
-            //return ApiHelper.InboundDataSync(model);
-            return NormalProcessInboundData(model); // 鏆傛椂浣跨敤鍘熸湰鐨勯�杈�+            var res = ApiHelper.InboundDataSync(model);
+            return CreateSuccessResponse(res);
         }
 
         /// <summary>
@@ -48,32 +46,19 @@
             LogHelper.Info("瑙﹀彂API锛氬嚭搴撳彂鏂欏悓姝� + JsonConvert.SerializeObject(model), "API");
 
             //var headers = Request.Headers;
-            //return ProcessOutboundData(headers, model);
-
-            //return ApiHelper.OutboundDataSync(model);
-            return NormalProcessOutboundData(model); // 鏆傛椂浣跨敤鍘熸湰鐨勯�杈�+            //var checkRes = CheckHeaders(headers);
+            //if (!checkRes.isSuccess) {
+            //    return CreateErrorResponse(checkRes.code, checkRes.message);
+            //}
+            
+            var res = ApiHelper.OutboundDataSync(model);
+            return CreateSuccessResponse(res);
         }
 
-        private IHttpActionResult NormalProcessInboundData(InboundDataSyncInfo model) {
-            var data = ApiHelper.InboundDataSync(model);
-            return ResponseMessage(new HttpResponseMessage(HttpStatusCode.OK) {
-                Headers = { },
-                Content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json")
-            });
-        }
-
-        private IHttpActionResult NormalProcessOutboundData(OutboundDataSyncInfo model) {
-            var data = ApiHelper.OutboundDataSync(model);
-            return ResponseMessage(new HttpResponseMessage(HttpStatusCode.OK) {
-                Headers = { },
-                Content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json")
-            });
-        }
-
-        private IHttpActionResult ProcessInboundData(System.Net.Http.Headers.HttpRequestHeaders headers, InboundDataSyncInfo model) {
+        private CheckHeadersResult CheckHeaders(System.Net.Http.Headers.HttpRequestHeaders headers) {
             // 蹇呴』瀛楁楠岃瘉
             if (!headers.Contains("sourceAppCode") || !headers.Contains("serviceId") || !headers.Contains("msgSendTime")) {
-                return CreateErrorResponse("2003", "缂哄皯蹇呰璇锋眰澶村弬鏁�);
+                return CreateCheckHeadersResult(false, "2003", "缂哄皯蹇呰璇锋眰澶村弬鏁�);
             }
 
             var headerModel = new {
@@ -84,60 +69,18 @@
                 MsgSendTime = headers.GetValues("msgSendTime").First()
             };
 
-            // 2. 楠岃瘉Header
+            // 楠岃瘉Header
             var validationResult = ValidateHeaders(headerModel);
             if (validationResult != null) {
                 return validationResult;
             }
 
-            // 3. 璇诲彇Body
-            //string requestBody = await Request.Content.ReadAsStringAsync(); // 涓嶉渶瑕佸紓姝ヨ鍙栵紝鐩存帴鐢╩odel
-
-            // 4. 楠岃瘉Body
+            // 楠岃瘉Body
             if (Request.Content.Headers.ContentLength > 2 * 1024 * 1024) {
-                return CreateErrorResponse("2102", "娑堟伅鍐呭杩囬暱锛岃秴杩�M");
+                return CreateCheckHeadersResult(false, "2102", "娑堟伅鍐呭杩囬暱锛岃秴杩�M");
             }
 
-            // 5. 澶勭悊涓氬姟閫昏緫
-            var result = ApiHelper.InboundDataSync(model);
-
-            // 6. 杩斿洖鎴愬姛鍝嶅簲
-            return CreateSuccessResponse(result);
-        }
-
-        private IHttpActionResult ProcessOutboundData(System.Net.Http.Headers.HttpRequestHeaders headers, OutboundDataSyncInfo model) {
-            // 蹇呴』瀛楁楠岃瘉
-            if (!headers.Contains("sourceAppCode") || !headers.Contains("serviceId") || !headers.Contains("msgSendTime")) {
-                return CreateErrorResponse("2003", "缂哄皯蹇呰璇锋眰澶村弬鏁�);
-            }
-
-            var headerModel = new {
-                SourceAppCode = headers.GetValues("sourceAppCode").First(),
-                Password = headers.Contains("password") ? headers.GetValues("password").First() : null,
-                ServiceId = headers.GetValues("serviceId").First(),
-                MsgToken = headers.Contains("msgToken") ? headers.GetValues("msgToken").First() : null,
-                MsgSendTime = headers.GetValues("msgSendTime").First()
-            };
-
-            // 2. 楠岃瘉Header
-            var validationResult = ValidateHeaders(headerModel);
-            if (validationResult != null) {
-                return validationResult;
-            }
-
-            // 3. 璇诲彇Body
-            //string requestBody = await Request.Content.ReadAsStringAsync();
-
-            // 4. 楠岃瘉Body
-            if (Request.Content.Headers.ContentLength > 2 * 1024 * 1024) {
-                return CreateErrorResponse("2102", "娑堟伅鍐呭杩囬暱锛岃秴杩�M");
-            }
-
-            // 5. 澶勭悊涓氬姟閫昏緫
-            var result = ApiHelper.OutboundDataSync(model);
-
-            // 6. 杩斿洖鎴愬姛鍝嶅簲
-            return CreateSuccessResponse(result);
+            return CreateCheckHeadersResult(true);
         }
 
         private IHttpActionResult CreateSuccessResponse(object data) {
@@ -154,22 +97,22 @@
             });
         }
 
-        private IHttpActionResult ValidateHeaders(dynamic headers) {
+        private CheckHeadersResult ValidateHeaders(dynamic headers) {
             // 瀹炵幇鎵�湁Header楠岃瘉閫昏緫
             if (!IsRegisteredApp(headers.SourceAppCode, headers.Password)) {
-                return CreateErrorResponse("2201", "婧愯皟鐢ㄧ郴缁熸湭娉ㄥ唽");
+                return CreateCheckHeadersResult(false, "2201", "婧愯皟鐢ㄧ郴缁熸湭娉ㄥ唽");
             }
 
             if (!IsValidService(headers.ServiceId)) {
-                return CreateErrorResponse("2202", "浠g悊鏈嶅姟鏈敞鍐�);
+                return CreateCheckHeadersResult(false, "2202", "浠g悊鏈嶅姟鏈敞鍐�);
             }
 
             if (!IsValidDateTime(headers.MsgSendTime)) {
-                return CreateErrorResponse("2101", "鏃堕棿鏍煎紡鏍¢獙澶辫触");
+                return CreateCheckHeadersResult(false, "2101", "鏃堕棿鏍煎紡鏍¢獙澶辫触");
             }
 
             if (!string.IsNullOrEmpty(headers.MsgToken) && headers.MsgToken.Length > 32) {
-                return CreateErrorResponse("2104", "娑堟伅浠ょ墝杩囬暱锛岃秴杩�2浣�);
+                return CreateCheckHeadersResult(false, "2104", "娑堟伅浠ょ墝杩囬暱锛岃秴杩�2浣�);
             }
 
             return null;
@@ -186,5 +129,19 @@
         private bool IsValidDateTime(string dataTime) {
             return true;
         }
+
+        private CheckHeadersResult CreateCheckHeadersResult(bool isSuccess, string code = "", string message = "") {
+            return new CheckHeadersResult {
+                code = code,
+                message = message,
+                isSuccess = isSuccess
+            };
+        }
+    }
+
+    public class CheckHeadersResult {
+        public bool isSuccess { get; set; }
+        public string code { get; set; }
+        public string message { get; set; }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1