From 2aa6ffae020b4dab66ac30ee4436346aa15ff3cb Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期二, 15 七月 2025 17:26:54 +0800 Subject: [PATCH] 修复绑定解绑可能导致的信息丢失问题 --- core/WCSCore.cs | 56 +++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 37 insertions(+), 19 deletions(-) diff --git a/core/WCSCore.cs b/core/WCSCore.cs index 63ae73d..dbc691f 100644 --- a/core/WCSCore.cs +++ b/core/WCSCore.cs @@ -103,6 +103,7 @@ break; case 2: // 瀹屾垚 WCSHelper.End(TN_Task); // 浠诲姟鐘舵�鏀规垚缁撴潫 + break; case 7: // 寮傚父 TaskProcess.OperateStatus(TN_Task, 7); // 寮傚父澶勭悊 @@ -167,7 +168,9 @@ //cgDetail.F_QTY = 0; // 涓嶈缃负绌猴紝渚夸簬娴嬭瘯鏃堕鍏堣缃竴涓甯稿� } else { - var weight = float.Parse(data[0].parameter_varchar200_up); + var weight_str = data[0].parameter_varchar200_up.Split(';')[1].Split('-')[1]; + + var weight = float.Parse(weight_str); cgDetail.F_QTY = weight; tn_task.F_WEIGHT = weight; @@ -204,6 +207,8 @@ return; } + //row -= 100; // 111-118 => 1-8 + // 鍙綋涔嬪墠鎸囧畾缁堢偣璐ф灦鍚庯紝鎵嶅皾璇曡绠楃粓鐐硅揣浣� if (cgDetail.F_QTY > 2000) { // 閲嶉噺瓒呰繃 2t @@ -211,18 +216,23 @@ LogHelper.Info("閲嶉噺瓒呰繃2t锛屼笉鍏佽鍏ュ簱"); // 浼犻�缁欏浗鑷狝GV - if (GZRobot.UpdateInteractInfo(new UpdateInteractInfo { - type_name = "GET_DST", - interaction_info_id = int.Parse(tn_task.S_EQ_TASK_CODE), - info_status = "error", - })) { - LogHelper.Info($"鍥借嚜AGV鎺ュ彈瓒呴噸鍙栨秷淇℃伅鎴愬姛", "HosttoagvTask"); + if (GZRobot.TryGetInteractionInfoId(tn_task.S_CODE, out var id1)) { + if (GZRobot.UpdateInteractInfo(new UpdateInteractInfo { + type_name = "GET_DST", + interaction_info_id = id1, + info_status = "error", + })) { + LogHelper.Info($"鍥借嚜AGV鎺ュ彈瓒呴噸鍙栨秷淇℃伅鎴愬姛", "HosttoagvTask"); + } + else { + LogHelper.Info($"鍥借嚜AGV鎺ュ彈瓒呴噸鍙栨秷淇℃伅澶辫触", "HosttoagvTask"); + } } else { - LogHelper.Info($"鍥借嚜AGV鎺ュ彈瓒呴噸鍙栨秷淇℃伅澶辫触", "HosttoagvTask"); + LogHelper.Info($"AGV锛氳幏鍙栦换鍔tn_task.S_CODE}鐨刬nteraction_info_id澶辫触锛�, "HosttoagvTask"); } - return; + return; // 瓒呴噸浼氳嚜宸眗eturn锛屽鏋滃浗鑷猘gv娌℃帴鍙楀埌涔熶笉闇�鎻愬墠return } else if (cgDetail.F_QTY > 1500) { // 閲嶉噺瓒呰繃1.5t锛岄渶瑕侀�鎷�-2灞傝揣鏋�@@ -245,7 +255,7 @@ // 濡傛灉娌℃湁绗﹀悎鏉′欢鐨勮揣浣嶏紝缃┖锛岀瓑寰匬DA閲嶆柊纭畾 if (endLoc == null) { - tn_task.S_END_AREA = Settings.Areas[1][0]; // HJQ + tn_task.S_END_AREA = Settings.Areas[AreaIndex.H璐ф灦鍖篯[0]; // HJQ tn_task.S_END_LOC = "0"; // 涓嶉渶瑕佸啀缁橤Z AGV浼犵┖鍊硷紝涓�紑濮嬪氨娌$粰鍏蜂綋璐т綅锛屽彧缁欎簡Area @@ -272,16 +282,23 @@ LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿� // 浼犻�缁欏浗鑷狝GV - if (GZRobot.UpdateInteractInfo(new UpdateInteractInfo { - type_name = "GET_DST", - interaction_info_id = int.Parse(tn_task.S_EQ_TASK_CODE), - info_status = "invalid", - return_value = LocationHelper.GetAgvSite(tn_task.S_END_LOC), // 鐩墠浣跨敤agvsite - })) { - LogHelper.Info($"鍥借嚜AGV鎺ュ彈缁堢偣淇℃伅鎴愬姛", "HosttoagvTask"); + if (GZRobot.TryGetInteractionInfoId(tn_task.S_CODE, out var id2)) { + if (GZRobot.UpdateInteractInfo(new UpdateInteractInfo { + type_name = "GET_DST", + interaction_info_id = id2, + info_status = "invalid", + return_value = LocationHelper.GetAgvSite(tn_task.S_END_LOC), // 鐩墠浣跨敤agvsite + })) { + LogHelper.Info($"鍥借嚜AGV鎺ュ彈缁堢偣淇℃伅鎴愬姛", "HosttoagvTask"); + } + else { + LogHelper.Info($"鍥借嚜AGV鎺ュ彈缁堢偣淇℃伅澶辫触", "HosttoagvTask"); + return; + } } else { - LogHelper.Info($"鍥借嚜AGV鎺ュ彈缁堢偣淇℃伅澶辫触", "HosttoagvTask"); + LogHelper.Info($"AGV锛氳幏鍙栦换鍔tn_task.S_CODE}鐨刬nteraction_info_id澶辫触锛�, "HosttoagvTask"); + return; } using (var tran = db.Ado.UseTran()) { @@ -329,8 +346,9 @@ LogHelper.Info("鏇存柊鐗╂枡閲嶉噺澶辫触锛氭病鏈夋帴鍙楀埌鏉ヨ嚜鍥借嚜AGV鐨勯噸閲忎俊鎭�); return; } + var weight_str = data[0].parameter_varchar200_up.Split(';')[1].Split('-')[1]; - var weight = float.Parse(data[0].parameter_varchar200_up); + var weight = float.Parse(weight_str); cgDetail.F_QTY = weight; if (db.Updateable<TN_CG_Detail>(cgDetail).UpdateColumns(it => it.F_QTY).ExecuteCommand() <= 0) { -- Gitblit v1.9.1