From c4e968254a4f1c5d538a9fd91284b4843ea08198 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期五, 23 五月 2025 10:44:58 +0800
Subject: [PATCH] 内部联调,修复问题,添加取消任务功能

---
 core/WCSCore.cs |   44 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 35 insertions(+), 9 deletions(-)

diff --git a/core/WCSCore.cs b/core/WCSCore.cs
index cd27dda..61e832b 100644
--- a/core/WCSCore.cs
+++ b/core/WCSCore.cs
@@ -74,7 +74,7 @@
                     if (TN_Task.S_TYPE == TaskName.浜у搧鍏ュ簱 || TN_Task.S_TYPE == TaskName.浜у搧閮ㄥ垎鍥炲簱) {
                         var captureTask = Task.Run(() => {
                             CapturePic(TN_Task);
-                            LogHelper.Info("鎷嶇収Task缁撴潫");
+                            LogHelper.Info($"{TN_Task}锛氭媿鐓ask缁撴潫");
                         });
                     }
 
@@ -170,10 +170,27 @@
                 else {
                     var weight = float.Parse(data[0].parameter_varchar200_up);
                     cgDetail.F_QTY = weight;
+                    tn_task.F_WEIGHT = weight;
 
-                    if (db.Updateable<TN_CG_Detail>(cgDetail).UpdateColumns(it => it.F_QTY).ExecuteCommand() <= 0) {
-                        LogHelper.Info("淇敼鐗╂枡琛ㄩ噸閲忓け璐�);
-                        return;
+                    using (var tran = db.Ado.UseTran()) {
+                        if (db.Updateable<TN_CG_Detail>(cgDetail).UpdateColumns(it => it.F_QTY).ExecuteCommand() <= 0) {
+                            tran.RollbackTran();
+                            LogHelper.Info("淇敼鐗╂枡琛ㄩ噸閲忓け璐�);
+                            return;
+                        }
+
+                        if (db.Updateable<TN_Task>(tn_task).UpdateColumns(it => it.F_WEIGHT).ExecuteCommand() <= 0) {
+                            tran.RollbackTran();
+                            LogHelper.Info("淇敼浠诲姟琛ㄩ噸閲忓け璐�);
+                            return;
+                        }
+
+                        tran.CommitTran();
+                    }
+
+                    LogHelper.Info($"淇敼浠诲姟鍙穥tn_task.S_CODE}鐗╂枡閲嶉噺涓簕weight}", "HosttoagvTask");
+                    if (weight > 2000) {
+                        LogHelper.Info($"鐗╂枡閲嶉噺瓒呰繃2t", "HosttoagvTask");
                     }
                 }
 
@@ -189,16 +206,23 @@
                 }
 
                 // 鍙綋涔嬪墠鎸囧畾缁堢偣璐ф灦鍚庯紝鎵嶅皾璇曡绠楃粓鐐硅揣浣�-                if (cgDetail.F_QTY > 1500) {
-                    // 閲嶉噺瓒呰繃1.5t锛岄渶瑕侀�鎷�-3灞傝揣鏋�+                if (cgDetail.F_QTY > 2000) {
+                    // 閲嶉噺瓒呰繃 2t 
+                    endLoc = null;
+                    LogHelper.Info("閲嶉噺瓒呰繃2t锛屼笉鍏佽鍏ュ簱");
+                    return;
+                }
+                else if (cgDetail.F_QTY > 1500) {
+                    // 閲嶉噺瓒呰繃1.5t锛岄渶瑕侀�鎷�-2灞傝揣鏋�                     endLoc = db.Queryable<TN_Location>()
-                        .First(a => a.N_ROW == row && a.N_LAYER <= 3
+                        .First(a => a.N_ROW == row && a.N_LAYER <= 2
                         && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y");
                 }
                 else if (cgDetail.F_QTY > 0) {
                     // 閲嶉噺鏈秴杩�.5t锛屽湪鎸囧畾璐ф灦闅忎究閫夋嫨1涓�-                    endLoc = db.Queryable<TN_Location>().First(a => a.N_ROW == row
-                        && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y");
+                    endLoc = db.Queryable<TN_Location>().Where(a => a.N_ROW == row
+                        && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y")
+                        .OrderBy(a => a.N_LAYER > 2 ? 0 : 1).First(); // 浼樺厛閫夊眰绾ч珮鐨�                 }
                 else {
                     // 娌℃湁鎺ユ敹鍒伴噸閲忥紝鎴栭噸閲忓嚭閿�@@ -290,6 +314,8 @@
                     return;
                 }
 
+                LogHelper.Info($"淇敼浠诲姟鍙穥tn_task.S_CODE}鐗╂枡閲嶉噺涓簕weight}", "HosttoagvTask");
+
             }
             catch (Exception ex) {
                 LogHelper.Info($"鍙戠敓浜嗛敊璇細{ex.Message}");

--
Gitblit v1.9.1