From f978872b6de4e7e20d992a2ee7cda902c11347b9 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期一, 30 六月 2025 15:31:56 +0800
Subject: [PATCH] 优化配置文件读取逻辑,将ERP反馈接口写入配置文件中配置

---
 core/Monitor.cs |  147 +++----------------------------------------------
 1 files changed, 9 insertions(+), 138 deletions(-)

diff --git a/core/Monitor.cs b/core/Monitor.cs
index b24ff54..0a93748 100644
--- a/core/Monitor.cs
+++ b/core/Monitor.cs
@@ -23,12 +23,7 @@
         public static void CheckInbound() {                
             var db = new SqlHelper<object>().GetInstance();
             var info = "";
-
-            const string taskName = TaskName.T鎵樼洏_婊℃墭涓嬬嚎鍏ュ簱;
-            const string startAreaName = AreaName.B鍖呰鍖�
-            const string endAreaName = AreaName.M婊℃墭璐ф灦鍖�
-            const string cntrType = "鎵樼洏";
-
+            
             try {
                 // 鏌ヤ骇绾挎槸鍚︽湁鐗╂枡淇℃伅
                 foreach (var prod in Settings.ProductionLines) {
@@ -65,103 +60,7 @@
                     var startLocCode = prod.OffLoc[0]; // 鐢ㄤ簬娴嬭瘯
                     //var startLocCode = "CX01"; // 鐢ㄤ簬娴嬭瘯
 
-                    var startLoc = db.Queryable<TN_Location>()
-                    .Where(l => l.S_CODE == startLocCode)
-                    .Where(l => Settings.AreaMap[startAreaName].Contains(l.S_AREA_CODE))
-                    .Where(l => l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == "鏃� && l.C_ENABLE == "Y")
-                    //.Where(l => l.N_CURRENT_NUM == 0) // 缁戝畾鍓�-                    .First();
-
-                    if (startLoc == null) {
-                        info = $"鍦�{startAreaName}'涓病鏈夋壘鍒拌捣鐐硅揣浣�{startLocCode}'锛屾垨涓嶆弧瓒宠姹傦細鏈笂閿併�褰撳墠瀹瑰櫒鏁伴噺=0";
-                        LogHelper.Info(info);
-                    }
-
-                    var locCntrRelOld = db.Queryable<TN_Loc_Container>()
-                        .Where(c => c.S_CNTR_CODE == cntrCode).First();
-
-                    // 缁戝畾璐т綅鍜屽鍣ㄥ彿
-                    var locCntrRel = new TN_Loc_Container {
-                        S_LOC_CODE = startLocCode,
-                        S_CNTR_CODE = cntrCode,
-                        S_CNTR_TYPE = cntrType,
-                    };
-
-                    startLoc.N_CURRENT_NUM = 1; // 缁戝畾鍚�-
-                    var endLoc = db.Queryable<TN_Location>()
-                        .Where(a => Settings.AreaMap[endAreaName].Contains(a.S_AREA_CODE))
-                        .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y") // 绛涢�锛氭湭涓婇攣
-                        .Where(a => a.N_CURRENT_NUM == 0) // 绛涢�锛氱┖璐т綅
-                        .OrderBy(l => l.N_LAYER)
-                        .First();
-
-                    if (endLoc == null) {
-                        info = $"鍦ㄧ粓鐐硅揣鍖�{endAreaName}'涓紝娌℃湁鎵惧埌鍚堥�鐨勩�缁堢偣璐т綅銆戯紝闇�婊¤冻瑕佹眰锛氭湭涓婇攣銆佸綋鍓嶅鍣ㄦ暟閲�0";
-                        LogHelper.Info(info);
-                    }
-
-                    var cntId = locCntrRel.S_CNTR_CODE;
-                    var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName);
-
-                    LocationHelper.LockStartLoc(ref startLoc); // 璧风偣鍑哄簱閿�-                    LocationHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿�-
-                    using (var tran = db.Ado.UseTran()) {
-                        if (locCntrRelOld != null) {
-                            if (db.Deleteable<TN_Loc_Container>(locCntrRelOld).ExecuteCommand() <= 0 &&
-                                db.Updateable<TN_Location>().SetColumns(l => l.N_CURRENT_NUM == 0).Where(l => l.S_CODE == locCntrRelOld.S_LOC_CODE).ExecuteCommand() <= 0) {
-                                tran.RollbackTran();
-                                info = $"鍒犻櫎鏃ц揣浣嶅鍣ㄥ叧绯昏〃澶辫触锛氳揣浣嶇紪鐮亄locCntrRelOld.S_LOC_CODE}锛屽鍣ㄧ紪鐮亄locCntrRelOld.S_CNTR_CODE}";
-                                LogHelper.Info(info);
-                                continue;
-                            }
-                        }
-
-                        if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) {
-                            tran.RollbackTran();
-                            info = $"鎻掑叆璐т綅瀹瑰櫒鍏崇郴琛ㄥけ璐ワ細璐т綅缂栫爜{locCntrRel.S_LOC_CODE}锛屽鍣ㄧ紪鐮亄locCntrRel.S_CNTR_CODE}";
-                            LogHelper.Info(info);
-                            continue;
-                        }
-
-                        if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new {
-                            it.N_LOCK_STATE,
-                            it.S_LOCK_STATE,
-                            it.S_LOCK_OP,
-                            it.T_MODIFY,
-                            it.N_CURRENT_NUM, // 璧风偣璐т綅缁戝畾鍚庯紝灏嗚揣浣嶇姸鎬佹洿鏂�-                        }).ExecuteCommand() <= 0) {
-                            tran.RollbackTran();
-                            info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂拌捣鐐硅揣浣峽startLoc.S_CODE}閿佺姸鎬佸け璐�;
-                            LogHelper.Info(info);
-                            continue;
-                        }
-
-                        if (db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new {
-                            it.N_LOCK_STATE,
-                            it.S_LOCK_STATE,
-                            it.S_LOCK_OP,
-                            it.T_MODIFY,
-                        }).ExecuteCommand() <= 0) {
-                            tran.RollbackTran();
-                            info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂扮粓鐐硅揣浣峽endLoc.S_CODE}閿佺姸鎬佸け璐�;
-                            LogHelper.Info(info);
-                            continue;
-                        }
-
-                        if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) {
-                            tran.RollbackTran();
-                            info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屼换鍔″彿={task.S_CODE}锛屽鍣ㄥ彿={cntId}锛岃捣鐐�{startLoc.S_CODE}锛岀粓鐐�{endLoc.S_CODE}";
-                            LogHelper.Info(info);
-                            continue;
-                        }
-
-                        tran.CommitTran();
-                        info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屼换鍔″彿={task.S_CODE}锛屽鍣ㄥ彿={cntId}锛岃捣鐐�{startLoc.S_CODE}锛岀粓鐐�{endLoc.S_CODE}";
-                        LogHelper.Info(info);
-                        continue;
-                    }
+                    WCSCore.CreateInboundTask(startLocCode, cntrCode);
                 }
 
             }
