From 0e829f4a5321c10900e1f4130a80f2e8c804a08e Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期四, 19 六月 2025 17:30:47 +0800
Subject: [PATCH] 修复取消订单和更改终点货区流程与国自AGV交互的部分细节问题

---
 api/DebugController.cs                                                               |  151 ---------
 dispatch/GZRobot.cs                                                                  |   22 +
 core/Monitor.cs                                                                      |  208 ++++++------
 api/ErpController.cs                                                                 |    9 
 api/ApiHelper.cs                                                                     |  513 ++++++++++++++++----------------
 .vs/HH.WCS.Mobox3.AnGang/FileContentIndex/88ff7190-7304-453c-8d3d-4144359d0c9e.vsidx |    0 
 process/TaskProcess.cs                                                               |   11 
 core/WCSCore.cs                                                                      |   33 -
 8 files changed, 393 insertions(+), 554 deletions(-)

diff --git a/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/88ff7190-7304-453c-8d3d-4144359d0c9e.vsidx b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/88ff7190-7304-453c-8d3d-4144359d0c9e.vsidx
new file mode 100644
index 0000000..edd9348
--- /dev/null
+++ b/.vs/HH.WCS.Mobox3.AnGang/FileContentIndex/88ff7190-7304-453c-8d3d-4144359d0c9e.vsidx
Binary files differ
diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs
index 5bf38d4..a5e3514 100644
--- a/api/ApiHelper.cs
+++ b/api/ApiHelper.cs
@@ -3,6 +3,8 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+
+using HH.WCS.Mobox3.AnGang.dispatch;
 using HH.WCS.Mobox3.AnGang.models;
 using HH.WCS.Mobox3.AnGang.util;
 using HH.WCS.Mobox3.AnGang.wms;
@@ -105,11 +107,11 @@
             }
         }
 
-        //internal static string GenerateNo(string snType, string prefix) {
-        //    var id = SYSHelper.GetSerialNumber(snType, prefix);
-        //    var date = DateTime.Now.ToString("yyMMdd");
-        //    return $"TN{date}{id.ToString().PadLeft(4, '0')}";
-        //}
+        internal static string GenerateNo(string snType, string prefix) {
+            var id = SYSHelper.GetSerialNumber(snType, prefix);
+            var date = DateTime.Now.ToString("yyMMdd");
+            return $"{prefix}{date}-{id.ToString().PadLeft(5, '0')}"; // 褰㈠锛欳N250525-00011
+        }
 
         /// <summary>
         /// PDA閫夋嫨缁堢偣璐т綅
@@ -183,13 +185,13 @@
                 using (var tran = db.Ado.UseTran()) {
                     if (db.Updateable<TN_Task>(task).UpdateColumns(a => a.S_END_LOC).ExecuteCommand() <= 0) {
                         tran.RollbackTran();
-                        return BuildSimpleResult(7, $"浠诲姟{task.S_CODE}淇敼澶辫触锛屼慨鏀圭粓鐐逛綅缃负{endLoc.S_CODE}");
+                        return BuildSimpleResult(500, $"浠诲姟{task.S_CODE}淇敼澶辫触锛屼慨鏀圭粓鐐逛綅缃负{endLoc.S_CODE}");
                     }
 
                     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();
-                        return BuildSimpleResult(7, $"浠诲姟{task.S_CODE}淇敼澶辫触锛屼慨鏀圭粓鐐逛綅缃负{endLoc.S_CODE}");
+                        return BuildSimpleResult(500, $"浠诲姟{task.S_CODE}淇敼澶辫触锛屼慨鏀圭粓鐐逛綅缃负{endLoc.S_CODE}");
                     }
 
                     tran.CommitTran();
@@ -239,6 +241,8 @@
 
                 LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�                 LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿�+
