From 452b9b63ada7ef220952412613552d36ed477adc Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期一, 19 五月 2025 17:30:29 +0800
Subject: [PATCH] 测试,修复部分数据表问题

---
 Services/AgvService.cs |  120 ++++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 68 insertions(+), 52 deletions(-)

diff --git a/Services/AgvService.cs b/Services/AgvService.cs
index 2cbf5b8..5ce5195 100644
--- a/Services/AgvService.cs
+++ b/Services/AgvService.cs
@@ -143,72 +143,88 @@
             var endLoc = new TN_Location();
 
             var data = GZRobot.CustomBuf();
-            var weight = float.Parse(data[0].parameter_varchar200_up);
-            tn_task.F_WEIGHT = weight;
 
-            // 鍙綋涔嬪墠鎸囧畾缁堢偣璐ф灦鍚庯紝鎵嶅皾璇曡绠楃粓鐐硅揣浣嶏紝鍚﹀垯浜ょ粰浜哄伐鍐冲畾
-            if (tn_task.S_END_AREA != "") {
-                if (weight > 1500) {
-                    // 閲嶉噺瓒呰繃1.5t锛岄渶瑕侀�鎷�-3灞傝揣鏋�-                    endLoc = db.Queryable<TN_Location>().First(a => a.S_SHELF_CODE == tn_task.S_END_AREA && LocationHelper.IsFree(a) && a.N_CURRENT_NUM == 0 && a.N_HEIGHT <= 3);
-                }
-                else if (weight > 0) {
-                    // 閲嶉噺鏈秴杩�.5t锛屽湪鎸囧畾璐ф灦闅忎究閫夋嫨1涓�-                    endLoc = db.Queryable<TN_Location>().First(a => a.S_SHELF_CODE == tn_task.S_END_AREA && LocationHelper.IsFree(a) && a.N_CURRENT_NUM == 0);
-                }
-                else {
-                    // 娌℃湁鎺ユ敹鍒伴噸閲忥紝鎴栭噸閲忓嚭閿�-                    endLoc = null;
-                    LogHelper.Info($"閿欒鐨勯噸閲忎俊鎭細{weight}");
+            if (data.Count == 0) {
+                LogHelper.Info("璁剧疆缁堢偣璐т綅澶辫触锛氭病鏈夋帴鍙楀埌鏉ヨ嚜鍥借嚜AGV鐨勯噸閲忎俊鎭�);
+
+                //return;
+            }
+            else {
+                var weight = float.Parse(data[0].parameter_varchar200_up);
+                tn_task.F_WEIGHT = weight;
+
+                if (db.Updateable<TN_Task>(tn_task).UpdateColumns(it => it.F_WEIGHT).ExecuteCommand() <= 0) {
+                    LogHelper.Info("淇敼Task閲嶉噺澶辫触");
                     return;
                 }
+            }
 
-                // 濡傛灉娌℃湁绗﹀悎鏉′欢鐨勮揣浣嶏紝缃┖锛岀瓑寰匬DA閲嶆柊纭畾
-                if (endLoc == null) {
-                    tn_task.S_END_AREA = "";
-                    tn_task.S_END_LOC = "";
+            // 缁堢偣璐ф灦涓虹┖鏃讹紝涓嶅垽鏂紝浜ょ粰浜哄伐澶勭悊
+            if (tn_task.S_END_AREA == "") {
+                LogHelper.Info("缁堢偣璐ф灦涓虹┖锛屼笉澶勭悊");
+            }
 
-                    // 涓嶉渶瑕佸啀缁橤Z AGV浼犵┖鍊硷紝涓�紑濮嬪氨娌$粰鍏蜂綋璐т綅锛屽彧缁欎簡Area
+            // 鍙綋涔嬪墠鎸囧畾缁堢偣璐ф灦鍚庯紝鎵嶅皾璇曡绠楃粓鐐硅揣浣�+            if (tn_task.F_WEIGHT > 1500) {
+                // 閲嶉噺瓒呰繃1.5t锛岄渶瑕侀�鎷�-3灞傝揣鏋�+                endLoc = db.Queryable<TN_Location>().First(a => a.S_SHELF_CODE == tn_task.S_END_AREA && LocationHelper.IsFree(a) && a.N_CURRENT_NUM == 0 && a.N_LAYER <= 3);
+            }
+            else if (tn_task.F_WEIGHT > 0) {
+                // 閲嶉噺鏈秴杩�.5t锛屽湪鎸囧畾璐ф灦闅忎究閫夋嫨1涓�+                endLoc = db.Queryable<TN_Location>().First(a => a.S_SHELF_CODE == tn_task.S_END_AREA && LocationHelper.IsFree(a) && a.N_CURRENT_NUM == 0);
+            }
+            else {
+                // 娌℃湁鎺ユ敹鍒伴噸閲忥紝鎴栭噸閲忓嚭閿�+                endLoc = null;
+                LogHelper.Info($"閿欒鐨勯噸閲忎俊鎭細{tn_task.F_WEIGHT}");
+                return;
+            }
 
-                    //var request = new UpdateInteractInfo {
-                    //    interaction_info_id = 3, // 鏇存敼缁堢偣淇℃伅
-                    //    info_status = "active",
-                    //    return_value = "",
-                    //};
+            // 濡傛灉娌℃湁绗﹀悎鏉′欢鐨勮揣浣嶏紝缃┖锛岀瓑寰匬DA閲嶆柊纭畾
+            if (endLoc == null) {
+                tn_task.S_END_AREA = "";
+                tn_task.S_END_LOC = "";
 
-                    //GZRobot.UpdateInteractInfo(request);
+                // 涓嶉渶瑕佸啀缁橤Z AGV浼犵┖鍊硷紝涓�紑濮嬪氨娌$粰鍏蜂綋璐т綅锛屽彧缁欎簡Area
 
-                    using (var trans = db.Ado.UseTran()) {
-                        if (db.Updateable<TN_Task>(tn_task).UpdateColumns(it => new { it.S_END_LOC, it.F_WEIGHT })
-                            .ExecuteCommand() > 0) {
-                            //LocationHelper.LockLoc(endLoc.S_CODE, 1);//缁堢偣鍏ュ簱閿�+                //var request = new UpdateInteractInfo {
+                //    interaction_info_id = 3, // 鏇存敼缁堢偣淇℃伅
+                //    info_status = "active",
+                //    return_value = "",
+                //};
 
-                            trans.CommitTran();
-                            LogHelper.Info($"閲嶆柊璁$畻鍚庢病鏈夊悎閫傝揣浣嶏紝浠诲姟 {tn_task.S_CODE} 淇敼鎴愬姛锛屼慨鏀圭粓鐐硅揣鏋跺拰璐т綅涓虹┖");
-                        }
-                        else {
-                            trans.RollbackTran();
-                            LogHelper.Info($"閲嶆柊璁$畻鍚庢病鏈夊悎閫傝揣浣嶏紝浠诲姟 {tn_task.S_CODE} 淇敼澶辫触锛屼慨鏀圭粓鐐硅揣鏋跺拰璐т綅涓虹┖");
-                        }
+                //GZRobot.UpdateInteractInfo(request);
+
+                using (var trans = db.Ado.UseTran()) {
+                    if (db.Updateable<TN_Task>(tn_task).UpdateColumns(it => new { it.S_END_LOC, it.F_WEIGHT })
+                        .ExecuteCommand() > 0) {
+                        //LocationHelper.LockLoc(endLoc.S_CODE, 1);//缁堢偣鍏ュ簱閿�+
+                        trans.CommitTran();
+                        LogHelper.Info($"閲嶆柊璁$畻鍚庢病鏈夊悎閫傝揣浣嶏紝浠诲姟 {tn_task.S_CODE} 淇敼鎴愬姛锛屼慨鏀圭粓鐐硅揣鏋跺拰璐т綅涓虹┖");
+                    }
+                    else {
+                        trans.RollbackTran();
+                        LogHelper.Info($"閲嶆柊璁$畻鍚庢病鏈夊悎閫傝揣浣嶏紝浠诲姟 {tn_task.S_CODE} 淇敼澶辫触锛屼慨鏀圭粓鐐硅揣鏋跺拰璐т綅涓虹┖");
                     }
                 }
-                else {
-                    // 鎵惧埌鍚堥�鐨勮揣浣嶏紝鎺ㄩ�
-                    tn_task.S_END_LOC = endLoc.S_CODE;
+            }
+            else {
+                // 鎵惧埌鍚堥�鐨勮揣浣嶏紝鎺ㄩ�
+                tn_task.S_END_LOC = endLoc.S_CODE;
 
-                    using (var trans = db.Ado.UseTran()) {
-                        if (db.Updateable<TN_Task>(tn_task).UpdateColumns(it => new { it.S_END_LOC, it.F_WEIGHT })
-                            .ExecuteCommand() > 0) {
-                            LocationHelper.LockLoc(endLoc.S_CODE, 1);//缁堢偣鍏ュ簱閿�+                using (var trans = db.Ado.UseTran()) {
+                    if (db.Updateable<TN_Task>(tn_task).UpdateColumns(it => new { it.S_END_LOC, it.F_WEIGHT })
+                        .ExecuteCommand() > 0) {
+                        LocationHelper.LockLoc(endLoc.S_CODE, 1);//缁堢偣鍏ュ簱閿� 
-                            trans.CommitTran();
-                            LogHelper.Info($"璁$畻璐т綅鎴愬姛锛屼换鍔�{tn_task.S_CODE} 淇敼鎴愬姛锛岀粓鐐硅揣鏋朵负 {endLoc.S_SHELF_CODE}锛屼慨鏀圭粓鐐逛綅缃负 {endLoc.S_CODE}");
-                        }
-                        else {
-                            trans.RollbackTran();
+                        trans.CommitTran();
+                        LogHelper.Info($"璁$畻璐т綅鎴愬姛锛屼换鍔�{tn_task.S_CODE} 淇敼鎴愬姛锛岀粓鐐硅揣鏋朵负 {endLoc.S_SHELF_CODE}锛屼慨鏀圭粓鐐逛綅缃负 {endLoc.S_CODE}");
+                    }
+                    else {
+                        trans.RollbackTran();
 
-                            LogHelper.Info($"璁$畻璐т綅鎴愬姛锛屼换鍔�{tn_task.S_CODE} 淇敼澶辫触锛岀粓鐐硅揣鏋朵负 {endLoc.S_SHELF_CODE}锛屼慨鏀圭粓鐐逛綅缃负 {endLoc.S_CODE}");
-                        }
+                        LogHelper.Info($"璁$畻璐т綅鎴愬姛锛屼换鍔�{tn_task.S_CODE} 淇敼澶辫触锛岀粓鐐硅揣鏋朵负 {endLoc.S_SHELF_CODE}锛屼慨鏀圭粓鐐逛綅缃负 {endLoc.S_CODE}");
                     }
                 }
             }

--
Gitblit v1.9.1