From 74ca5a83f24c53c48ad7e6f5b7739649fb411546 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期四, 17 七月 2025 17:19:53 +0800
Subject: [PATCH] 优化部分日志和未使用代码

---
 core/Monitor.cs |  414 ++++++++++++++++++++++++++--------------------------------
 1 files changed, 187 insertions(+), 227 deletions(-)

diff --git a/core/Monitor.cs b/core/Monitor.cs
index 0f935e1..4165a59 100644
--- a/core/Monitor.cs
+++ b/core/Monitor.cs
@@ -4,11 +4,11 @@
 using System.Text;
 using System.Threading.Tasks;
 
+using HH.WCS.Mobox3.DSZSH.api;
 using HH.WCS.Mobox3.DSZSH.device;
 using HH.WCS.Mobox3.DSZSH.models;
 using HH.WCS.Mobox3.DSZSH.util;
 using HH.WCS.Mobox3.DSZSH.wms;
-using Microsoft.Win32;
 
 using Newtonsoft.Json;
 
@@ -20,10 +20,10 @@
             public string cntr_code { get; set; }
         }
 
-        public static void CheckInbound() {
-            var taskName = TaskName.T鎵樼洏_婊℃墭涓嬬嚎鍏ュ簱;
+        public static void CheckInbound() {                
             var db = new SqlHelper<object>().GetInstance();
             var info = "";
+            
             try {
                 // 鏌ヤ骇绾挎槸鍚︽湁鐗╂枡淇℃伅
                 foreach (var prod in Settings.ProductionLines) {
@@ -53,151 +53,14 @@
 
                     LogHelper.Info(JsonConvert.SerializeObject(data));
 
-                    var itemCode = data.item_code;
-                    var batchNo = data.batch_no;
+                    //var itemCode = data.item_code;
+                    //var batchNo = data.batch_no;
                     var cntrCode = data.cntr_code;
 
                     var startLocCode = prod.OffLoc[0]; // 鐢ㄤ簬娴嬭瘯
                     //var startLocCode = "CX01"; // 鐢ㄤ簬娴嬭瘯
 
-                    var cgDetail = new TN_CG_Detail {
-                        S_ITEM_CODE = itemCode,
-                        S_BATCH_NO = batchNo,
-                        S_CNTR_CODE = cntrCode,
-                    };
-
-                    // BEG 姣忔杞閮芥鏌ュ搴斿鍣ㄦ槸鍚﹀凡鐧昏锛岀櫥璁板垯鏇存柊锛屾湭鐧昏鍒欐彃鍏�-                    var cntrItemRel = db.Queryable<TN_Container_ItemType>()
-                        .Where(i => i.S_CNTR_CODE == cntrCode).First();
-
-                    var insertTable = cntrItemRel == null;
-
-                    if (insertTable) {
-                        // 鏆傚畾鍦ㄦ弧鎵樹笅绾垮叆搴撶殑鏃跺�锛岀櫥璁版墭鐩樺鍣�鐗╂枡鍙峰叧绯伙紙鍚庨潰鍙兘浼氭敼鎴愮郴缁熺淮鎶わ級
-                        cntrItemRel = new TN_Container_ItemType {
-                            S_ITEM_CODE = itemCode,
-                            S_CNTR_CODE = cntrCode,
-                            S_CNTR_TYPE = "鎵樼洏",
-                        };
-                    }
-                    // END
-
-                    var startLoc = db.Queryable<TN_Location>()
-                        .Where(l => l.S_CODE == startLocCode) // 鎸囧畾锛氳捣鐐硅揣浣嶅彿
-                        .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 = $"璧风偣浣嶇疆 '{startLocCode}' 涓嶅瓨鍦ㄦ垨涓嶅叿澶囧彇璐ц姹�;
-                        LogHelper.Info(info);
-                        continue;
-                        //return;
-                    }
-
-                    // 缁戝畾璐т綅鍜屽鍣ㄥ彿
-                    var locCntrRel = new TN_Loc_Container {
-                        S_LOC_CODE = startLocCode,
-                        S_CNTR_CODE = cgDetail.S_CNTR_CODE,
-                        S_CNTR_TYPE = "鎵樼洏",
-                    };
-
-                    //if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) {
-                    //    info = $"鎻掑叆璐т綅瀹瑰櫒鍏崇郴澶辫触锛� + JsonConvert.SerializeObject(locCntrRel);
-                    //    LogHelper.Info(info);
-                    //    continue;
-                    //    //return;
-                    //}
-
-                    var endLoc = db.Queryable<TN_Location>()
-                        .Where(a => Settings.AreaMap[AreaName.K绌烘墭瀛樻斁鍖篯.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 = "绌烘墭鍏ュ簱鏆傛椂娌℃湁鍚堥�鐨勮揣浣嶅彲浠ュ叆搴�;
-                        LogHelper.Info(info);
-                        continue;
-                    }
-
-                    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 (db.Insertable<TN_CG_Detail>(cgDetail).ExecuteCommand() <= 0) {
-                            tran.RollbackTran();
-                            info = $"鎻掑叆瀹瑰櫒璐у搧淇℃伅琛ㄥけ璐ワ細鐗╂枡缂栫爜{cgDetail.S_ITEM_CODE}锛屽鍣ㄧ紪鐮亄cgDetail.S_CNTR_CODE}";
-                            LogHelper.Info(info);
-                            continue;
-                        }
-
-                        // BEG 鎻掑叆鎴栨洿鏂板鍣ㄤ笌鐗╂枡绫诲瀷鐨勭粦瀹氳〃
-                        if (insertTable) {
-                            if (db.Insertable<TN_Container_ItemType>(cntrItemRel).ExecuteCommand() <= 0) {
-                                tran.RollbackTran();
-                                info = $"鐧昏瀹瑰櫒鐗╂枡绫诲瀷缁戝畾琛ㄥけ璐ワ細鐗╂枡缂栫爜{cntrItemRel.S_ITEM_CODE}锛屽鍣ㄧ紪鐮亄cntrItemRel.S_CNTR_CODE}";
-                                LogHelper.Info(info);
-                                continue;
-                            }
-                        }
-                        else {
-                            if (db.Updateable<TN_Container_ItemType>(cntrItemRel).ExecuteCommand() <= 0) {
-                                tran.RollbackTran();
-                                info = $"鐧昏瀹瑰櫒鐗╂枡绫诲瀷缁戝畾琛ㄥけ璐ワ細鐗╂枡缂栫爜{cntrItemRel.S_ITEM_CODE}锛屽鍣ㄧ紪鐮亄cntrItemRel.S_CNTR_CODE}";
-                                LogHelper.Info(info);
-                                continue;
-                            }
-                        }
-                        // END
-
-                        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
-                        }).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}'澶辫触锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}";
-                            LogHelper.Info(info);
-                            continue;
-                        }
-
-                        tran.CommitTran();
-                        info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}";
-                        LogHelper.Info(info);
-                        continue;
-                    }
+                    WCSCore.CreateInboundTask(startLocCode, cntrCode);
                 }
 
             }
