From e79700d34620c495667b7b8e7b852f23ed7d7e4e Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期三, 16 七月 2025 17:30:42 +0800
Subject: [PATCH] 简化增删改表达式,避免类型匹配出错

---
 core/Monitor.cs |   69 +++++++++++++++++++---------------
 1 files changed, 39 insertions(+), 30 deletions(-)

diff --git a/core/Monitor.cs b/core/Monitor.cs
index 87fc655..4165a59 100644
--- a/core/Monitor.cs
+++ b/core/Monitor.cs
@@ -74,7 +74,8 @@
             var db = new SqlHelper<object>().GetInstance();
             var info = "";
 
-            const string taskName = TaskName.C鎴愬搧鑳跺嚭搴�
+            var taskInfo = Settings.GetTaskInfo(ETask.C鎴愬搧鑳跺嚭搴�;
+            var taskName = taskInfo.TaskName;
 
             try {
                 var orderList = db.Queryable<TN_Outbound_Order>()
@@ -101,7 +102,7 @@
 
                     if (doingCount == allCount) {
                         order.N_B_STATE = 2; // 鎵�湁浠诲姟閮藉凡鎵ц
-                        db.Updateable<TN_Outbound_Order>(order).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand();
+                        db.Updateable(order).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand();
                         continue;
                     }
 
@@ -162,21 +163,25 @@
 
                     var cntId = detail.S_CNTR_CODE;
 
-                    var erp_no = string.IsNullOrEmpty(detail.S_BS_NO) ? "" : detail.S_BS_NO;
-                    var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName, detail.S_OO_NO, erp_no);
+                    var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName);
+                    task.S_OP_CODE = detail.S_OO_NO;
+                    if (string.IsNullOrEmpty(detail.S_BS_NO)) {
+                        task.S_BS_NO = detail.S_BS_NO;
+                        task.S_BS_TYPE = "ERP";
+                    }
 