+                var res = GZRobot.QueryInteractInfo(3);
 
                 using (var tran = db.Ado.UseTran()) {
                     if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new {
@@ -353,16 +357,16 @@
                     task.N_B_STATE = 4;
                     task.S_B_STATE = "鍙栨秷";
 
-                    var starloc = db.Queryable<TN_Location>().First(a => a.S_CODE == task.S_START_LOC);
+                    var startloc = db.Queryable<TN_Location>().First(a => a.S_CODE == task.S_START_LOC);
                     var endloc = db.Queryable<TN_Location>().First(a => a.S_CODE == task.S_END_LOC);
                     //var locCnt = db.Queryable<TN_Loc_Container>().First(a => a.S_CNTR_CODE == task.S_CNTR_CODE);
                     //var cg = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == task.S_CNTR_CODE);
 
-                    if (starloc != null) {
-                        starloc.N_LOCK_STATE = 0;
-                        starloc.S_LOCK_STATE = "鏃�;
+                    if (startloc != null) {
+                        startloc.N_LOCK_STATE = 0;
+                        startloc.S_LOCK_STATE = "鏃�;
                         //starloc.N_CURRENT_NUM = 0;
-                        starloc.T_MODIFY = System.DateTime.Now;
+                        startloc.T_MODIFY = System.DateTime.Now;
                     }
 
                     if (endloc != null) {
@@ -372,45 +376,45 @@
                         endloc.T_MODIFY = System.DateTime.Now;
                     }
 
+                    if (!int.TryParse(task.S_EQ_TASK_CODE, out var code)) {
+                        return BuildSimpleResult(1, $"褰撳墠浠诲姟{task.S_CODE}娌℃湁鎵惧埌瀵瑰簲鐨勫浗鑷狝GV orderId锛�);
+                    }
+                    var res = GZRobot.CancelGZOrder(code);
+                    if (!res) {
+                        return BuildSimpleResult(2, $"鍥借嚜AGV鍙栨秷浠诲姟澶辫触锛�);
+                    }
+
                     using (var tran = db.Ado.UseTran()) {
-                        if (db.Updateable<TN_Location>(starloc).ExecuteCommand() <= 0) {
+                        if (db.Updateable<TN_Location>(startloc).ExecuteCommand() <= 0) {
                             tran.RollbackTran();
-
-                            info = $"浠诲姟{task.S_CODE}鍙栨秷澶辫触";
-
-                            return BuildSimpleResult(0, info);
+                            info = $"浠诲姟{task.S_CODE}鍙栨秷澶辫触锛氫慨鏀硅捣鐐硅揣浣嶉攣鐘舵�澶辫触";
+                            return BuildSimpleResult(500, info);
                         }
 
                         if (endloc != null) {
                             if (db.Updateable<TN_Location>(endloc).ExecuteCommand() <= 0) {
                                 tran.RollbackTran();
-
-                                info = $"浠诲姟{task.S_CODE}鍙栨秷澶辫触";
-
-                                return BuildSimpleResult(0, info);
+                                info = $"浠诲姟{task.S_CODE}鍙栨秷澶辫触锛氫慨鏀圭粓鐐硅揣浣嶉攣鐘舵�澶辫触";
+                                return BuildSimpleResult(500, info);
                             }
                         }
 
                         if (db.Updateable<TN_Task>(task).ExecuteCommand() <= 0) {
-                            if (db.Updateable<TN_Location>(endloc).ExecuteCommand() <= 0) {
-                                tran.RollbackTran();
-
-                                info = $"浠诲姟{task.S_CODE}鍙栨秷澶辫触";
-
-                                return BuildSimpleResult(0, info);
-                            }
+                            tran.RollbackTran();
+                            info = $"浠诲姟{task.S_CODE}鍙栨秷澶辫触";
+                            return BuildSimpleResult(500, info);
                         }
 
                         tran.CommitTran();
-
                         info = $"浠诲姟{task.S_CODE}鍙栨秷鎴愬姛";
-
                         return BuildSimpleResult(0, info);
                     }
 
                 }
                 else {
                     return BuildSimpleResult(3, $"鍙湁浠诲姟鍙风姸鎬佷负 绛夊緟 鎴�宸叉帹閫�鐨勪换鍔℃墠鑳藉彇娑�);
+
+                    // return CancelTaskIfForced(model, task); // 澶囩敤鍑芥暟锛屽鏋滅敳鏂硅姹備换鍔℃墽琛屼腑涔熷彇娑堬紝鍐嶈皟鐢�                 }
 
             }
@@ -419,271 +423,268 @@
             }
         }
 
-        public static SimpleResult CreateCountPlan(CreateCountPlanInfo model) {
-            var db = new SqlHelper<object>().GetInstance();
-            try {
-
-                var countPlan = new TN_Count_Plan() {
-                    S_CP_NO = GenerateNo("鐩樼偣璁″垝", "CP"),
-                    S_TYPE = model.countType,
-                };
-
-                if (model.countType == "璐т綅") {
-                    countPlan.S_LOC_CODE = model.targetId;
-                }
-                else if (model.countType == "鐗╂枡") {
-                    countPlan.S_ITEM_CODE = model.targetId;
-                }
-                else {
-                    return BuildSimpleResult(2, $"鍒涘缓鐩樼偣璁″垝澶辫触锛氫笉鍚堟硶鐨勭洏鐐圭被鍨�'{model.countType}'");
-                }
-
-                if (db.Insertable<TN_Count_Plan>(countPlan).ExecuteCommand() <= 0) {
-                    return BuildSimpleResult(2, "鍒涘缓鐩樼偣璁″垝澶辫触");
-                }
-
-                return BuildSimpleResult(0, "鍒涘缓鐩樼偣璁″垝鎴愬姛");
-
-            }
-            catch (Exception ex) {
-
-                return BuildSimpleResult(1, ex.Message);
-            }
+        public static SimpleResult CancelTaskIfForced(CancleTaskInfo model, TN_Task task) {
+            return BuildSimpleResult(3, $"鍙湁浠诲姟鍙风姸鎬佷负 绛夊緟 鎴�宸叉帹閫�鐨勪换鍔℃墠鑳藉彇娑�);
         }
 
-        public static SimpleResult CreateCountOrder(CreateCountOrderInfo model) {
-            var db = new SqlHelper<object>().GetInstance();
-            var info = "";
-            try {
-                var countPlan = db.Queryable<TN_Count_Plan>()
-                    .Where(a => a.S_CP_NO == model.planId).First();
+        //public static SimpleResult CreateCountPlan(CreateCountPlanInfo model) {
+        //    var db = new SqlHelper<object>().GetInstance();
+        //    try {
 
-                if (countPlan == null) {
-                    return BuildSimpleResult(2, $"鐩樼偣璁″垝鍗曞彿 '{model.planId}' 涓嶅瓨鍦�);
-                }
+        //        var countPlan = new TN_Count_Plan() {
+        //            S_CP_NO = GenerateNo("鐩樼偣璁″垝", "CP"),
+        //            S_TYPE = model.countType,
+        //        };
 
-                var countOrder = new TN_Count_Order() {
-                    S_CP_NO = model.planId,
-                    S_COUNT_NO = GenerateNo("鐩樼偣鍗�, "CN"),
-                };
+        //        if (model.countType == "璐т綅") {
+        //            countPlan.S_LOC_CODE = model.targetId;
+        //        }
+        //        else if (model.countType == "鐗╂枡") {
+        //            countPlan.S_ITEM_CODE = model.targetId;
+        //        }
+        //        else {
+        //            return BuildSimpleResult(2, $"鍒涘缓鐩樼偣璁″垝澶辫触锛氫笉鍚堟硶鐨勭洏鐐圭被鍨�'{model.countType}'");
+        //        }
 
-                var countDetailList = new List<TN_Count_CG_Detail>();
-                if (countPlan.S_TYPE == "璐т綅") {
-                    var cgDetail = db.Queryable<TN_Location, TN_Loc_Container, TN_CG_Detail>
-                        ((l, c, d) => l.S_CODE == c.S_LOC_CODE && c.S_CNTR_CODE == d.S_CNTR_CODE)
-                        .Where(l => l.S_CODE == countPlan.S_LOC_CODE)
-                        .Select((l, c, d) => d).First();
+        //        if (db.Insertable<TN_Count_Plan>(countPlan).ExecuteCommand() <= 0) {
+        //            return BuildSimpleResult(2, "鍒涘缓鐩樼偣璁″垝澶辫触");
+        //        }
 
-                    var countDetail = new TN_Count_CG_Detail {
-                        S_COUNT_NO = countOrder.S_COUNT_NO,
-                        S_CNTR_CODE = cgDetail.S_CNTR_CODE,
-                        S_ITEM_CODE = cgDetail.S_ITEM_CODE,
-                    };
+        //        return BuildSimpleResult(0, "鍒涘缓鐩樼偣璁″垝鎴愬姛");
 
-                    countDetailList.Add(countDetail);
-                }
-                else if (countPlan.S_TYPE == "鐗╂枡") {
-                    var cgDetailList = db.Queryable<TN_CG_Detail>()
-                        .Where(d => d.S_ITEM_CODE == countPlan.S_ITEM_CODE).ToList();
+        //    }
+        //    catch (Exception ex) {
 
-                    foreach (var cgDetail in cgDetailList) {
-                        var countDetail = new TN_Count_CG_Detail {
-                            S_COUNT_NO = countOrder.S_COUNT_NO,
-                            S_CNTR_CODE = cgDetail.S_CNTR_CODE,
-                            S_ITEM_CODE = cgDetail.S_ITEM_CODE,
-                        };
+        //        return BuildSimpleResult(1, ex.Message);
+        //    }
+        //}
 
-                        countDetailList.Add(countDetail);
-                    }
-                }
-                else {
-                    return BuildSimpleResult(3, $"璁″垝鍗�{model.planId}'鐨勭被鍨媨countPlan.S_TYPE}涓嶅悎娉�);
-                }
+        //public static SimpleResult CreateCountOrder(CreateCountOrderInfo model) {
+        //    var db = new SqlHelper<object>().GetInstance();
+        //    var info = "";
+        //    try {
+        //        var countPlan = db.Queryable<TN_Count_Plan>()
+        //            .Where(a => a.S_CP_NO == model.planId).First();
 
-                using (var tran = db.Ado.UseTran()) {
-                    if (db.Insertable<TN_Count_Order>(countOrder).ExecuteCommand() <= 0) {
-                        tran.RollbackTran();
-                        info = "鍒涘缓鐩樼偣鍗曞け璐�;
-                        return BuildSimpleResult(2, info);
-                    }
+        //        if (countPlan == null) {
+        //            return BuildSimpleResult(2, $"鐩樼偣璁″垝鍗曞彿 '{model.planId}' 涓嶅瓨鍦�);
+        //        }
 
-                    if (db.Insertable<TN_Count_CG_Detail>(countDetailList).ExecuteCommand() <= 0) {
-                        tran.RollbackTran();
-                        info = "鍒涘缓鐩樼偣鍗曟槑缁嗗け璐�;
-                        return BuildSimpleResult(3, info); 
-                    }
+        //        var countOrder = new TN_Count_Order() {
+        //            S_CP_NO = model.planId,
+        //            S_COUNT_NO = GenerateNo("鐩樼偣鍗�, "CN"),
+        //        };
 
-                    tran.CommitTran();
-                }
+        //        var countDetailList = new List<TN_Count_CG_Detail>();
+        //        if (countPlan.S_TYPE == "璐т綅") {
+        //            var cgDetail = db.Queryable<TN_Location, TN_Loc_Container, TN_CG_Detail>
+        //                ((l, c, d) => l.S_CODE == c.S_LOC_CODE && c.S_CNTR_CODE == d.S_CNTR_CODE)
+        //                .Where(l => l.S_CODE == countPlan.S_LOC_CODE)
+        //                .Select((l, c, d) => d).First();
 
-                return BuildSimpleResult(0, "鍒涘缓鐩樼偣鍗曟垚鍔�);
-            }
-            catch (Exception ex) {
+        //            var countDetail = new TN_Count_CG_Detail {
+        //                S_COUNT_NO = countOrder.S_COUNT_NO,
+        //                S_CNTR_CODE = cgDetail.S_CNTR_CODE,
+        //                S_ITEM_CODE = cgDetail.S_ITEM_CODE,
+        //            };
 
-                return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}");
-            }
-        }
+        //            countDetailList.Add(countDetail);
+        //        }
+        //        else if (countPlan.S_TYPE == "鐗╂枡") {
+        //            var cgDetailList = db.Queryable<TN_CG_Detail>()
+        //                .Where(d => d.S_ITEM_CODE == countPlan.S_ITEM_CODE).ToList();
 
-        public static SimpleResult CountProduct(CountProductInfo model) {
-            var db = new SqlHelper<object>().GetInstance();
-            try {
-                var cgDetail = db.Queryable<TN_CG_Detail>()
-                    .Where(d => d.S_CNTR_CODE == model.cntrCode).First();
+        //            foreach (var cgDetail in cgDetailList) {
+        //                var countDetail = new TN_Count_CG_Detail {
+        //                    S_COUNT_NO = countOrder.S_COUNT_NO,
+        //                    S_CNTR_CODE = cgDetail.S_CNTR_CODE,
+        //                    S_ITEM_CODE = cgDetail.S_ITEM_CODE,
+        //                };
 
-                if (cgDetail == null) {
-                    return BuildSimpleResult(2, $"鎵句笉鍒板鍣ㄥ彿'{model.cntrCode}'瀵瑰簲鐨勭墿鏂�);
-                }
+        //                countDetailList.Add(countDetail);
+        //            }
+        //        }
+        //        else {
+        //            return BuildSimpleResult(3, $"璁″垝鍗�{model.planId}'鐨勭被鍨媨countPlan.S_TYPE}涓嶅悎娉�);
+        //        }
 
-                var countDiff = new TN_Count_Diff {
-                    S_CNTR_CODE = cgDetail.S_CNTR_CODE,
-                    F_QTY = cgDetail.F_QTY,
-                    F_ACTUAL_QTY = model.qty
-                };
+        //        using (var tran = db.Ado.UseTran()) {
+        //            if (db.Insertable<TN_Count_Order>(countOrder).ExecuteCommand() <= 0) {
+        //                tran.RollbackTran();
+        //                info = "鍒涘缓鐩樼偣鍗曞け璐�;
+        //                return BuildSimpleResult(2, info);
+        //            }
 
-                if (db.Insertable<TN_Count_Diff>(countDiff).ExecuteCommand() <= 0) {
-                    return BuildSimpleResult(3, $"鎻掑叆鐩樼偣宸紓琛ㄥけ璐�);
-                }
+        //            if (db.Insertable<TN_Count_CG_Detail>(countDetailList).ExecuteCommand() <= 0) {
+        //                tran.RollbackTran();
+        //                info = "鍒涘缓鐩樼偣鍗曟槑缁嗗け璐�;
+        //                return BuildSimpleResult(3, info); 
+        //            }
 
-                return BuildSimpleResult(0, "鐩樼偣宸紓瀹屾垚");
+        //            tran.CommitTran();
+        //        }
 
-            }
-            catch (Exception ex) {
-                return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}");
-            }
-        }
+        //        return BuildSimpleResult(0, "鍒涘缓鐩樼偣鍗曟垚鍔�);
+        //    }
+        //    catch (Exception ex) {
 
-        internal static string GenerateNo(string snType, string prefix) {
-            var id = SYSHelper.GetSerialNumber(snType, prefix);
-            
-            var date = DateTime.Now.ToString("yyMMdd");
-            return $"{prefix}{date}-{id.ToString().PadLeft(5, '0')}"; // 褰㈠锛欳N250525-00011
-        }
+        //        return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}");
+        //    }
+        //}
 
-        /// <summary>
-        /// 鐩樼偣鐞嗚揣鍑哄簱(WMS)
-        /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        internal static SimpleResult CheckOutbound(CheckOutboundInfo model) {
-            var taskName = TaskName.鐩樼偣鐞嗚揣鍑哄簱;
-            var db = new SqlHelper<object>().GetInstance();
+        //public static SimpleResult CountProduct(CountProductInfo model) {
+        //    var db = new SqlHelper<object>().GetInstance();
+        //    try {
+        //        var cgDetail = db.Queryable<TN_CG_Detail>()
+        //            .Where(d => d.S_CNTR_CODE == model.cntrCode).First();
 
-            try {
-                // 璧风偣浣嶇疆锛氬彇鏀捐揣鍖猴紙鏈夎揣鐗┿�娌℃湁閿併�宸插惎鐢級
-                var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && Settings.Areas[0].Contains(a.S_AREA_CODE));
-                if (startLoc == null) {
-                    return BuildSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶇鍚堝嚭搴撴潯浠�);
-                }
+        //        if (cgDetail == null) {
+        //            return BuildSimpleResult(2, $"鎵句笉鍒板鍣ㄥ彿'{model.cntrCode}'瀵瑰簲鐨勭墿鏂�);
+        //        }
 
-                var locCntrRel = db.Queryable<TN_Loc_Container>().First(a => a.S_LOC_CODE == model.startLoc);
-                if (locCntrRel == null) {
-                    return BuildSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙洖搴撶殑鐗╂枡");
-                }
+        //        var countDiff = new TN_Count_Diff {
+        //            S_CNTR_CODE = cgDetail.S_CNTR_CODE,
+        //            F_QTY = cgDetail.F_QTY,
+        //            F_ACTUAL_QTY = model.qty
+        //        };
 
-                // 缁堢偣浣嶇疆锛氳揣鏋讹紙娌℃湁璐х墿锛屾病鏈夐攣锛�-                var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y");
-                if (endLoc == null) {
-                    return BuildSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�);
-                }
+        //        if (db.Insertable<TN_Count_Diff>(countDiff).ExecuteCommand() <= 0) {
+        //            return BuildSimpleResult(3, $"鎻掑叆鐩樼偣宸紓琛ㄥけ璐�);
+        //        }
 
-                var cntID = locCntrRel.S_CNTR_CODE;
-                var task = WCSHelper.BuildTask(startLoc, endLoc, cntID, taskName);
-                LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�-                LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿�+        //        return BuildSimpleResult(0, "鐩樼偣宸紓瀹屾垚");
 
-                using (var tran = db.Ado.UseTran()) {
-                    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();
-                        return BuildSimpleResult(500,
-                            $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}");
-                    }
+        //    }
+        //    catch (Exception ex) {
+        //        return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}");
+        //    }
+        //}
 
-                    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();
-                        return BuildSimpleResult(500,
-                            $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}");
-                    }
+        ///// <summary>
+        ///// 鐩樼偣鐞嗚揣鍑哄簱(WMS)
+        ///// </summary>
+        ///// <param name="model"></param>
+        ///// <returns></returns>
+        //internal static SimpleResult CheckOutbound(CheckOutboundInfo model) {
+        //    var taskName = TaskName.鐩樼偣鐞嗚揣鍑哄簱;
+        //    var db = new SqlHelper<object>().GetInstance();
 
-                    if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) {
-                        tran.RollbackTran();
-                        return BuildSimpleResult(500,
-                            $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}");
-                    }
+        //    try {
+        //        // 璧风偣浣嶇疆锛氬彇鏀捐揣鍖猴紙鏈夎揣鐗┿�娌℃湁閿併�宸插惎鐢級
+        //        var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && Settings.Areas[0].Contains(a.S_AREA_CODE));
+        //        if (startLoc == null) {
+        //            return BuildSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶇鍚堝嚭搴撴潯浠�);
+        //        }
 
-                    tran.CommitTran();
-                    return BuildSimpleResult(0,
-                        $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}");
-                }
-            }
-            catch (Exception ex) {
-                return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}");
-            }
-        }
+        //        var locCntrRel = db.Queryable<TN_Loc_Container>().First(a => a.S_LOC_CODE == model.startLoc);
+        //        if (locCntrRel == null) {
+        //            return BuildSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙洖搴撶殑鐗╂枡");
+        //        }
 
-        /// <summary>
-        /// 鐩樼偣鐞嗚揣鍥炲簱(WMS)
-        /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        internal static SimpleResult CheckInbound(CheckInboundInfo model) {
-            var taskName = TaskName.鐩樼偣鐞嗚揣鍥炲簱;
-            var db = new SqlHelper<object>().GetInstance();
+        //        // 缁堢偣浣嶇疆锛氳揣鏋讹紙娌℃湁璐х墿锛屾病鏈夐攣锛�+        //        var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y");
+        //        if (endLoc == null) {
+        //            return BuildSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�);
+        //        }
 
-            try {
-                // 璧风偣浣嶇疆锛氬彇鏀捐揣鍖猴紙鏈夎揣鐗┿�娌℃湁閿併�宸插惎鐢級
-                var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && Settings.Areas[0].Contains(a.S_AREA_CODE));
-                if (startLoc == null) {
-                    return BuildSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶇鍚堝洖搴撴潯浠�);
-                }
+        //        var cntID = locCntrRel.S_CNTR_CODE;
+        //        var task = WCSHelper.BuildTask(startLoc, endLoc, cntID, taskName);
+        //        LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�+        //        LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿� 
-                var locCntrRel = db.Queryable<TN_Loc_Container>().First(a => a.S_LOC_CODE == model.startLoc);
-                if (locCntrRel == null) {
-                    return BuildSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙洖搴撶殑鐗╂枡");
-                }
+        //        using (var tran = db.Ado.UseTran()) {
+        //            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();
+        //                return BuildSimpleResult(500,
+        //                    $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}");
+        //            }
 
-                // 缁堢偣浣嶇疆锛氳揣鏋讹紙娌℃湁璐х墿锛屾病鏈夐攣锛�-                var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y");
-                if (endLoc == null) {
-                    return BuildSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�);
-                }
+        //            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();
+        //                return BuildSimpleResult(500,
+        //                    $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}");
+        //            }
 
-                var cntID = locCntrRel.S_CNTR_CODE;
-                var task = WCSHelper.BuildTask(startLoc, endLoc, cntID, taskName);
-                LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�-                LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿�+        //            if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) {
+        //                tran.RollbackTran();
+        //                return BuildSimpleResult(500,
+        //                    $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}");
+        //            }
 
-                using (var tran = db.Ado.UseTran()) {
-                    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();
-                        return BuildSimpleResult(500,
-                            $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}");
-                    }
+        //            tran.CommitTran();
+        //            return BuildSimpleResult(0,
+        //                $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}");
+        //        }
+        //    }
+        //    catch (Exception ex) {
+        //        return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}");
+        //    }
+        //}
 
-                    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();
-                        return BuildSimpleResult(500,
-                            $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}");
-                    }
+        ///// <summary>
+        ///// 鐩樼偣鐞嗚揣鍥炲簱(WMS)
+        ///// </summary>
+        ///// <param name="model"></param>
+        ///// <returns></returns>
+        //internal static SimpleResult CheckInbound(CheckInboundInfo model) {
+        //    var taskName = TaskName.鐩樼偣鐞嗚揣鍥炲簱;
+        //    var db = new SqlHelper<object>().GetInstance();
 
-                    if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) {
-                        tran.RollbackTran();
-                        return BuildSimpleResult(500,
-                            $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}");
-                    }
+        //    try {
+        //        // 璧风偣浣嶇疆锛氬彇鏀捐揣鍖猴紙鏈夎揣鐗┿�娌℃湁閿併�宸插惎鐢級
+        //        var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && Settings.Areas[0].Contains(a.S_AREA_CODE));
+        //        if (startLoc == null) {
+        //            return BuildSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶇鍚堝洖搴撴潯浠�);
+        //        }
 