@@ -211,7 +74,8 @@
             var db = new SqlHelper<object>().GetInstance();
             var info = "";
 
-            var taskName = TaskName.C鎴愬搧鑳跺嚭搴�
+            var taskInfo = Settings.GetTaskInfo(ETask.C鎴愬搧鑳跺嚭搴�;
+            var taskName = taskInfo.TaskName;
 
             try {
                 var orderList = db.Queryable<TN_Outbound_Order>()
@@ -225,6 +89,8 @@
                     return;
                 }
 
+                Console.WriteLine(JsonConvert.SerializeObject(orderList)); // TEST
+
                 var detailList = new List<TN_Outbound_Detail>();
                 foreach (var order in orderList) {
                     var doingCount = db.Queryable<TN_Outbound_Detail>()
@@ -236,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;
                     }
 
@@ -296,87 +162,72 @@
                     detail.N_B_STATE = 2;
 
                     var cntId = detail.S_CNTR_CODE;
-                    var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName);
 
-                    LocationHelper.LockStartLoc(ref startLoc); // 璧风偣鍑哄簱閿�-                    LocationHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿�+                    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";
+                    }
+
+                    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,
-                            it.T_MODIFY
+                            it.T_MODIFY,
+                            it.N_CURRENT_NUM, // 璧风偣璐т綅缁戝畾鍚庯紝灏嗚揣浣嶇姸鎬佹洿鏂�                         }).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
-                            info = $"杞锛歿taskName}锛氱敓鎴愪换鍔�{taskName}'澶辫触锛氭洿鏂拌捣鐐硅揣浣峽startLoc.S_CODE}閿佺姸鎬佸け璐�;
+                            info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂拌捣鐐硅揣浣峽startLoc.S_CODE}閿佺姸鎬佸け璐�;
                             LogHelper.Info(info);
                             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,
