From 1b6bf29ff7daa1987de65940af52f452cabd6881 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期二, 15 七月 2025 17:27:50 +0800
Subject: [PATCH] 优化AGV任务部分日志、货位绑定内部方法

---
 core/WCSCore.cs |   91 ++++++++++++++++-----------------------------
 1 files changed, 32 insertions(+), 59 deletions(-)

diff --git a/core/WCSCore.cs b/core/WCSCore.cs
index 72fe0ce..a683ebd 100644
--- a/core/WCSCore.cs
+++ b/core/WCSCore.cs
@@ -22,29 +22,20 @@
 namespace HH.WCS.Mobox3.DSZSH.core {
     public class WCSCore {
         public static ReturnResult OperateAgvTaskStatus(AgvTaskState model) {
-            var result = new ReturnResult();
+            const string preLog = "AGV锛氫换鍔$姸鎬佸洖鎶ワ細";
             try {
                 if (model.state > 0) {
                     // AGV 鎵ц浠诲姟鐨勯�杈戝鐞�                     if (!AgvTaskProcessOk(model)) {
                         // 鎵ц涓峅K锛岃鏄庢病鏈夋壘鍒颁换鍔�-                        result.ResultCode = 1;
-                        result.ResultMsg = $"鏍规嵁Model.No鏈壘鍒板搴旂殑浠诲姟锛寋model.task_no}";
-                        LogHelper.Info(result.ResultMsg, "API");
-                        return result;
+                        return NewReturnResult(1, preLog + $"鏍规嵁浠诲姟鍙�{model.task_no}'鏈壘鍒板搴旂殑浠诲姟锛�);
                     }
                 }
 
-                result.ResultCode = 0;
-                result.ResultMsg = "success";
-                LogHelper.Info(result.ResultMsg, "API");
-                return result;
+                return NewReturnResult(0, "success"); // 涓嶈繑鍥炶缁嗘垚鍔熸棩蹇楋紝閬垮厤NDC浠sg=success浣滀负鎴愬姛鍒ゅ畾锛堝弬鑰冨浗鑷級
             }
             catch (Exception ex) {
-                result.ResultCode = -1;
-                result.ResultMsg = $"鍙戠敓浜嗗紓甯革細{ex.Message}";
-                LogHelper.Info(result.ResultMsg, "Error");
-                return result;
+                return NewReturnResult(-1, $"鍙戠敓浜嗗紓甯革細{ex.Message}\n{ex.StackTrace}");
             }
 
         }
@@ -147,7 +138,7 @@
 
                 var isInbound = false; // 鍏ュ簱绫诲瀷鐨勪换鍔★紙鍖呮嫭绉诲簱绫讳换鍔★級
                 var inboundTasks = new List<string> {
-                    ETask.M婊℃墭涓嬬嚎鍏ュ簱.Name(), ETask.K绌虹鍏ュ簱.Name(), ETask.M婊℃墭涓嬬嚎鍏ュ簱.Name(), ETask.K绌烘墭鍏ュ簱.Name(),
+                    ETask.M婊℃墭涓嬬嚎鍏ュ簱.Name(), ETask.M婊$涓嬬嚎鍏ュ簱.Name(), ETask.K绌烘墭鍏ュ簱.Name(), ETask.K绌虹鍏ュ簱.Name(),
                     ETask.C鎶芥鍚堟牸鍥炲簱.Name(), ETask.C鎶芥涓嶅悎鏍肩Щ搴�Name(), ETask.Y绉诲簱.Name()
                 };
                 if (inboundTasks.Contains(task.S_TYPE)) {
@@ -204,7 +195,7 @@
         /// <returns></returns>
         public static ReturnResult SafetyInteraction(SafetyInteractionInfo model) {
             var db = new SqlHelper<object>().GetInstance();
-            var info = "";
+            const string preLog = "AGV锛氫骇绾垮畨鍏ㄤ氦浜掞細";
 
             try {
                 ModbusHelper.Relink();
@@ -214,24 +205,18 @@
                     .Where(l => BZQ.Contains(l.S_AREA_CODE) && l.S_AGV_SITE == model.station_name).First();
 
                 if (loc == null) {
-                    info = $"AGV 绔欑偣{model.station_name}涓嶆槸鍚堟硶鐨勪骇绾挎帴椹充綅绔欑偣";
-                    LogHelper.Info(info);
-                    return NewReturnResult(1, info);
+                    return NewReturnResult(1, preLog + $"AGV 绔欑偣{model.station_name}涓嶆槸鍚堟硶鐨勪骇绾挎帴椹充綅绔欑偣");
                 }
 
                 if (!Settings.LocProdIdMap.TryGetValue(loc.S_CODE, out var prodIndex)) {
-                    info = $"AGV 绔欑偣{model.station_name}涓嶆槸鍚堟硶鐨勪骇绾挎帴椹充綅绔欑偣";
-                    LogHelper.Info(info);
-                    return NewReturnResult(1, info);
+                    return NewReturnResult(1, preLog + $"AGV 绔欑偣{model.station_name}涓嶆槸鍚堟硶鐨勪骇绾挎帴椹充綅绔欑偣");
                 }
 
                 var prodLineInfo = Settings.ProductionLines[prodIndex];
 
                 var prodLineDevice = new ProductionLineDevice(prodLineInfo);
                 if (!prodLineDevice.LoadDeviceStateOk()) {
-                    info = "涓庝骇绾胯澶囬�璁け璐�;
-                    LogHelper.Info(info);
-                    return NewReturnResult(2, info);
+                    return NewReturnResult(2, preLog + "涓庝骇绾胯澶囬�璁け璐�);
                 }
 
                 //var tn_task = db.Queryable<TN_Task>().First(a => a.S_CODE == model.task_no);
@@ -248,56 +233,40 @@
                 //}
 
                 if (prodLineDevice.SystemState != 1) {
-                    info = $"褰撳墠浜х嚎鏃犳硶涓嶢GV鑱斿姩锛氱姸鎬亄prodLineDevice.SystemState}";
-                    LogHelper.Info(info);
-                    return NewReturnResult(3, info);
+                    return NewReturnResult(3, preLog + $"褰撳墠浜х嚎鏃犳硶涓嶢GV鑱斿姩锛氱姸鎬亄prodLineDevice.SystemState}");
                 }
 
-                if (model.apply_code == "5") { // 璇锋眰鍙栬揣
+                // 璇锋眰鍙栬揣
+                if (model.apply_code == "5") {
                     if (prodLineDevice.FullOffline != 1) {
-                        info = $"褰撳墠杈撻�绾挎弧鏂欎笅绾夸俊鍙蜂笉涓�锛屾棤娉曞彇璐�;
-                        LogHelper.Info(info);
-                        return NewReturnResult(4, info);
+                        return NewReturnResult(4, preLog + $"褰撳墠杈撻�绾挎弧鏂欎笅绾夸俊鍙蜂笉涓�锛屾棤娉曞彇璐�);
                     }
                     
                     if (!prodLineDevice.SetAgvPicking(1)) {
-                        info = $"鍚戣緭閫佺嚎鍐欏叆鍏佽鍙栬揣淇″彿澶辫触";
-                        LogHelper.Info(info);
-                        return NewReturnResult(5, info);
+                        return NewReturnResult(5, preLog + $"鍚戣緭閫佺嚎鍐欏叆鍏佽鍙栬揣淇″彿澶辫触");
                     }
                     
-                    info = $"鍚戣緭閫佺嚎鍐欏叆鍏佽鍙栬揣淇″彿鎴愬姛";
-                    LogHelper.Info(info);
-                    return NewReturnResult(0, info);
+                    return NewReturnResult(0, preLog + $"鍚戣緭閫佺嚎鍐欏叆鍏佽鍙栬揣淇″彿鎴愬姛");
                 }
-                else if (model.apply_code == "1") { // 璇锋眰鍗歌揣
+                // 璇锋眰鍗歌揣
+                else if (model.apply_code == "1") {
                     if (prodLineDevice.AllowAgvPlacePallet != 1) {
-                        info = $"褰撳墠杈撻�绾垮厑璁告斁鎵樼洏淇″彿涓嶄负1锛屾棤娉曟斁璐�;
-                        LogHelper.Info(info);
-                        return NewReturnResult(6, info);
+                        return NewReturnResult(6, preLog + $"褰撳墠杈撻�绾垮厑璁告斁鎵樼洏淇″彿涓嶄负1锛屾棤娉曟斁璐�);
                     }
 
                     if (!prodLineDevice.SetAgvPlacingPallet(1)) {
-                        info = $"鍚戣緭閫佺嚎鍐欏叆鍏佽鏀捐揣淇″彿澶辫触";
-                        LogHelper.Info(info);
-                        return NewReturnResult(7, info);
+                        return NewReturnResult(7, preLog + $"鍚戣緭閫佺嚎鍐欏叆鍏佽鏀捐揣淇″彿澶辫触");
                     }
 
-                    info = $"鍚戣緭閫佺嚎鍐欏叆鍏佽鏀捐揣淇″彿鎴愬姛";
-                    LogHelper.Info(info);
-                    return NewReturnResult(0, info);
+                    return NewReturnResult(0, preLog + $"鍚戣緭閫佺嚎鍐欏叆鍏佽鏀捐揣淇″彿鎴愬姛");
                 }
                 else {
-                    info = $"褰撳墠AGV璇锋眰鐮佷笉涓�5鍙栬揣 鎴�1鍗歌揣";
-                    LogHelper.Info(info);
-                    return NewReturnResult(8, info);
+                    return NewReturnResult(8, preLog + $"褰撳墠AGV璇锋眰鐮佷笉涓�5鍙栬揣 鎴�1鍗歌揣");
                 }
 
             }
             catch (Exception ex) {
-                info = $"鍙戠敓浜嗗紓甯革細{ex.Message}";
-                LogHelper.InfoEx(ex);
-                return NewReturnResult(1, info);
+                return NewReturnResult(1, preLog + $"鍙戠敓浜嗗紓甯革細{ex.Message}\n{ex.StackTrace}");
             }
         }
 
@@ -425,7 +394,7 @@
                 model.hwzt = "宸插嚭搴�;
 
                 var jsonInfo = JsonConvert.SerializeObject(model);
-                var result = httpH.WebPost(Settings.ErpApiUrl + "PickUpReturn", jsonInfo);
+                var result = httpH.WebPost(Settings.ErpApiUrl + Settings.ErpRoute.PickUpReturn, jsonInfo);
 
                 LogHelper.InfoApi($"鍙栬揣瀹屾垚鍙嶉ERP鎺ュ彛锛岀粨鏋�{result}锛岃皟鐢ㄥ弬鏁帮細", model);
 
@@ -464,7 +433,7 @@
         // TCP 闈炶疆璇㈡柟寮�妯℃嫙浜х嚎涓嬬嚎鐨勫皾璇� 
         public static void StartServer() {
-            var ListenPort = 6000;
+            var ListenPort = Settings.TcpServerPort;
             TcpListener listener = new TcpListener(IPAddress.Any, ListenPort);
             listener.Start();
             Console.WriteLine($"鍚庡彴鏈嶅姟宸插惎鍔紝鐩戝惉绔彛 {ListenPort}...");
@@ -578,8 +547,8 @@
                 var cntId = locCntrRel.S_CNTR_CODE;
                 var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName);
 
-                LocationHelper.LockStartLoc(ref startLoc); // 璧风偣鍑哄簱閿�-                LocationHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿�+                WCSHelper.LockStartLoc(ref startLoc); // 璧风偣鍑哄簱閿�+                WCSHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿� 
                 using (var tran = db.Ado.UseTran()) {
                     if (locCntrRelOld != null) {
@@ -638,11 +607,15 @@
                 }
             }
             catch (Exception ex) {
-                LogHelper.InfoEx(ex);
-                return new Result<bool>(false, ex.Message);
+                return NewResult(false, ex.Message);
             }
         }
 
+        private static Result<bool> NewResult(bool res, string msg, bool log = true) {
+            if (log) { LogHelper.Info(msg); }
+            return new Result<bool>(res, msg);
+        }
+
     }
 
     public class ProductCompletedMessage {

--
Gitblit v1.9.1