@@ -175,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>()
@@ -325,37 +225,6 @@
                     
                 }
 
-
-                //// BEG 鏌ユ壘6涓湀浠ュ墠鐨勪换鍔¤〃鍜屼换鍔″姩浣滆〃
-                //var oldTaskList = db.Queryable<TN_Task>()
-                //    .Where(t => t.T_MODIFY < DateTime.Now.AddMonths(-6))
-                //    .Where(t => t.N_B_STATE == 3 && t.S_B_STATE == "瀹屾垚")
-                //    .ToList();
-
-                //var oldTaskActionList = db.Queryable<TN_Task, TN_Task_Action>((t, a) => t.S_CODE == a.S_TASK_CODE)
-                //    .Where(t => t.T_MODIFY < DateTime.Now.AddMonths(-6))
-                //    .Where(t => t.N_B_STATE == 3 && t.S_B_STATE == "瀹屾垚")
-                //    .Select((t, a) => a)
-                //    .ToList();
-                //// END
-
-                //using (var tran = db.Ado.UseTran()) {
-                //    // 鍦ㄥ嚭搴撹疆璇腑澶勭悊锛屾煡鎵句换鍔″崟鏄惁鏈夊崐骞村墠涓斿凡缁忓畬鎴愮殑浠诲姟锛屽鏋滄湁鍒欏垹闄�-                //    // 杩欎釜鎿嶄綔涓嶅奖鍝嶆甯告祦绋嬶紝濡傛灉澶辫触涔熶笉闇�鍥炴粴
-                //    //if (db.Deleteable<TN_Task>()
-                //    //    .Where(t => t.T_MODIFY < DateTime.Now.AddMonths(-6))
-                //    //    .Where(t => t.N_B_STATE == 3 && t.S_B_STATE == "瀹屾垚")
-                //    //    .ExecuteCommand() <= 0) {
-                //    //    info = $"杞{taskName}鍗曟椂灏濊瘯鍒犻櫎鍗婂勾鍓嶇殑浠诲姟澶辫触";
-                //    //    LogHelper.Info(info);
-                //    //}
-                //    if (db.Deleteable<TN_Task>(oldTaskList).ExecuteCommand() <= 0
-                //        && db.Deleteable<TN_Task_Action>(oldTaskActionList).ExecuteCommand() <= 0) {
-                //        info = $"杞{taskName}鍗曟椂灏濊瘯鍒犻櫎鍗婂勾鍓嶇殑浠诲姟澶辫触";
-                //        LogHelper.Info(info);
-                //    }
-                //}
-
             }
             catch (Exception ex) {
                 info = $"杞锛歿taskName}锛氬彂鐢熶簡寮傚父锛歿ex.Message}";
@@ -367,7 +236,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>()
@@ -492,7 +362,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>()
@@ -700,7 +571,7 @@
                 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);
 

--
Gitblit v1.9.1