-                            it.T_MODIFY
+                            it.T_MODIFY,
                         }).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
-                            info = $"杞锛歿taskName}锛氱敓鎴愪换鍔�{taskName}'澶辫触锛氭洿鏂扮粓鐐硅揣浣峽endLoc.S_CODE}閿佺姸鎬佸け璐�;
+                            info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂扮粓鐐硅揣浣峽endLoc.S_CODE}閿佺姸鎬佸け璐�;
                             LogHelper.Info(info);
                             continue;
                         }
 
-                        if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) {
+                        if (db.Insertable(task).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
-                            info = $"杞锛歿taskName}锛氱敓鎴愪换鍔�{taskName}'澶辫触锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}";
+                            info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屼换鍔″彿={task.S_CODE}锛屽鍣ㄥ彿={cntId}锛岃捣鐐�{startLoc.S_CODE}锛岀粓鐐�{endLoc.S_CODE}";
                             LogHelper.Info(info);
                             continue;
                         }
 
                         tran.CommitTran();
-                        info = $"杞锛歿taskName}锛氱敓鎴愪换鍔�{taskName}'鎴愬姛锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}";
+                        info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屼换鍔″彿={task.S_CODE}锛屽鍣ㄥ彿={cntId}锛岃捣鐐�{startLoc.S_CODE}锛岀粓鐐�{endLoc.S_CODE}";
                         LogHelper.Info(info);
-                        continue;
+                        //continue;
                     }
+
+                    // 濡傛灉褰撳墠鍑哄簱鍗曟槑缁嗘槸ERP涓嬪彂鐨勶紝浠诲姟鍒涘缓瀹屾垚鍙嶉璐т綅淇℃伅
+                    if (detail.S_BS_TYPE == "ERP") {
+                        //var createTaskReturnErpTask = Task.Run(() => {
+                        //    CreateTaskReturnErp(task);
+                        //});
+                        CreateTaskReturnErp(task);
+                    }
+                    
                 }
-
-
-                //// 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) {
@@ -389,7 +240,8 @@
             var db = new SqlHelper<object>().GetInstance();
             var info = "";
 
-            var taskName = TaskName.C鎶芥_鍑哄簱;
+            var taskInfo = Settings.GetTaskInfo(ETask.C鎶芥鍑哄簱);
+            var taskName = taskInfo.TaskName;
 
             try {
                 var orderList = db.Queryable<TN_Spot_Check>()
@@ -408,11 +260,11 @@
                         .Count(d => d.S_OO_NO == order.S_NO && d.N_B_STATE >= 2); // 鎵ц涓�                     var allCount = db.Queryable<TN_SpotCheck_Detail>()
                         .Count(d => d.S_OO_NO == order.S_NO);
-                    LogHelper.Info($"杞--{taskName}--缁熻{taskName}鍗�{order.S_NO}'浠诲姟宸蹭笅鍙戯細{doingCount}/{allCount}");
+                    LogHelper.Info($"杞锛歿taskName}锛氱粺璁taskName}鍗�{order.S_NO}'浠诲姟宸蹭笅鍙戯細{doingCount}/{allCount}");
 
                     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;
                     }
 
