From 6ed44f32c96a17fd10601a24c3c36ca1229bc89b Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期四, 17 七月 2025 17:18:12 +0800
Subject: [PATCH] 优化货位绑定图片链接保存逻辑,删除不使用的代码

---
 core/WCSCore.cs |  100 +++++++++++++++++++++++++++++++++-----------------
 1 files changed, 66 insertions(+), 34 deletions(-)

diff --git a/core/WCSCore.cs b/core/WCSCore.cs
index 8cebf87..16a7910 100644
--- a/core/WCSCore.cs
+++ b/core/WCSCore.cs
@@ -14,8 +14,9 @@
 
 namespace HH.WCS.Mobox3.AnGang.core
 {
-    internal class WCSCore
-    {
+    internal class WCSCore {
+        public static string AgvState = string.Empty;
+
         public static ReturnResult OperateAgvTaskStatus(AgvTaskState model) {
             var result = new ReturnResult();
             try {
@@ -103,6 +104,7 @@
                     break;
                 case 2: // 瀹屾垚
                     WCSHelper.End(TN_Task); // 浠诲姟鐘舵�鏀规垚缁撴潫
+
                     break;
                 case 7: // 寮傚父
                     TaskProcess.OperateStatus(TN_Task, 7); // 寮傚父澶勭悊
@@ -126,13 +128,12 @@
                     return;
                 }
 
-                //if (db.Updateable<TN_Loc_Container>()
-                //    .SetColumns(d => d.S_IMG_URL == filepath)
-                //    .Where(d => d.S_CNTR_CODE == model.S_CNTR_CODE).ExecuteCommand() <= 0) {
+                if (db.Updateable<TN_Loc_Container>().SetColumns(d => d.S_IMG_URL == filepath).Where(d => d.S_CNTR_CODE == model.S_CNTR_CODE).ExecuteCommand() <= 0 &&
+                    db.Updateable<TN_CG_Detail>().SetColumns(d => d.S_EXT_ATTR5 == filepath).Where(d => d.S_CNTR_CODE == model.S_CNTR_CODE).ExecuteCommand() <= 0) { // FIX: SNAP
 
-                //    LogHelper.Info($"鍥剧墖URL '{filepath}' 鍐欏叆鏁版嵁搴撳け璐�);
-                //    return;
-                //}
+                    LogHelper.Info($"鍥剧墖URL '{filepath}' 鍐欏叆鏁版嵁搴撳け璐�);
+                    return;
+                }
             }
             catch (Exception ex) {
                 LogHelper.Info($"鍙戠敓浜嗛敊璇細{ex.Message}");
@@ -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灞傝揣鏋�@@ -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) {
@@ -350,22 +368,18 @@
         /// <summary>
         /// 浠诲姟鍒嗗彂锛屾牴鎹皟搴︾被鍨嬪彂缁欎笉鍚岀殑璋冨害绯荤粺
         /// </summary>
-        internal static void Dispatch()
-        {
+        internal static void Dispatch() {
             //鏌ヨ浠诲姟
             //鑾峰彇鎵�湁绛夊緟鐨勪换鍔�             var list = WCSHelper.GetWaitingTaskList();
             LogHelper.Info("绛夊緟浠诲姟淇℃伅" + JsonConvert.SerializeObject(list), "API");
-            if (list.Count > 0)
-            {
-                list.ForEach(task =>
-                {
+            if (list.Count > 0) {
+                list.ForEach(task => {
                     //浣跨敤鑷畾涔変换鍔℃帹閫�                     TaskProcess.SendTask(task);//璋冨害NDC鎴栨澀濂ユ垨鍥借嚜璁惧
                 });
             }
-            else
-            {
+            else {
                 LogHelper.Info("鏆傛棤浠诲姟");
             }
         }
@@ -379,5 +393,23 @@
             // 鐩墠璇ラ」鐩病鏈夌珯鍙板畨鍏ㄤ氦浜掔殑鍔熻兘
             return gzResult;
         }
+
+        public static string agvRealtimeStateReport(agvRealtimeStateReportInfo model) {
+            var res = string.Empty;
+            switch (model.agvStatusID) {
+                case 1: res = "in_system"; break;
+                case 2: res = "out_system"; break;
+                case 3: res = "online"; break;
+                case 4: res = "offline"; break;
+                case 5: res = "ready"; break;
+                case 6: res = "not_ready"; break;
+                case 7: res = "in_dispatch"; break;
+                case 8: res = "out_dispatch"; break;
+                case 9: res = "running"; break;
+                case 10: res = "not_running"; break;
+            }
+            AgvState = res;
+            return res;
+        }
     }
 }

--
Gitblit v1.9.1