From 1c3a7657a5ada8a9ec7e2a6e4a396348c727395d Mon Sep 17 00:00:00 2001 From: czw <selecti@yeah.net> Date: 星期六, 28 六月 2025 17:34:22 +0800 Subject: [PATCH] 1 --- 2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs | 161 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 113 insertions(+), 48 deletions(-) diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/VS\350\207\252\345\256\232\344\271\211\347\261\273/AutoThread.cs" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/VS\350\207\252\345\256\232\344\271\211\347\261\273/AutoThread.cs" index 8e30962..5aed7f8 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/VS\350\207\252\345\256\232\344\271\211\347\261\273/AutoThread.cs" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/VS\350\207\252\345\256\232\344\271\211\347\261\273/AutoThread.cs" @@ -17,6 +17,7 @@ using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox; using System.Security.Cryptography; using System.Windows.Markup; +using static GZ.Projects.AuxAllWCS.EasyPLC; namespace GZ.Projects.AuxAllWCS { @@ -145,6 +146,7 @@ //tag.Js1.D1212_LAST = 0; RedisHelper.Add($"Js鎹烽『1.D1202_LAST", "0", out string msg); } + if (tag.Js1.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 1) { var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new @@ -511,7 +513,6 @@ } } - public void ThreadTaskRun(Tag tag, Func<TaskEntity, bool> action) { Console.WriteLine($"ThreadTaskRun 浠诲姟涓嬪彂 =================> "); @@ -576,8 +577,7 @@ System.Threading.Thread.Sleep(3000); return; } - LogHelper.Info("浠诲姟涓嬪彂 Rgv 浠诲姟 杩涘叆"); - + LogHelper.Info($"浠诲姟涓嬪彂 Rgv 浠诲姟 杩涘叆 Rgv淇℃伅 W1鐘舵�{tag.RGV.w1status} ReadTask1No>{tag.RGV.ReadTask1No} bit1taskOver>{tag.RGV.bit1taskOver} W2鐘舵�{tag.RGV.w2status} ReadTask2No>{tag.RGV.ReadTask2No} bit2taskOver>{tag.RGV.bit2taskOver}"); TaskEntity task1 = null; TaskEntity task2 = null; var task1Isrun = false; @@ -613,6 +613,7 @@ System.Threading.Thread.Sleep(3000); return; } + var thisOver = 0; LogHelper.Info($"鏌ョ湅RGV 1宸ヤ綅浠诲姟銆�); if (tag.RGV.ReadTask1No > 0 && tag.RGV.bit1taskOver == 1) @@ -631,7 +632,7 @@ if (task1.S_B_STATE == "鍙栬揣瀹屾垚") { task1.S_B_STATE = "瀹屾垚"; - //tag.RGV.ReadTask1No = 0; + tag.RGV.ReadTask1No = 0; } else { @@ -673,7 +674,7 @@ if (task2.S_B_STATE == "鍙栬揣瀹屾垚") { task2.S_B_STATE = "瀹屾垚"; - //tag.RGV.ReadTask2No = 0; + tag.RGV.ReadTask2No = 0; } else { @@ -718,15 +719,17 @@ tag.RGV.taskmod = 2; tag.RGV.taskno1 = Convert.ToUInt32(task1.S_TASK_NO.Substring(4)); tag.RGV.task1do = Convert.ToUInt16(task1.S_END_LOC); - System.Threading.Thread.Sleep(750); //RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); //tag.RGV.taskend = 125; //Conn.榛樿Redis.SetValue("RGV.taskend", "125", "RGVQueue"); - LogHelper.Info($"{task1.S_TASK_NO}> bit1taskOver_LAST 鍐�0"); - RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); + if (tag.RGV.bit1taskOver == 1) + tag.RGV.bit1taskOver = 0; LogHelper.Info($"{task1.S_TASK_NO}> end 鍐�125"); Conn.榛樿Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); + + LogHelper.Info($"{task1.S_TASK_NO}> bit1taskOver_LAST 鍐�0"); + RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); } else //1鏈変换鍔� 2 娌′换鍔°� { @@ -743,16 +746,19 @@ { LogHelper.Info($"鏌ョ湅RGV1 鏈変换鍔task1.S_TASK_NO},宸ヤ綅2 娌′换鍔°� 鎵�020 1008 1016鍙栬揣浠诲姟{t2.S_TASK_NO}銆�); tag.RGV.workMod = 2; - LogHelper.Info($"{task1.S_TASK_NO}> workMod 2 銆�宸ヤ綅銆�); + LogHelper.Info($"{t2.S_TASK_NO}> workMod 2 銆�宸ヤ綅銆�); tag.RGV.taskmod = 1; - LogHelper.Info($"{task1.S_TASK_NO}> taskmod 1 銆婂彇璐с�"); + LogHelper.Info($"{t2.S_TASK_NO}> taskmod 1 銆婂彇璐с�"); tag.RGV.taskno2 = Convert.ToUInt32(t2.S_TASK_NO.Substring(4)); tag.RGV.task2do = Convert.ToUInt16(t2.S_START_LOC); - creT2 = true; - LogHelper.Info($"{t2.S_TASK_NO}> bit2taskOver_LAST 鍐�0"); - RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); + + if (tag.RGV.bit2taskOver == 1) + tag.RGV.bit2taskOver = 0; LogHelper.Info($"{t2.S_TASK_NO}> end 鍐�125"); Conn.榛樿Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); + + LogHelper.Info($"{t2.S_TASK_NO}> bit2taskOver_LAST 鍐�0"); + RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); t2.S_B_STATE = "宸叉帹閫�; taskservice.Update(t2); } @@ -810,11 +816,13 @@ LogHelper.Info($"{task1.S_TASK_NO}> taskmod 2 銆婂嵏璐с�"); tag.RGV.taskno1 = Convert.ToUInt32(task1.S_TASK_NO.Substring(4)); tag.RGV.task1do = Convert.ToUInt16(task1.S_END_LOC); - System.Threading.Thread.Sleep(750); - LogHelper.Info($"{task1.S_TASK_NO}> bit1taskOver_LAST 鍐�0"); - RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); + + if (tag.RGV.bit1taskOver == 1) + tag.RGV.bit1taskOver = 0; LogHelper.Info($"{task1.S_TASK_NO}> taskend 鍐�0"); Conn.榛樿Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); + LogHelper.Info($"{task1.S_TASK_NO}> bit1taskOver_LAST 鍐�0"); + RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); } } } @@ -830,12 +838,14 @@ LogHelper.Info($"{task2.S_TASK_NO}> taskmod 2 銆婂嵏璐с�"); tag.RGV.taskno2 = Convert.ToUInt32(task2.S_TASK_NO.Substring(4)); tag.RGV.task2do = Convert.ToUInt16(task2.S_END_LOC); - System.Threading.Thread.Sleep(750); - LogHelper.Info($"{task2.S_TASK_NO}> bit2taskOver_LAST 鍐�0"); - RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); + + if (tag.RGV.bit2taskOver == 1) + tag.RGV.bit2taskOver = 0; //tag.RGV.taskend = 125; LogHelper.Info($"{task2.S_TASK_NO}> taskend 鍐�25"); Conn.榛樿Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); + LogHelper.Info($"{task2.S_TASK_NO}> bit2taskOver_LAST 鍐�0"); + RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); } else if (tklist.Any()) //1mei 浠诲姟 2 娌′换鍔°� { @@ -859,12 +869,14 @@ tag.RGV.taskno1 = tno; LogHelper.Info($"{e1017first.S_TASK_NO}>寮�鍐欏叆 task1do>>{e1017first.S_START_LOC}銆�); tag.RGV.task1do = Convert.ToUInt16(e1017first.S_START_LOC); - LogHelper.Info($"{e1017first.S_TASK_NO}> 鏇存柊浠诲姟銆�); + //tag.RGV.taskend=125 + if (tag.RGV.bit1taskOver == 1) + tag.RGV.bit1taskOver = 0; + LogHelper.Info($"{e1017first.S_TASK_NO}> taskend 鍐�25"); + Conn.榛樿Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); LogHelper.Info($"{e1017first.S_TASK_NO}> bit1taskOver_LAST 鍐�"); RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); - LogHelper.Info($"{e1017first.S_TASK_NO}> taskend 鍐�25"); - //tag.RGV.taskend=125 - Conn.榛樿Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); + LogHelper.Info($"{e1017first.S_TASK_NO}> 鏇存柊浠诲姟銆�); e1017first.S_B_STATE = "宸叉帹閫�; taskservice.Update(e1017first); } @@ -881,10 +893,12 @@ tag.RGV.taskno2 = Convert.ToUInt32(t2.S_TASK_NO.Substring(4)); LogHelper.Info($"{t2.S_TASK_NO}> taskno2 {Convert.ToUInt32(t2.S_TASK_NO.Substring(4))}銆婁换鍔″彿銆�); tag.RGV.task2do = Convert.ToUInt16(t2.S_START_LOC); - LogHelper.Info($"{t2.S_TASK_NO}> bit2taskOver_LAST 鍐�0"); - RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); + if (tag.RGV.bit2taskOver == 1) + tag.RGV.bit2taskOver = 0; LogHelper.Info($"{t2.S_TASK_NO}> end 鍐�125"); Conn.榛樿Redis.SetValue("RGV.taskend", "125", "RGVQueue", false); + LogHelper.Info($"{t2.S_TASK_NO}> bit2taskOver_LAST 鍐�0"); + RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); t2.S_B_STATE = "宸叉帹閫�; taskservice.Update(t2); } @@ -1286,7 +1300,11 @@ { var RArrive = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"FNK1003051113.RArrive{ssx}"), typeof(System.UInt16)); var RArriveLast = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"FNK1003051113.RArrive{ssx}_LAST"), typeof(System.UInt16)); - LogHelper.Info($" FNK1003051113.RArrive{ssx}>{RArrive} && FNK1003051113.RArrive{ssx}_LAST >{RArriveLast}"); + var wArriveOver = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"FNK1003051113.wArrive{ssx}Over"), typeof(System.UInt16)); + var rReleaseOver = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"FNK1003051113.rRelease{ssx}Over"), typeof(System.UInt16)); + var WRelease = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"FNK1003051113.WRelease{ssx}"), typeof(System.UInt16)); + LogHelper.Info($@" 绌哄埌浣�RArrive{ssx}>{RArrive} && 绌哄埌浣嶅鐞�RArrive{ssx}_LAST >{RArriveLast} 鏈烘鎵嬫敹鍒版帶鍒颁綅.wArrive{ssx}Over>{wArriveOver} + 閫佸嚭瀹屾垚.rRelease{ssx}Over>{rReleaseOver} 鏀捐揣瀹屾垚.WRelease{ssx}>{WRelease}"); if (RArrive == 1 && RArriveLast == 0) { if (ssx == "1005" && tag.SF涓嬫枡浣�WRelease1005 == 0) @@ -1331,23 +1349,66 @@ //tag.SF涓嬫枡浣�WSafe1113 = 0; } } - else if (RArrive == 0 && RArriveLast == 1) + else if (RArrive == 0) { - LogHelper.Info($"閲嶇疆 FNK1003051113.RArrive{ssx}_LAST=0"); - RedisHelper.Add($"FNK1003051113.RArrive{ssx}_LAST", "0", out string msg); + if (RArriveLast == 1) + { + LogHelper.Info($"閲嶇疆 FNK1003051113.RArrive{ssx}_LAST=0"); + RedisHelper.Add($"FNK1003051113.RArrive{ssx}_LAST", "0", out string msg); + } + if (wArriveOver == 1) + { + LogHelper.Info($"閲嶇疆 FNK1003051113.wArrive{ssx}Over=0"); + Conn.榛樿Redis.SetValue($"FNK1003051113.wArrive{ssx}Over", "0", $"FNK1003051113Queue"); + } //Conn.榛樿Redis.SetValue($"FNK1003051113.RArrive{ssx}_LAST", "0", $"FNK1003051113Queue"); } + + if (WRelease == 1 && rReleaseOver == 1) + { + switch (ssx) + { + case "1003": + { + LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1 璇籉NK1.D2213{tag.FNK1.D2213}=1? 骞跺啓0"); + tag.FNK1.D2213 = 0; + } + break; + case "1005": + { + LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1 璇籉NK1.D2218{tag.FNK1.D2218}=1? 骞跺啓0"); + tag.FNK1.D2218 = 0; + } + break; + case "1011": + { + LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1 璇籉NK2.D2213{tag.FNK1.D2213}=1? 骞跺啓0"); + tag.FNK2.D2213 = 0; + } + break; + case "1013": + { + LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1 璇籉NK2.D2218{tag.FNK2.D2218}=1? 骞跺啓0"); + tag.FNK2.D2218 = 0; + } + break; + } + LogHelper.Info($"璇粄ssx} WRelease=1&& rReleaseOver=1 WRelease 鍐�"); + Conn.榛樿Redis.SetValue($"FNK1003051113.WRelease{ssx}", "0", $"FNK1003051113Queue"); + } + } } public void ThreadFNK1Over(Tag tag) { Console.WriteLine($"ThreadFNK1Over =====>"); - LogHelper.Info($" FN1 D2217>{tag.FNK1.D2217} D2217LAST>{tag.FNK1.D2217_LAST} D2215>{tag.FNK1.D2215} D2216>{tag.FNK1.D2216} D2215>{tag.FNK1.D2215}"); + LogHelper.Info($" FN1 D2217>{tag.FNK1.D2217} D2217LAST>{tag.FNK1.D2217_LAST} D2215>{tag.FNK1.D2215} D2216>{tag.FNK1.D2216} D2218>{tag.FNK1.D2218}"); //LogHelper.Info($" FN1 .D2217=1,2217_LAST=0 鍐�2215=0锛孌2217_LAST=1锛學Release1005=1 RArrive1005_LAST=0"); if (tag.FNK1.D2217 == 1 && tag.FNK1.D2217_LAST == 0) { - tag.FNK1.D2215 = 0; + //tag.FNK1.D2215 = 0; + tag.FNK1.D2218 = 1; //tag.FNK1.D2212_LAST = 1; RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2217_LAST", "1", out string msg); @@ -1355,7 +1416,7 @@ tag.SF涓嬫枡浣�WSafe0305 = 1; System.Threading.Thread.Sleep(1000); RedisHelper.Add($"FNK1003051113.RArrive1005_LAST", "0", out msg); - LogHelper.Info($" FN1 .D2217=1,2217_LAST=0 鍐�2215=0锛孌2217_LAST=1锛學Release1005=1 RArrive1005_LAST=0"); + LogHelper.Info($" FN1 .D2217=1,2217_LAST=0 鍐�2218=1锛孌2217_LAST=1锛學Release1005=1 RArrive1005_LAST=0"); } else if (tag.FNK1.D2217 == 0 && tag.FNK1.D2217_LAST == 1) { @@ -1366,21 +1427,22 @@ if (tag.FNK1.D2216 == 1) { tag.FNK1.D2215 = 0; - - LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2216=1 鍐橠2215 =0"); + tag.SF涓嬫枡浣�wArrive1005Over = 1; + LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2216=1 鍐橠2215 =0锛�鍐欐満姊版墜鏀跺埌1005 =1"); } - LogHelper.Info($" FN1 D2212>{tag.FNK1.D2212} D2212LAST>{tag.FNK1.D2212_LAST} D2210>{tag.FNK1.D2210} D2211>{tag.FNK1.D2211} D2210>{tag.FNK1.D2210}"); + LogHelper.Info($" FN1 D2212>{tag.FNK1.D2212} D2212LAST>{tag.FNK1.D2212_LAST} D2210>{tag.FNK1.D2210} D2211>{tag.FNK1.D2211} D2213>{tag.FNK1.D2213}"); if (tag.FNK1.D2212 == 1 && tag.FNK1.D2212_LAST == 0) { - tag.FNK1.D2210 = 0; + tag.FNK1.D2213 = 1; + //tag.FNK1.D2210 = 0; //tag.FNK1.D2217_LAST = 1; RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2212_LAST", "1", out string msg); tag.SF涓嬫枡浣�WRelease1003 = 1; tag.SF涓嬫枡浣�WSafe0305 = 1; System.Threading.Thread.Sleep(1000); RedisHelper.Add($"FNK1003051113.RArrive1003_LAST", "0", out msg); - LogHelper.Info($" FN1 .D2212=1,2212_LAST=0 鍐�2210=0锛孌2212_LAST=1锛學Release1003=1 RArrive1003_LAST=0"); + LogHelper.Info($" FN1 .D2212=1,2212_LAST=0 鍐�D2213=1锛孌2212_LAST=1锛學Release1003=1 RArrive1003_LAST=0"); } //else if (tag.FNK1.D2211 == 1) // tag.FNK1.D2210 = 0; @@ -1394,18 +1456,19 @@ if (tag.FNK1.D2211 == 1) { tag.FNK1.D2210 = 0; - - LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2211=1 鍐橠2210 =0"); + tag.SF涓嬫枡浣�wArrive1003Over = 1; + LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2211=1 鍐橠2210 =0 鍐欐満姊版墜鏀跺埌绌哄埌1003=1"); } } public void ThreadFNK2Over(Tag tag) { Console.WriteLine($"ThreadFNK2Over =====>"); - LogHelper.Info($" FN2 D2217>{tag.FNK2.D2217} D2217LAST>{tag.FNK2.D2217_LAST} D2215>{tag.FNK2.D2215} D2216>{tag.FNK2.D2216} D2215>{tag.FNK2.D2215}"); + LogHelper.Info($" FN2 D2217>{tag.FNK2.D2217} D2217LAST>{tag.FNK2.D2217_LAST} D2215>{tag.FNK2.D2215} D2216>{tag.FNK2.D2216} D2218>{tag.FNK2.D2218}"); if (tag.FNK2.D2217 == 1 && tag.FNK2.D2217_LAST == 0) { - tag.FNK2.D2215 = 0; + //tag.FNK2.D2215 = 0; + tag.FNK2.D2218 = 1; //tag.FNK2.D2212_LAST = 1; RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2217_LAST", "1", out string msg); @@ -1413,7 +1476,7 @@ tag.SF涓嬫枡浣�WSafe1113 = 1; System.Threading.Thread.Sleep(1000); RedisHelper.Add($"FNK1003051113.RArrive1013_LAST", "0", out msg); - LogHelper.Info($" FN2 .D2217=1,2217_LAST=0 鍐�2215=0锛孌2217_LAST=1锛學Release1013=1 RArrive1013_LAST=0"); + LogHelper.Info($" FN2 .D2217=1,2217_LAST=0 鍐�2218=1锛孌2217_LAST=1锛學Release1013=1 RArrive1013_LAST=0"); } else if (tag.FNK2.D2217 == 0 && tag.FNK2.D2217_LAST == 1) { @@ -1425,14 +1488,15 @@ if (tag.FNK2.D2216 == 1) { tag.FNK2.D2215 = 0; - - LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2216=1 鍐橠2215 =0"); + tag.SF涓嬫枡浣�wArrive1013Over = 1; + LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2216=1 鍐橠2215 =0 鍐欐満姊版墜鏀跺埌绌哄埌1013=1"); } - LogHelper.Info($" FN2 D2212>{tag.FNK2.D2212} D2212LAST>{tag.FNK2.D2212_LAST} D2210>{tag.FNK2.D2210} D2211>{tag.FNK2.D2211} D2210>{tag.FNK2.D2210}"); + LogHelper.Info($" FN2 D2212>{tag.FNK2.D2212} D2212LAST>{tag.FNK2.D2212_LAST} D2210>{tag.FNK2.D2210} D2211>{tag.FNK2.D2211} D2213>{tag.FNK2.D2213}"); if (tag.FNK2.D2212 == 1 && tag.FNK2.D2212_LAST == 0) { - tag.FNK2.D2210 = 0; + //tag.FNK2.D2210 = 0; + tag.FNK2.D2213 = 1; //tag.FNK2.D2217_LAST = 1; RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2212_LAST", "1", out string msg); @@ -1440,7 +1504,7 @@ tag.SF涓嬫枡浣�WSafe1113 = 1; System.Threading.Thread.Sleep(1000); RedisHelper.Add($"FNK1003051113.RArrive1011_LAST", "0", out msg); - LogHelper.Info($" FN2 .D2212=1,2212_LAST=0 鍐�2210=0锛孌2212_LAST=1锛學Release1011=1 RArrive1011_LAST=0"); + LogHelper.Info($" FN2 .D2212=1,2212_LAST=0 鍐�2213=1锛孌2212_LAST=1锛學Release1011=1 RArrive1011_LAST=0"); } else if (tag.FNK2.D2212 == 0 && tag.FNK2.D2212_LAST == 1) { @@ -1451,7 +1515,8 @@ if (tag.FNK2.D2211 == 1) { tag.FNK2.D2210 = 0; - LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2211=1 鍐橠2210 =0"); + tag.SF涓嬫枡浣�wArrive1011Over = 1; + LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2211=1 鍐橠2210 =0 鍐欐満姊版墜鏀跺埌绌哄埌1011 wArrive1011Over=1"); } } -- Gitblit v1.9.1