@@ -421,7 +273,7 @@
                         .ToList();
 
                     if (checkDetailList.Count == 0) {
-                        LogHelper.Info($"杞--{taskName}--浠嶆湁浠诲姟鏈墽琛屽畬鎴愶紝浣嗗綋鍓嶆病鏈夊凡涓嬪彂鐨勪换鍔�);
+                        LogHelper.Info($"杞锛歿taskName}锛氫粛鏈変换鍔℃湭鎵ц瀹屾垚锛屼絾褰撳墠娌℃湁宸蹭笅鍙戠殑浠诲姟");
                         continue;
                     }
 
@@ -437,7 +289,7 @@
                         .First();
 
                     if (startLoc == null) {
-                        LogHelper.Info($"杞--{taskName}锛氭病鏈夋壘鍒板悎閫傜殑璧风偣璐т綅锛�);
+                        LogHelper.Info($"杞锛歿taskName}锛氭病鏈夋壘鍒板悎閫傜殑璧风偣璐т綅锛�);
                         continue;
                     }
 
@@ -447,7 +299,7 @@
                         .Where(a => a.N_CURRENT_NUM == 0).First();
 
                     if (endLoc == null) {
-                        LogHelper.Info($"杞--{taskName}锛氭病鏈夋壘鍒板悎閫傜殑缁堢偣璐т綅锛�);
+                        LogHelper.Info($"杞锛歿taskName}锛氭病鏈夋壘鍒板悎閫傜殑缁堢偣璐т綅锛�);
                         continue;
                     }
 
@@ -455,22 +307,24 @@
 
                     var cntId = detail.S_CNTR_CODE;
                     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}鍗曟槑缁嗚〃鐘舵�涓哄畬鎴�-澶辫触锛�);
+                            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,
-                            it.T_MODIFY
+                            it.T_MODIFY,
+                            it.N_CURRENT_NUM, // 璧风偣璐т綅缁戝畾鍚庯紝灏嗚揣浣嶇姸鎬佹洿鏂�                         }).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
                             info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂拌捣鐐硅揣浣峽startLoc.S_CODE}閿佺姸鎬佸け璐�;
@@ -478,11 +332,11 @@
                             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,
-                            it.T_MODIFY
+                            it.T_MODIFY,
                         }).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
                             info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂扮粓鐐硅揣浣峽endLoc.S_CODE}閿佺姸鎬佸け璐�;
@@ -490,15 +344,15 @@
                             continue;
                         }
 
-                        if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) {
+                        if (db.Insertable(task).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
-                            info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}";
+                            info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屼换鍔″彿={task.S_CODE}锛屽鍣ㄥ彿={cntId}锛岃捣鐐�{startLoc.S_CODE}锛岀粓鐐�{endLoc.S_CODE}";
                             LogHelper.Info(info);
                             continue;
                         }
 
                         tran.CommitTran();
-                        info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}";
+                        info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屼换鍔″彿={task.S_CODE}锛屽鍣ㄥ彿={cntId}锛岃捣鐐�{startLoc.S_CODE}锛岀粓鐐�{endLoc.S_CODE}";
                         LogHelper.Info(info);
                         continue;
                     }
@@ -509,10 +363,13 @@
             }
         }
 