-                    tran.CommitTran();
-                    return BuildSimpleResult(0,
-                        $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}");
-                }
-            }
-            catch (Exception ex) {
-                return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}");
-            }
-        }
+        //        var locCntrRel = db.Queryable<TN_Loc_Container>().First(a => a.S_LOC_CODE == model.startLoc);
+        //        if (locCntrRel == null) {
+        //            return BuildSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙洖搴撶殑鐗╂枡");
+        //        }
+
+        //        // 缁堢偣浣嶇疆锛氳揣鏋讹紙娌℃湁璐х墿锛屾病鏈夐攣锛�+        //        var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y");
+        //        if (endLoc == null) {
+        //            return BuildSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�);
+        //        }
+
+        //        var cntID = locCntrRel.S_CNTR_CODE;
+        //        var task = WCSHelper.BuildTask(startLoc, endLoc, cntID, taskName);
+        //        LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�+        //        LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿�+
+        //        using (var tran = db.Ado.UseTran()) {
+        //            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();
+        //                return BuildSimpleResult(500,
+        //                    $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}");
+        //            }
+
+        //            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();
+        //                return BuildSimpleResult(500,
+        //                    $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}");
+        //            }
+
+        //            if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) {
+        //                tran.RollbackTran();
+        //                return BuildSimpleResult(500,
+        //                    $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}");
+        //            }
+
+        //            tran.CommitTran();
+        //            return BuildSimpleResult(0,
+        //                $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}");
+        //        }
+        //    }
+        //    catch (Exception ex) {
+        //        return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}");
+        //    }
+        //}
 
         public static ErpResult InboundDataSync(InboundDataSyncInfo model) {
             //return BuildErpResult(1, "娴嬭瘯");
diff --git a/api/DebugController.cs b/api/DebugController.cs
index 7f8d113..109a250 100644
--- a/api/DebugController.cs
+++ b/api/DebugController.cs
@@ -100,157 +100,6 @@
             return gzResults;
         }
 