-                    LocationHelper.LockStartLoc(ref startLoc); // 璧风偣鍑哄簱閿�-                    LocationHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿�+                    WCSHelper.LockStartLoc(ref startLoc); // 璧风偣鍑哄簱閿�+                    WCSHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿� 
                     using (var tran = db.Ado.UseTran()) {
-                        if (db.Updateable<TN_Outbound_Detail>(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) {
+                        if (db.Updateable(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
                             info = $"杞锛歿taskName}锛氫慨鏀规槑缁嗚〃鐘舵�涓哄畬鎴�-澶辫触锛�;
                             LogHelper.Info(info);
                             continue;
                         }
 
-                        if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new {
+                        if (db.Updateable(startLoc).UpdateColumns(it => new {
                             it.N_LOCK_STATE,
                             it.S_LOCK_STATE,
                             it.S_LOCK_OP,
@@ -189,7 +194,7 @@
                             continue;
                         }
 
-                        if (db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new {
+                        if (db.Updateable(endLoc).UpdateColumns(it => new {
                             it.N_LOCK_STATE,
                             it.S_LOCK_STATE,
                             it.S_LOCK_OP,
@@ -201,7 +206,7 @@
                             continue;
                         }
 
-                        if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) {
+                        if (db.Insertable(task).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
                             info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屼换鍔″彿={task.S_CODE}锛屽鍣ㄥ彿={cntId}锛岃捣鐐�{startLoc.S_CODE}锛岀粓鐐�{endLoc.S_CODE}";
                             LogHelper.Info(info);
@@ -235,7 +240,8 @@
             var db = new SqlHelper<object>().GetInstance();
             var info = "";
 
-            const string taskName = TaskName.C鎶芥_鍑哄簱;
+            var taskInfo = Settings.GetTaskInfo(ETask.C鎶芥鍑哄簱);
+            var taskName = taskInfo.TaskName;
 
             try {
                 var orderList = db.Queryable<TN_Spot_Check>()
@@ -258,7 +264,7 @@
 
                     if (doingCount == allCount) {
                         order.N_B_STATE = 2; // 鎵�湁浠诲姟閮藉凡鎵ц
-                        db.Updateable<TN_Spot_Check>(order).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand();
+                        db.Updateable(order).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand();
                         continue;
                     }
 
@@ -300,19 +306,20 @@
                     detail.N_B_STATE = 2;
 
                     var cntId = detail.S_CNTR_CODE;
-                    var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName, detail.S_OO_NO);
+                    var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName);
+                    task.S_OP_CODE = detail.S_OO_NO;
 
-                    LocationHelper.LockStartLoc(ref startLoc); // 璧风偣鍑哄簱閿�-                    LocationHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿�+                    WCSHelper.LockStartLoc(ref startLoc); // 璧风偣鍑哄簱閿�+                    WCSHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿� 
                     using (var tran = db.Ado.UseTran()) {
-                        if (db.Updateable<TN_SpotCheck_Detail>(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) {
+                        if (db.Updateable(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
                             LogHelper.Info($"杞锛歿taskName}锛氫慨鏀箋taskName}鍗曟槑缁嗚〃鐘舵�涓哄畬鎴�-澶辫触锛�);
                             continue;
                         }
 
-                        if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new {
+                        if (db.Updateable(startLoc).UpdateColumns(it => new {
                             it.N_LOCK_STATE,
                             it.S_LOCK_STATE,
                             it.S_LOCK_OP,
@@ -325,7 +332,7 @@
                             continue;
                         }
 
-                        if (db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new {
+                        if (db.Updateable(endLoc).UpdateColumns(it => new {
                             it.N_LOCK_STATE,
                             it.S_LOCK_STATE,
                             it.S_LOCK_OP,
@@ -337,7 +344,7 @@
                             continue;
                         }
 
-                        if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) {
+                        if (db.Insertable(task).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
                             info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屼换鍔″彿={task.S_CODE}锛屽鍣ㄥ彿={cntId}锛岃捣鐐�{startLoc.S_CODE}锛岀粓鐐�{endLoc.S_CODE}";
                             LogHelper.Info(info);
@@ -360,7 +367,8 @@
             var db = new SqlHelper<object>().GetInstance();
             var info = "";
 
-            const string taskName = TaskName.Y绉诲簱;
+            var taskInfo = Settings.GetTaskInfo(ETask.Y绉诲簱);
+            var taskName = taskInfo.TaskName;
 
             try {
                 var orderList = db.Queryable<TN_Relocation_List>()
@@ -383,7 +391,7 @@
 
                     if (doingCount == allCount) {
                         order.N_B_STATE = 2; // 鎵�湁浠诲姟閮藉凡鎵ц
-                        db.Updateable<TN_Relocation_List>(order).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand();
+                        db.Updateable(order).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand();
                         continue;
                     }
 
@@ -429,19 +437,20 @@
                     detail.N_B_STATE = 2;
 
                     var cntId = detail.S_CNTR_CODE;
-                    var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName, detail.S_OO_NO);
+                    var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName);
+                    task.S_OP_CODE = detail.S_OO_NO;
 
-                    LocationHelper.LockStartLoc(ref startLoc); // 璧风偣鍑哄簱閿�-                    LocationHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿�+                    WCSHelper.LockStartLoc(ref startLoc); // 璧风偣鍑哄簱閿�+                    WCSHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿� 
                     using (var tran = db.Ado.UseTran()) {
-                        if (db.Updateable<TN_RelocationList_Detail>(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) {
+                        if (db.Updateable(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
                             LogHelper.Info($"杞锛歿taskName}锛氫慨鏀箋taskName}鍗曟槑缁嗚〃鐘舵�涓哄畬鎴�-澶辫触锛�);
                             continue;
                         }
 
-                        if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new {
+                        if (db.Updateable(startLoc).UpdateColumns(it => new {
                             it.N_LOCK_STATE,
                             it.S_LOCK_STATE,
                             it.S_LOCK_OP,
@@ -454,7 +463,7 @@
                             continue;
                         }
 
-                        if (db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new {
+                        if (db.Updateable(endLoc).UpdateColumns(it => new {
                             it.N_LOCK_STATE,
                             it.S_LOCK_STATE,
                             it.S_LOCK_OP,
@@ -466,7 +475,7 @@
                             continue;
                         }
 
-                        if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) {
+                        if (db.Insertable(task).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
                             info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屼换鍔″彿={task.S_CODE}锛屽鍣ㄥ彿={cntId}锛岃捣鐐�{startLoc.S_CODE}锛岀粓鐐�{endLoc.S_CODE}";
                             LogHelper.Info(info);
@@ -568,14 +577,14 @@
                 model.ph = cgDetail.S_BATCH_NO;
 
                 var jsonInfo = JsonConvert.SerializeObject(model);
-                var result = httpH.WebPost(Settings.ErpApiUrl + "CreateTaskReturn", jsonInfo);
+                var result = httpH.WebPost(Settings.ErpApiUrl + Settings.ErpRoute.CreateTaskReturn, jsonInfo);
 
                 LogHelper.InfoApi($"鍒涘缓浠诲姟瀹屾垚鍙嶉ERP鎺ュ彛锛岀粨鏋�{result}锛岃皟鐢ㄥ弬鏁帮細", model);
 
                 plan.HW = model.hw;
                 plan.HWZT = model.hwzt;
                 plan.PH = model.ph;
-                var success = db.Updateable<TN_Outbound_Plan>(plan).UpdateColumns(p => new { p.HW, p.HWZT, p.PH }).ExecuteCommand() > 0;
+                var success = db.Updateable(plan).UpdateColumns(p => new { p.HW, p.HWZT, p.PH }).ExecuteCommand() > 0;
                 info = "鏇存柊鍑哄簱璁″垝鍗曡褰曡〃" + (success ? "鎴愬姛" : "澶辫触");
                 LogHelper.Info(info);
             }

--
Gitblit v1.9.1