-        public static void CheckShiftOrder() {
-            var taskName = TaskName.Y绉诲簱;
+        public static void CheckShiftOrder() {                
             var db = new SqlHelper<object>().GetInstance();
             var info = "";
+
+            var taskInfo = Settings.GetTaskInfo(ETask.Y绉诲簱);
+            var taskName = taskInfo.TaskName;
+
             try {
                 var orderList = db.Queryable<TN_Relocation_List>()
                     .Where(c => c.N_B_STATE == 1)
@@ -520,7 +377,7 @@
                     .ToList();
 
                 if (orderList.Count == 0) {
-                    LogHelper.Info($"杞--{taskName}--鏆傛棤寰呮墽琛岀殑{taskName}鍗�);
+                    LogHelper.Info($"杞锛歿taskName}锛氭殏鏃犲緟鎵ц鐨剓taskName}鍗�);
                     return;
                 }
 
@@ -530,11 +387,11 @@
                         .Count(d => d.S_OO_NO == order.S_NO && d.N_B_STATE >= 2); // 鎵ц涓�                     var allCount = db.Queryable<TN_RelocationList_Detail>()
                         .Count(d => d.S_OO_NO == order.S_NO);
-                    LogHelper.Info($"杞--{taskName}--缁熻{taskName}鍗�{order.S_NO}'浠诲姟宸蹭笅鍙戯細{doingCount}/{allCount}");
+                    LogHelper.Info($"杞锛歿taskName}锛氱粺璁taskName}鍗�{order.S_NO}浠诲姟宸蹭笅鍙戯細{doingCount}/{allCount}");
 
                     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;
                     }
 
@@ -543,7 +400,7 @@
                         .ToList();
 
                     if (checkDetailList.Count == 0) {
-                        LogHelper.Info($"杞--{taskName}--浠嶆湁浠诲姟鏈墽琛屽畬鎴愶紝浣嗗綋鍓嶆病鏈夊凡涓嬪彂鐨勪换鍔�);
+                        LogHelper.Info($"杞锛歿taskName}锛氫粛鏈変换鍔℃湭鎵ц瀹屾垚锛屼絾褰撳墠娌℃湁宸蹭笅鍙戠殑浠诲姟");
                         continue;
                     }
 
@@ -561,7 +418,8 @@
                         .First();
 
                     if (startLoc == null) {
-                        LogHelper.Info($"杞--{taskName}锛氭病鏈夋壘鍒板悎閫傜殑璧风偣璐т綅锛�);
+                        info = $"杞锛歿taskName}锛氭病鏈夋壘鍒板鍣ㄥ彿={detail.S_CNTR_CODE}鐨勮捣鐐硅揣浣嶏紒闇�婊¤冻锛氭湭涓婇攣銆佸綋鍓嶅鍣ㄦ暟閲�1";
+                        LogHelper.Info(info);
                         continue;
                     }
 
@@ -571,7 +429,8 @@
                         .Where(a => a.N_CURRENT_NUM == 0).First();
 
                     if (endLoc == null) {
-                        LogHelper.Info($"杞--{taskName}锛氭病鏈夋壘鍒板悎閫傜殑缁堢偣璐т綅锛�);
+                        info = $"杞锛歿taskName}锛氭病鏈夋壘鍒扮粓鐐硅揣浣�{detail.S_END_AREA}鐨勭粓鐐硅揣浣嶏紒闇�婊¤冻锛氭湭涓婇攣銆佸綋鍓嶅鍣ㄦ暟閲�0";
+                        LogHelper.Info(info);
                         continue;
                     }
 
@@ -579,22 +438,24 @@
 
                     var cntId = detail.S_CNTR_CODE;
                     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}鍗曟槑缁嗚〃鐘舵�涓哄畬鎴�-澶辫触锛�);
+                            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,
-                            it.T_MODIFY
+                            it.T_MODIFY,
+                            it.N_CURRENT_NUM, // 璧风偣璐т綅缁戝畾鍚庯紝灏嗚揣浣嶇姸鎬佹洿鏂�                         }).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
                             info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂拌捣鐐硅揣浣峽startLoc.S_CODE}閿佺姸鎬佸け璐�;
@@ -602,11 +463,11 @@
                             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,
-                            it.T_MODIFY
+                            it.T_MODIFY,
                         }).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
                             info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂扮粓鐐硅揣浣峽endLoc.S_CODE}閿佺姸鎬佸け璐�;
@@ -614,15 +475,15 @@
                             continue;
                         }
 