-        ///// <summary>
-        ///// 鍒濆鍖栨暟鎹簱
-        ///// </summary>
-        ///// <returns></returns>
-        //[HttpPost]
-        //[Route("CreateDatabase")]
-        //public string CreateDatabase(CoverInfo model) {
-        //    try {
-        //        var db = new SqlHelper<object>().GetInstance();
-        //        var cover = model.IsCover;
-
-        //        var entityTypes = new Type[] {
-        //            typeof(TN_CAR_IN),
-        //            typeof(TN_CG_Detail),
-        //            typeof(TN_Container),
-        //            typeof(TN_Loc_Container),
-        //            typeof(TN_Location),
-        //            typeof(TN_Task),
-        //            typeof(TN_Task_Action),
-        //            typeof(SYSHelper.OI_SYS_MAXID),
-
-        //            typeof(TN_Count_Plan),
-        //            typeof(TN_Count_Order),
-        //            typeof(TN_Count_CG_Detail),
-        //            typeof(TN_Count_Diff),
-        //        };
-
-        //        using (var tran = db.Ado.UseTran()) {
-        //            if (cover) {
-        //                // 鍒犻櫎鎵�湁琛紙鎸変緷璧栧叧绯诲�搴忥級
-        //                var tables = db.DbMaintenance.GetTableInfoList();
-        //                foreach (var table in tables.OrderByDescending(t => t.Name)) {
-        //                    db.DbMaintenance.DropTable(table.Name);
-        //                }
-
-        //                // 鍒涘缓鏂拌〃
-        //                db.CodeFirst.InitTables(entityTypes);
-
-        //                //db.CodeFirst.BackupTable().InitTables(entityTypes);
-        //            }
-        //            else {
-        //                db.CodeFirst.InitTables(entityTypes);
-        //            }
-
-        //            tran.CommitTran();
-        //        }
-
-        //    }
-        //    catch (Exception ex) {
-        //        LogHelper.Info($"鍙戠敓浜嗗紓甯�);
-        //        return "鍒濆鍖栨暟鎹簱閿欒" + ex.Message;
-        //    }
-
-        //    return "鎴愬姛";
-        //}
-
-        /// <summary>
-        /// DEBUG锛氭彃鍏ヨ揣浣嶃�瀹瑰櫒銆佽揣鍝佷俊鎭�-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        [Route("InsertLocCntrCg")]
-        public string InsertLocCntrCg(LocCntrCg locCntrCg) {
-            var db = new SqlHelper<object>().GetInstance();
-
-            try {
-                using (var tran = db.UseTran()) {
-                    LogHelper.Info("LogCntrCg锛� + JsonConvert.SerializeObject(locCntrCg));
-                    if (string.IsNullOrEmpty(locCntrCg.LocCode)) {
-                        return "鍙傛暟闈炴硶";
-                    }
-
-                    var loc = db.Queryable<TN_Location>().First(a => a.S_CODE == locCntrCg.LocCode);
-                    if (loc == null) {
-                        var newLoc = new TN_Location {
-                            S_CODE = locCntrCg.LocCode,
-                            S_AREA_CODE = locCntrCg.LocArea ?? ""
-                        };
-
-                        if (db.Insertable<TN_Location>(newLoc).ExecuteCommand() <= 0) {
-                            tran.RollbackTran();
-                            LogHelper.Info($"鎻掑叆浣嶇疆{locCntrCg.LocCode}澶辫触");
-                            return "鎻掑叆澶辫触";
-                        }
-
-                        loc = newLoc;
-                    }
-
-                    //if (loc.N_CURRENT_NUM == 0) {
-                    //    loc.N_CURRENT_NUM = 1;
-                    //    if (db.Updateable<TN_Location>(loc).UpdateColumns(
-                    //        it => new { it.N_CURRENT_NUM, it.T_MODIFY }).ExecuteCommand() <= 0) {
-                    //        tran.RollbackTran();
-                    //        LogHelper.Info($"淇敼浣嶇疆{locCntrCg.LocCode}澶辫触");
-                    //        continue;
-                    //    }
-                    //}
-
-                    if (string.IsNullOrEmpty(locCntrCg.CntrCode)) {
-                        tran.CommitTran();
-                        LogHelper.Info("瀹瑰櫒鍙蜂负绌猴紝涓嶅啀璇诲彇鍚庨潰鐨勬暟鎹�);
-                        return "瀹瑰櫒鍙蜂负绌猴紝涓嶅啀璇诲彇鍚庨潰鐨勬暟鎹�;
-                    }
-
-                    var locCntrRel = db.Queryable<TN_Loc_Container>().First(a => a.S_LOC_CODE == locCntrCg.LocCode
-                        && a.S_CNTR_CODE == locCntrCg.CntrCode);
-
-                    if (locCntrRel == null) {
-                        var newLocCntrRel = new TN_Loc_Container {
-                            S_LOC_CODE = locCntrCg.LocCode,
-                            S_CNTR_CODE = locCntrCg.CntrCode
-                        };
-
-                        loc.N_CURRENT_NUM = 1;
-
-                        if (db.Insertable<TN_Loc_Container>(newLocCntrRel).ExecuteCommand() <= 0
-                            && db.Updateable<TN_Location>(loc).UpdateColumns(c => c.N_CURRENT_NUM).ExecuteCommand() <= 0) {
-                            tran.RollbackTran();
-                            LogHelper.Info($"鎻掑叆浣嶇疆鎵樼洏鍏崇郴{locCntrCg.LocCode}-{locCntrCg.CntrCode}澶辫触");
-                            return "鎻掑叆澶辫触";
-                        }
-                    }
-
-                    if (string.IsNullOrEmpty(locCntrCg.ItemCode)) {
-                        tran.CommitTran();
-                        LogHelper.Info("鐗╂枡鍙蜂负绌猴紝涓嶅啀璇诲彇鍚庨潰鐨勬暟鎹�);
-                        return "鐗╂枡鍙蜂负绌猴紝涓嶅啀璇诲彇鍚庨潰鐨勬暟鎹�;
-                    }
-
-                    var cgDetail = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == locCntrCg.CntrCode
-                        && a.S_ITEM_CODE == locCntrCg.ItemCode);
-                    if (cgDetail == null) {
-                        var locList = new List<TN_CG_Detail>();
-                        locList.Add(new TN_CG_Detail { S_CNTR_CODE = locCntrCg.CntrCode, S_ITEM_CODE = locCntrCg.ItemCode, S_BATCH_NO = locCntrCg.BatchNo ?? "" });
-                        if (db.Insertable<TN_CG_Detail>(locList).ExecuteCommand() <= 0) {
-                            tran.RollbackTran();
-                            LogHelper.Info($"鎻掑叆鎵樼洏鐗╂枡鍏崇郴{locCntrCg.CntrCode}-{locCntrCg}澶辫触");
-                            return "鎻掑叆澶辫触";
-                        }
-                    }
-                    tran.CommitTran();
-                }
-
-                return "鎻掑叆鏁版嵁鎴愬姛";
-
-            }
-            catch (Exception ex) {
-                return $"{ex.Message}";
-            }
-        }
-
         /// <summary>
         /// DEBUG锛氭牴鎹换鍔″彿璁剧疆鐗╂枡閲嶉噺
         /// </summary>
diff --git a/api/ErpController.cs b/api/ErpController.cs
index 5eaecc6..88e60c0 100644
--- a/api/ErpController.cs
+++ b/api/ErpController.cs
@@ -25,13 +25,8 @@
         public IHttpActionResult InboundDataSync(InboundDataSyncInfo model) {
             LogHelper.Info("瑙﹀彂API锛氬叆搴撴暟鎹悓姝� + JsonConvert.SerializeObject(model), "API");
 
-            //var headers = Request.Headers; // 鏆備笉鑰冭檻瀵硅姹侶TTP杩涜鏍¢獙锛岄粯璁ゅ彂鏉ョ殑璇锋眰鏍煎紡閮芥纭�-
-            //return new ErpResult { errCode = 1, errMsg = "娴嬭瘯" };
-            //return CreateSuccessResponse(new ErpResult { errCode = 1, errMsg = "娴嬭瘯"});
-
             //var headers = Request.Headers;
-            //return ProcessInboundData(headers, model);
+            //return ProcessInboundData(headers, model); // 濡傛灉瑕佹眰瀵笻TTP鎶ユ枃瀛楁鏍¢獙锛屼娇鐢ㄨ繖琛屼唬鐮� 
             //return ApiHelper.InboundDataSync(model);
             return NormalProcessInboundData(model); // 鏆傛椂浣跨敤鍘熸湰鐨勯�杈�@@ -48,7 +43,7 @@
             LogHelper.Info("瑙﹀彂API锛氬嚭搴撳彂鏂欏悓姝� + JsonConvert.SerializeObject(model), "API");
 
             //var headers = Request.Headers;
-            //return ProcessOutboundData(headers, model);
+            //return ProcessOutboundData(headers, model); // 濡傛灉瑕佹眰瀵笻TTP鎶ユ枃瀛楁鏍¢獙锛屼娇鐢ㄨ繖琛屼唬鐮� 
             //return ApiHelper.OutboundDataSync(model);
             return NormalProcessOutboundData(model); // 鏆傛椂浣跨敤鍘熸湰鐨勯�杈�diff --git a/core/Monitor.cs b/core/Monitor.cs
index ec87521..6a801db 100644
--- a/core/Monitor.cs
+++ b/core/Monitor.cs
@@ -15,131 +15,131 @@
     /// </summary>
     public class Monitor
     {
-        public static void CheckCountOrder() {
-            var taskName = TaskName.鐩樼偣鐞嗚揣鍑哄簱;
-            var db = new SqlHelper<object>().GetInstance();
-            var info = "";
+        //public static void CheckCountOrder() {
+        //    var taskName = TaskName.鐩樼偣鐞嗚揣鍑哄簱;
+        //    var db = new SqlHelper<object>().GetInstance();
+        //    var info = "";
 
-            try {
-                var orderList = db.Queryable<TN_Count_Order>()
-                    .Where(c => c.N_B_STATE == 1)
-                    .OrderBy(c => c.T_CREATE, SqlSugar.OrderByType.Asc)
-                    .ToList();
+        //    try {
+        //        var orderList = db.Queryable<TN_Count_Order>()
+        //            .Where(c => c.N_B_STATE == 1)
+        //            .OrderBy(c => c.T_CREATE, SqlSugar.OrderByType.Asc)
+        //            .ToList();
 
-                if (orderList.Count == 0) {
-                    LogHelper.Info($"杞--{taskName}--鏆傛棤寰呮墽琛岀殑{taskName}鍗�);
-                    return;
-                }
+        //        if (orderList.Count == 0) {
+        //            LogHelper.Info($"杞--{taskName}--鏆傛棤寰呮墽琛岀殑{taskName}鍗�);
+        //            return;
+        //        }
 
-                var detailList = new List<TN_Count_CG_Detail>();
-                foreach (var order in orderList) {
-                    var doingCount = db.Queryable<TN_Count_CG_Detail>()
-                        .Count(d => d.S_COUNT_NO == order.S_COUNT_NO && d.N_B_STATE >= 2); // 鎵ц涓�-                    var allCount = db.Queryable<TN_Count_CG_Detail>()
-                        .Count(d => d.S_COUNT_NO == order.S_COUNT_NO);
-                    LogHelper.Info($"杞--{taskName}--缁熻{taskName}鍗�{order.S_COUNT_NO}'浠诲姟宸蹭笅鍙戯細{doingCount}/{allCount}");
+        //        var detailList = new List<TN_Count_CG_Detail>();
+        //        foreach (var order in orderList) {
+        //            var doingCount = db.Queryable<TN_Count_CG_Detail>()
+        //                .Count(d => d.S_COUNT_NO == order.S_COUNT_NO && d.N_B_STATE >= 2); // 鎵ц涓�+        //            var allCount = db.Queryable<TN_Count_CG_Detail>()
+        //                .Count(d => d.S_COUNT_NO == order.S_COUNT_NO);
+        //            LogHelper.Info($"杞--{taskName}--缁熻{taskName}鍗�{order.S_COUNT_NO}'浠诲姟宸蹭笅鍙戯細{doingCount}/{allCount}");
 
-                    if (doingCount == allCount) {
-                        order.N_B_STATE = 2; // 鎵�湁浠诲姟閮藉凡鎵ц
-                        db.Updateable<TN_Count_Order>(order).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand();
-                        continue;
-                    }
+        //            if (doingCount == allCount) {
+        //                order.N_B_STATE = 2; // 鎵�湁浠诲姟閮藉凡鎵ц
+        //                db.Updateable<TN_Count_Order>(order).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand();
+        //                continue;
+        //            }
 
-                    var countCgDetailList = db.Queryable<TN_Count_CG_Detail>()
-                        .Where(a => a.S_COUNT_NO == order.S_COUNT_NO && a.N_B_STATE == 1) // 宸蹭笅鍙�-                        .ToList();
+        //            var countCgDetailList = db.Queryable<TN_Count_CG_Detail>()
+        //                .Where(a => a.S_COUNT_NO == order.S_COUNT_NO && a.N_B_STATE == 1) // 宸蹭笅鍙�+        //                .ToList();
 
-                    if (countCgDetailList.Count == 0) {
-                        LogHelper.Info($"杞--{taskName}--{taskName}鍗曟槑缁嗙姸鎬佸紓甯�);
-                        continue;
-                    }
+        //            if (countCgDetailList.Count == 0) {
+        //                LogHelper.Info($"杞--{taskName}--{taskName}鍗曟槑缁嗙姸鎬佸紓甯�);
+        //                continue;
+        //            }
 
-                    detailList.AddRange(countCgDetailList);
-                }
+        //            detailList.AddRange(countCgDetailList);
+        //        }
 
-                if (detailList.Count == 0) {
-                    return;
-                }
+        //        if (detailList.Count == 0) {
+        //            return;
+        //        }
 
-                foreach (var detail in detailList) {
-                    var startLoc = db.Queryable<TN_Location>()
-                        .LeftJoin<TN_Loc_Container>((l, c) => l.S_CODE == c.S_LOC_CODE)
-                        .Where((l, c) => c.S_CNTR_CODE == detail.S_CNTR_CODE)
-                        .First();
+        //        foreach (var detail in detailList) {
+        //            var startLoc = db.Queryable<TN_Location>()
+        //                .LeftJoin<TN_Loc_Container>((l, c) => l.S_CODE == c.S_LOC_CODE)
+        //                .Where((l, c) => c.S_CNTR_CODE == detail.S_CNTR_CODE)
+        //                .First();
 
-                    if (startLoc == null) {
-                        LogHelper.Info($"杞--{taskName}锛氭病鏈夋壘鍒板悎閫傜殑璧风偣璐т綅锛�);
-                        continue;
-                    }
+        //            if (startLoc == null) {
+        //                LogHelper.Info($"杞--{taskName}锛氭病鏈夋壘鍒板悎閫傜殑璧风偣璐т綅锛�);
+        //                continue;
+        //            }
 
-                    var endLoc = db.Queryable<TN_Location>()
-                        .Where(a => Settings.Areas[0].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).First();
+        //            var endLoc = db.Queryable<TN_Location>()
+        //                .Where(a => Settings.Areas[0].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).First();
 
-                    if (endLoc == null) {
-                        LogHelper.Info($"杞--{taskName}锛氭病鏈夋壘鍒板悎閫傜殑缁堢偣璐т綅锛佸崟鍙蜂负 '{detail.S_COUNT_NO}'");
-                        continue;
-                    }
+        //            if (endLoc == null) {
+        //                LogHelper.Info($"杞--{taskName}锛氭病鏈夋壘鍒板悎閫傜殑缁堢偣璐т綅锛佸崟鍙蜂负 '{detail.S_COUNT_NO}'");
+        //                continue;
+        //            }
 
-                    detail.N_B_STATE = 2;
+        //            detail.N_B_STATE = 2;
 
-                    var cntId = detail.S_CNTR_CODE;
-                    var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName);
+        //            var cntId = detail.S_CNTR_CODE;
+        //            var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName);
 
-                    LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�-                    LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿�+        //            LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�+        //            LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿� 
-                    using (var tran = db.Ado.UseTran()) {
-                        if (db.Updateable<TN_Count_CG_Detail>(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) {
-                            tran.RollbackTran();
-                            LogHelper.Info($"杞--{taskName}--淇敼鏄庣粏琛ㄧ姸鎬佷负瀹屾垚澶辫触锛�);
-                        }
+        //            using (var tran = db.Ado.UseTran()) {
+        //                if (db.Updateable<TN_Count_CG_Detail>(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) {
+        //                    tran.RollbackTran();
+        //                    LogHelper.Info($"杞--{taskName}--淇敼鏄庣粏琛ㄧ姸鎬佷负瀹屾垚澶辫触锛�);
+        //                }
 
-                        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}'澶辫触锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣浣峽endLoc.S_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}'澶辫触锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣浣峽endLoc.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) {
+        //                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}'澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}";
-                            LogHelper.Info(info);
-                            continue;
-                        }
+        //                    tran.RollbackTran();
+        //                    info = $"鐢熸垚'{taskName}'澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{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;
-                        }
+        //                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;
-                    }
-                }
-            }
-            catch (Exception ex) {
-                info = $"鍙戠敓浜嗗紓甯革細{ex.Message}";
-                LogHelper.Info(info);
-            }
-        }
+        //                tran.CommitTran();
+        //                info = $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}";
+        //                LogHelper.Info(info);
+        //                //continue;
+        //            }
+        //        }
+        //    }
+        //    catch (Exception ex) {
+        //        info = $"鍙戠敓浜嗗紓甯革細{ex.Message}";
+        //        LogHelper.Info(info);
+        //    }
+        //}
     }
 
 }
diff --git a/core/WCSCore.cs b/core/WCSCore.cs
index 4718d04..c904e6f 100644
--- a/core/WCSCore.cs
+++ b/core/WCSCore.cs
@@ -19,7 +19,7 @@
         public static ReturnResult OperateAgvTaskStatus(AgvTaskState model) {
             var result = new ReturnResult();
             try {
-                if (model.state > 0 && model.state < 1000) {
+                if (model.state > 0) {
                     // AGV 鎵ц浠诲姟鐨勯�杈戝鐞�                     if (!AgvTaskProcessOk(model)) {
                         // 鎵ц涓峅K锛岃鏄庢病鏈夋壘鍒颁换鍔�@@ -347,37 +347,10 @@
             }
         }
 
+        // DOC 4.	绔欏彴鐢宠瀹夊叏浜や簰 RCS->WMS
         public static ReturnResult SafetyInteraction(SafetyInteractionInfo model) {
             var gzResult = new ReturnResult();
-            //var db = new SqlHelper<object>().GetInstance();
-            //ModbusHelper.Relink();
-
-            //var productionLineInfo = Settings.ProductionLines[0];
-            //var prodLineDevice = new ProductionLineDevice(productionLineInfo.PlcIp, productionLineInfo.PlcPort);
-            //if (!prodLineDevice.LoadDeviceStateOk()) {
-            //    LogHelper.Info("鍔犺浇璁惧淇℃伅澶辫触");
-            //}
-
-            //var tn_task = db.Queryable<TN_Task>().First(a => a.S_CODE == model.task_no);
-            //if (tn_task == null) {
-            //    LogHelper.Info($"浠诲姟鍙�'{model.task_no}' 涓嶅瓨鍦�);
-            //}
-
-            //if (prodLineDevice.SystemState == 1
-            //    && prodLineDevice.FullOffline == 1 && tn_task.S_TYPE == "鎴愬搧鑳朵笅绾�鎵樼洏(WMS)") {
-            //    if (!prodLineDevice.SetAgvPicking(1)) {
-            //        LogHelper.Info("鍐欏叆杈撻�绾�PLC 澶辫触");
-            //    }
-            //}
-
-            //if (prodLineDevice.SystemState == 1
-            //    && prodLineDevice.AllowAgvPlacePallet == 1 && tn_task.S_TYPE == "绌烘墭鐩樹笂绾�WMS)") {
-            //    if (!prodLineDevice.SetAgvPlacingPallet(1)) {
-            //        LogHelper.Info("鍐欏叆杈撻�绾�PLC 澶辫触");
-            //    }
-            //}
-
-            //LogHelper.Info(JsonConvert.SerializeObject(prodLineDevice, Formatting.Indented));
+            // 鐩墠璇ラ」鐩病鏈夌珯鍙板畨鍏ㄤ氦浜掔殑鍔熻兘
             return gzResult;
         }
     }
diff --git a/dispatch/GZRobot.cs b/dispatch/GZRobot.cs
index 213e3d5..465007f 100644
--- a/dispatch/GZRobot.cs
+++ b/dispatch/GZRobot.cs
@@ -27,6 +27,7 @@
             var dataResult = JsonConvert.DeserializeObject<gzResult<IOStatesInfoResult>>(result);
         }
 
+        // DOC 1.	鍒涘缓璁㈠崟 WMS->RCS
         public static int CreateOrder(string taskNo, int priority, string param, string ts = "churuku", string created_user = "hanhe") {
             LogHelper.Info($"CreateOrder鍙傛暟淇℃伅:taskNo:{taskNo},priority:{priority},param:{param},ts:{ts}锛宑reated_user锛歿created_user}", "API");
             var msg = "";
@@ -76,6 +77,7 @@
             return result;
         }
 
+        // DOC 2.	鍙栨秷璁㈠崟 WMS->RCS
         public static bool CancelGZOrder(int orderId) {
             bool result = false;
             string msg = "";
@@ -86,12 +88,21 @@
             msg = $"[guozi-CancelOrder] request={requests};response={response}";
             if (response != "") {
                 var dataResult = JsonConvert.DeserializeObject<CancelGZOrderResult>(response);
-                if (dataResult.code == 0) {
-                    msg = "[guozi-CancelOrder]鍙栨秷璁㈠崟鎴愬姛";
-                    Console.WriteLine(msg);
+                // 鍘熶唬鐮佺増鏈�+                //if (dataResult.code == 0) {
+                //    msg = "[guozi-CancelOrder]鍙栨秷璁㈠崟鎴愬姛";
+                //    Console.WriteLine(msg);
+                //    result = true;
+                //    return result;
+                //}
+
+                // 灏婇噸鏂囨。鐨勭増鏈�+                if (dataResult.msg == "success") { // 鐩墠鍙彇娑堜竴涓换鍔★紝鎴愬姛鏃犻渶鍐嶆鏌uccess_list鍜宔rror_list
+                    Console.WriteLine("[guozi-CancelOrder]鍙栨秷璁㈠崟鎴愬姛");
                     result = true;
                     return result;
                 }
+
             }
             else {
                 msg = "[guozi-CancelOrder]鍙栨秷璁㈠崟澶辫触";
@@ -100,7 +111,7 @@
             return result;
         }
 
-
+        // DOC 3.	璁㈠崟鐘舵�鎺ㄩ� RCS->WMS
         /// <summary>
         /// 璁㈠崟鐘舵�鍙嶉
         /// </summary>
@@ -193,6 +204,7 @@
             return result;
         }
 
+        // DOC 6.	浜や簰琛ㄦ煡璇�         /// <summary>
         /// 鑾峰彇浜や簰淇℃伅
         /// </summary>
@@ -228,6 +240,7 @@
             return list;
         }
 
+        // DOC 澶囩敤
         public static bool UpdateInteractInfo(UpdateInteractInfo interactInfo) {
             string msg = "";
             var result = false;
@@ -245,6 +258,7 @@
             return result;
         }
 
+        // DOC 5.	绉伴噸淇℃伅鏌ヨ
         public static List<CustomData> CustomBuf() {
             var res = new List<CustomData>();
             string msg = "";
diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs
index 96dd8df..5dab3ac 100644
--- a/process/TaskProcess.cs
+++ b/process/TaskProcess.cs
@@ -6,6 +6,7 @@
 using System.Linq;
 using HH.WCS.Mobox3.AnGang.models;
 using System;
+using HH.WCS.Mobox3.AnGang.util;
 
 namespace HH.WCS.Mobox3.AnGang.process {
     internal class TaskProcess {
@@ -106,13 +107,19 @@
         /// </summary>
         /// <param name="mst"></param>
         internal static bool SendTask(TN_Task mst) {
-
+            var db = new SqlHelper<object>().GetInstance();
             var result = false;
             var start = "0"; var end = "0";
             var taskType = mst.S_TYPE.Trim();
             if (mst.N_B_STATE == 0) {
+                // 鍘熶唬鐮佺増鏈�+                //var code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = mst.S_START_LOC, dst = mst.S_END_LOC }), "p2p");
+                // 灏婇噸鏂囨。鐨勭増鏈紙鏆備笉鑰冭檻淇敼锛屽洜涓烘病鏈夌粓鐐圭珯鐐癸紝涓嶅悎鐞嗭級
+                //var startSite = LocationHelper.GetAgvSite(mst.S_START_LOC);
+                //var endSite = LocationHelper.GetAgvSite(mst.S_END_LOC);
 
-                var code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = mst.S_START_LOC, dst = mst.S_END_LOC }), "p2p");
+                var code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = mst.S_START_LOC, dst = mst.S_END_LOC }), "p2pdst", "pgapi");
+
                 if (code > 0) {
                     //鏇存柊浠诲姟鐘舵�
                     mst.N_B_STATE = 1;

--
Gitblit v1.9.1