-                        if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) {
+                        if (db.Insertable(task).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
-                            info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}";
+                            info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屼换鍔″彿={task.S_CODE}锛屽鍣ㄥ彿={cntId}锛岃捣鐐�{startLoc.S_CODE}锛岀粓鐐�{endLoc.S_CODE}";
                             LogHelper.Info(info);
                             continue;
-                        }
+                        }   
 
                         tran.CommitTran();
-                        info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}";
+                        info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屼换鍔″彿={task.S_CODE}锛屽鍣ㄥ彿={cntId}锛岃捣鐐�{startLoc.S_CODE}锛岀粓鐐�{endLoc.S_CODE}";
                         LogHelper.Info(info);
                         continue;
                     }
@@ -632,5 +493,104 @@
                 LogHelper.InfoEx(ex);
             }
         }
+
+        public static void CreateTaskReturnErp(TN_Task task) {
+            var db = new SqlHelper<object>().GetInstance();
+            var info = "";
+            var httpH = new HttpHelper();
+
+            try {
+                var plan = db.Queryable<TN_Outbound_Plan>()
+                    .Where(p => p.JHDH == task.S_BS_NO)
+                    .First();
+
+                if (plan == null) {
+                    info = $"璁″垝鍗曞彿{task.S_BS_NO}涓嶅瓨鍦紒";
+                    LogHelper.Info(info);
+                }
+
+                var cgDetail = db.Queryable<TN_CG_Detail>()
+                    .Where(d => d.S_CNTR_CODE == task.S_CNTR_CODE)
+                    .First();
+
+                if (cgDetail == null) {
+                    info = $"鐗╂枡缂栫爜涓嶅瓨鍦紒";
+                    LogHelper.Info(info);
+                }
+
+                var model = new OtherModel.CreateTaskReturnErpInfo {
+                    jhdh = plan.JHDH , // 璁″垝鍗曞彿锛堝敮涓�爣璇嗭級
+                    ckzt = plan.CKZT , // 鍑哄簱鐘舵�锛堥渶瑕佽繑鍥烇級
+                    jhlb = plan.JHLB , // 璁″垝绫诲埆
+                    ckdh = plan.CKDH , // 鍙傝�鍗曞彿
+                    cph = plan.CPH , // 杞︾墝鍙�+                    ysfs = plan.YSFS , // 杩愯緭鏂瑰紡
+                    cpzt = plan.CPZT , // 浜у搧鐘舵�
+                    mddw = plan.MDDW , // 涔版柇鍗曚綅
+                    cpdm = plan.CPDM , // 浜у搧浠g爜
+                    cplb = plan.CPLB , // 浜у搧绫诲埆
+                    cplbmx = plan.CPLBMX , // 浜у搧绫诲埆鏄庣粏
+                    pp = plan.PP , // 鍝佺墝
+                    dj = plan.DJ , // 绛夌骇锛堥渶瑕佽繑鍥烇級
+                    gh = plan.GH , // 缃愬彿
+                    ph = plan.PH , // 鎵瑰彿锛堥渶瑕佽繑鍥烇級
+                    bzlx = plan.BZLX , // 鍖呰绫诲瀷
+                    pzdh = plan.PZDH , // 娲捐鍗曞彿
+                    pzd_dw = plan.PZD_DW , // 娲捐鍗曞崟浣�+                    pzd_dybh = plan.PZD_DYBH , // 娲捐鍗曡皟杩愮紪鍙�+                    pzjs = plan.PZJS , // 娲捐浠舵暟
+                    pzsl = plan.PZSL , // 娲捐鏁伴噺
+                    pz_rq = plan.PZ_RQ , // 娲捐鏃ユ湡(yyyy-mm-dd)
+                    pz_czrq = plan.PZ_CZRQ , // 娲捐鎿嶄綔鏃ユ湡
+                    pz_zfbj = plan.PZ_ZFBJ , // 娲捐浣滃簾鏍囪
+                    pz_zfrq = plan.PZ_ZFRQ , // 娲捐浣滃簾鏃ユ湡
+                    pz_bz = plan.PZ_BZ , // 娲捐澶囨敞
+                    ckdbh = plan.CKDBH , // 鍑哄簱鍗曠紪鍙�+                    //sfjs = plan.SFJS , // 瀹炲彂浠舵暟锛堥渶瑕佽繑鍥烇級
+                    //sfsl = plan.SFSL , // 瀹炲彂鏁伴噺锛堥渶瑕佽繑鍥烇級
+                    //sfcs = plan.SFCS , // 瀹炲彂杞︽暟锛堥渶瑕佽繑鍥烇級
+                    //zcsj = plan.ZCSJ , // 瑁呰溅鏃堕棿锛堥渶瑕佽繑鍥烇級
+                    //jldw = plan.JLDW , // 璁¢噺鍗曚綅锛堥渶瑕佽繑鍥烇級
+                    //fhrq = plan.FHRQ , // 鍙戣揣鏃ユ湡锛堥渶瑕佽繑鍥烇級
+                    //ckdm = plan.CKDM , // 浠撳簱浠g爜锛堥渶瑕佽繑鍥烇級
+                    //fhr = plan.FHR , // 鍙戣揣浜猴紙闇�杩斿洖锛�+                    //czydm = plan.CZYDM , // 鎿嶄綔鍛橈紙闇�杩斿洖锛�+                    shr_username = plan.SHR_USERNAME , // 瀹℃牳浜�+                    shrq = plan.SHRQ , // 瀹℃牳鏃ユ湡
+                    zfbj = plan.ZFBJ , // 浣滃簾鏍囪
+                    zfrq = plan.ZFRQ , // 浣滃簾鏃ユ湡
+                    jsdw = plan.JSDW , // 缁撶畻鍗曚綅
+                    shdw = plan.SHDW , // 鏀惰揣鍗曚綅
+                    ysdw = plan.YSDW , // 杩愯緭鍗曚綅
+                    lxr = plan.LXR , // 鑱旂郴浜�+                    //ry_zxg = plan.RY_ZXG , // 瑁呭嵏宸ワ紙闇�杩斿洖锛�+                    //ry_ccsj = plan.RY_CCSJ , // 鍙夎溅鍙告満锛堥渶瑕佽繑鍥烇級
+                    erphx_jhdh = plan.ERPHX_JHDH , // erp浜よ揣鍗曞彿
+                    erphx_wlbm = plan.ERPHX_WLBM , // erp鐗╂枡缂栫爜
+                    erphx_wlmc = plan.ERPHX_WLMC , // erp鐗╂枡鍚嶇О
+                    erphx_cjrq = plan.ERPHX_CJRQ , // erp鍒涘缓鏃ユ湡
+                    hw = plan.HW , // 璐т綅锛堥渶瑕佽繑鍥烇級
+                    hwzt  = plan.HWZT // 璐т綅鐘舵�锛堥渶瑕佽繑鍥烇級
+                };
+                model.hw = task.S_START_LOC;
+                model.hwzt = "寰呭嚭搴�;
+                model.ph = cgDetail.S_BATCH_NO;
+
+                var jsonInfo = JsonConvert.SerializeObject(model);
+                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(plan).UpdateColumns(p => new { p.HW, p.HWZT, p.PH }).ExecuteCommand() > 0;
+                info = "鏇存柊鍑哄簱璁″垝鍗曡褰曡〃" + (success ? "鎴愬姛" : "澶辫触");
+                LogHelper.Info(info);
+            }
+            catch (Exception ex) {
+                LogHelper.InfoEx(ex);
+            }
+        }
     }
 }

--
Gitblit v1.9.1