From 64637a704e8df787bb1ccc99d28eab0e37ceffea Mon Sep 17 00:00:00 2001
From: czw <selecti@yeah.net>
Date: 星期六, 28 六月 2025 17:15:11 +0800
Subject: [PATCH] 1

---
 2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs |  367 ++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 271 insertions(+), 96 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 b9d7a95..655f291 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"
@@ -15,6 +15,9 @@
 using static System.Windows.Forms.VisualStyles.VisualStyleElement;
 using System.Windows.Interop;
 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
 {
@@ -104,6 +107,12 @@
             {
                 tag.Global.SettingsOver = 0;
             }
+            else tag.Global.SettingsOver++;
+            if (tag.Global.SettingsOver > 999)
+            {
+                tag.Global.SettingsOver = 1;
+                Console.Clear();
+            }
         }
 
         /// <summary>
@@ -125,17 +134,19 @@
                         endBit = VERX.location[0]
                     }));
                     LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}");
-                    if (str.Contains("true"))
+                    var strr = JsonConvert.DeserializeObject<Messss>(str);
+                    if (strr != null && strr.success && strr.data?.state == 0)
                     {
                         //tag.Js1.D1212_LAST = 1;
-                        RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "1", out string msg);
+                        RedisHelper.Add($"Js鎹烽『1.D1202_LAST", "1", out string msg);
                     }
                 }
                 if (tag.Js1.D1212_LAST == 1 && TcpServer.GetBitdata(tag.Js1.D1212, 2) == 0)
                 {
                     //tag.Js1.D1212_LAST = 0; 
-                    RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "0", out string msg);
+                    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
@@ -144,16 +155,17 @@
                         endBit = VERX.location[1]
                     }));
                     LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}");
-                    if (str.Contains("true"))
+                    var strr = JsonConvert.DeserializeObject<Messss>(str);
+                    if (strr != null && strr.success && strr.data?.state == 0)
                     {
                         //tag.Js1.D1213_LAST = 1;
-                        RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "1", out string msg);
+                        RedisHelper.Add($"Js鎹烽『1.D1203_LAST", "1", out string msg);
                     }
                 }
                 if (tag.Js1.D1213_LAST == 1 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 0)
                 {
                     //tag.Js1.D1213_LAST = 0;
-                    RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "0", out string msg);
+                    RedisHelper.Add($"Js鎹烽『1.D1203_LAST", "0", out string msg);
                 }
             }
         }
@@ -176,18 +188,17 @@
                         endBit = VERX.location[0]
                     }));
                     LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}");
-                    if (str.Contains("true"))
+                    var strr = JsonConvert.DeserializeObject<Messss>(str);
+                    if (strr != null && strr.success && strr.data?.state == 0)
                     {
-                        //tag.Js2.D1212_LAST = 1;
-
-                        RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "1", out string msg);
+                        RedisHelper.Add($"Js鎹烽『2.D1202_LAST", "1", out string msg);
                     }
                 }
                 if (tag.Js2.D1212_LAST == 1 && TcpServer.GetBitdata(tag.Js2.D1212, 2) == 0)
                 {
                     //tag.Js2.D1212_LAST = 0;
 
-                    RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "0", out string msg);
+                    RedisHelper.Add($"Js鎹烽『2.D1202_LAST", "0", out string msg);
                 }
                 if (tag.Js2.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js2.D1212, 3) == 1)
                 {
@@ -197,18 +208,18 @@
                         endBit = VERX.location[1]
                     }));
                     LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}");
-                    if (str.Contains("true"))
-                    {
-                        //tag.Js2.D1213_LAST = 1;
 
-                        RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "1", out string msg);
+                    var strr = JsonConvert.DeserializeObject<Messss>(str);
+                    if (strr != null && strr.success && strr.data?.state == 0)
+                    {
+                        RedisHelper.Add($"Js鎹烽『2.D1203_LAST", "1", out string msg);
                     }
                 }
                 if (tag.Js2.D1213_LAST == 1 && TcpServer.GetBitdata(tag.Js2.D1213, 2) == 0)
                 {
                     //tag.Js2.D1213_LAST = 0;
 
-                    RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "0", out string msg);
+                    RedisHelper.Add($"Js鎹烽『2.D1203_LAST", "0", out string msg);
                 }
             }
         }
@@ -235,9 +246,11 @@
                             endBit = ""
                         }));
                         LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}");
-                        if (str.Contains("true"))
+                        var strr = JsonConvert.DeserializeObject<Messss>(str);
+                        if (strr != null && strr.success && strr.data?.state == 0)
                         {
-                            tag.wxr1.R44_LAST = true;
+                            //tag.wxr1.R44_LAST = true;
+                            RedisHelper.Add($"缁村笇灏旀姄鑷�.R44_LAST", "true", out string msg);
                         }
                     }
                     else
@@ -252,7 +265,8 @@
                     {
                         if (tag.wxr1.R10)
                         {
-                            tag.wxr1.R10_LAST = false;
+                            //tag.wxr1.R10_LAST = false;
+                            RedisHelper.Add($"缁村笇灏旀姄鑷�.R10_LAST", "false", out string msg);
                         }
                         else
                         if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[0], out string traycode))
@@ -268,7 +282,8 @@
                             {
                                 //Conn.榛樿Redis.SetValue("缁村笇灏旀姄鑷�.R10", "true", "缁村笇灏旀姄鑷�Queue");
                                 tag.wxr1.R10 = true;
-                                tag.wxr1.R44_LAST = false;
+                                //tag.wxr1.R44_LAST = false;
+                                RedisHelper.Add($"缁村笇灏旀姄鑷�.R44_LAST", "false", out string msg);
                             }
                             else
                             {
@@ -304,9 +319,11 @@
                             endBit = ""
                         }));
                         LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}");
-                        if (str.Contains("true"))
+                        var strr = JsonConvert.DeserializeObject<Messss>(str);
+                        if (strr != null && strr.success && strr.data?.state == 0)
                         {
-                            tag.wxr1.R46_LAST = true;
+                            //tag.wxr1.R46_LAST = true;
+                            RedisHelper.Add($"缁村笇灏旀姄鑷�.R46_LAST", "true", out string msg);
                         }
                     }
                     else
@@ -320,7 +337,8 @@
                     {
                         if (tag.wxr1.R11)
                         {
-                            tag.wxr1.R11_LAST = false;
+                            //tag.wxr1.R11_LAST = false;
+                            RedisHelper.Add($"缁村笇灏旀姄鑷�.R11_LAST", "false", out string msg);
                         }
                         else
                         if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[1], out string traycode))
@@ -336,7 +354,8 @@
                             {
                                 //Conn.榛樿Redis.SetValue("缁村笇灏旀姄鑷�.R10", "true", "缁村笇灏旀姄鑷�Queue");
                                 tag.wxr1.R11 = true;
-                                tag.wxr1.R46_LAST = false;
+                                //tag.wxr1.R46_LAST = false;
+                                RedisHelper.Add($"缁村笇灏旀姄鑷�.R46_LAST", "false", out string msg);
                             }
                             else
                             {
@@ -372,9 +391,11 @@
                             endBit = ""
                         }));
                         LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}");
-                        if (str.Contains("true"))
+                        var strr = JsonConvert.DeserializeObject<Messss>(str);
+                        if (strr != null && strr.success && strr.data?.state == 0)
                         {
-                            tag.wxr2.R44_LAST = true;
+                            //tag.wxr2.R44_LAST = true;
+                            RedisHelper.Add($"缁村笇灏旀姄鑷�.R44_LAST", "true", out string msg);
                         }
                     }
                     else
@@ -388,7 +409,8 @@
                     {
                         if (tag.wxr2.R10)
                         {
-                            tag.wxr2.R10_LAST = false;
+                            //tag.wxr2.R10_LAST = false;
+                            RedisHelper.Add($"缁村笇灏旀姄鑷�.R10_LAST", "false", out string msg);
                         }
                         else
                         if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[0], out string traycode))
@@ -404,7 +426,8 @@
                             {
                                 //Conn.榛樿Redis.SetValue("缁村笇灏旀姄鑷�.R10", "true", "缁村笇灏旀姄鑷�Queue");
                                 tag.wxr2.R10 = true;
-                                tag.wxr2.R44_LAST = false;
+                                //tag.wxr2.R44_LAST = false;
+                                RedisHelper.Add($"缁村笇灏旀姄鑷�.R44_LAST", "false", out string msg);
                             }
                             else
                             {
@@ -441,9 +464,11 @@
                             endBit = ""
                         }));
                         LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}");
-                        if (str.Contains("true"))
+                        var strr = JsonConvert.DeserializeObject<Messss>(str);
+                        if (strr != null && strr.success && strr.data?.state == 0)
                         {
-                            tag.wxr2.R46_LAST = true;
+                            //tag.wxr2.R46_LAST = true;
+                            RedisHelper.Add($"缁村笇灏旀姄鑷�.R46_LAST", "true", out string msg);
                         }
                     }
                     else
@@ -457,7 +482,8 @@
                     {
                         if (tag.wxr2.R11)
                         {
-                            tag.wxr2.R11_LAST = false;
+                            //tag.wxr2.R11_LAST = false;
+                            RedisHelper.Add($"缁村笇灏旀姄鑷�.R11_LAST", "false", out string msg);
                         }
                         else
                         if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[1], out string traycode))
@@ -473,7 +499,8 @@
                             {
                                 //Conn.榛樿Redis.SetValue("缁村笇灏旀姄鑷�.R10", "true", "缁村笇灏旀姄鑷�Queue");
                                 tag.wxr2.R11 = true;
-                                tag.wxr2.R46_LAST = false;
+                                //tag.wxr2.R46_LAST = false;
+                                RedisHelper.Add($"缁村笇灏旀姄鑷�.R46_LAST", "false", out string msg);
                             }
                             else
                             {
@@ -486,7 +513,6 @@
             }
         }
 
-
         public void ThreadTaskRun(Tag tag, Func<TaskEntity, bool> action)
         {
             Console.WriteLine($"ThreadTaskRun 浠诲姟涓嬪彂 =================> ");
@@ -495,7 +521,7 @@
             ITaskRepository taskservice = new TaskRepository();
             try
             {
-                LogHelper.Info("浠诲姟涓嬪彂  ARG 浠诲姟 杩涘叆");
+                LogHelper.Info("浠诲姟涓嬪彂  AGV 浠诲姟 杩涘叆");
                 #region AGV浠诲姟涓嬪彂銆� 
                 var tklist = taskservice.FindList(x => x.S_B_STATE == "鏈墽琛� && x.S_WORK_MODE == "AGV");
@@ -551,8 +577,7 @@
                     System.Threading.Thread.Sleep(3000);
                     return;
                 }
-                LogHelper.Info("浠诲姟涓嬪彂  Rgv 浠诲姟 杩涘叆");
-
+                LogHelper.Info($"浠诲姟涓嬪彂 Rgv 浠诲姟 杩涘叆 Rgv淇℃伅  ReadTask1No>{tag.RGV.ReadTask1No} bit1taskOver>{tag.RGV.bit1taskOver} ReadTask2No>{tag.RGV.ReadTask2No} bit2taskOver>{tag.RGV.bit2taskOver}");
                 TaskEntity task1 = null;
                 TaskEntity task2 = null;
                 var task1Isrun = false;
@@ -588,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)
@@ -597,7 +623,7 @@
                     string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0'));
                     task1 = taskservice.FindEntity(x => x.S_TASK_NO == tno);
 
-                    LogHelper.Info($"RGV 1宸ヤ綅浠诲姟{JsonConvert.SerializeObject(task1)}.bit1taskOver_LAST锛歿tag.RGV.bit1taskOver_LAST}");
+                    LogHelper.Info($"RGV 1宸ヤ綅浠诲姟{task1?.S_TASK_NO}.bit1taskOver_LAST锛歿tag.RGV.bit1taskOver_LAST}");
                     if (tag.RGV.bit1taskOver_LAST == 0 && task1 != null)
                     {
                         if (task1.S_B_STATE != "瀹屾垚")
@@ -606,7 +632,7 @@
                             if (task1.S_B_STATE == "鍙栬揣瀹屾垚")
                             {
                                 task1.S_B_STATE = "瀹屾垚";
-                                //tag.RGV.ReadTask1No = 0;
+                                tag.RGV.ReadTask1No = 0;
                             }
                             else
                             {
@@ -639,7 +665,7 @@
                     string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0'));
                     task2 = taskservice.FindEntity(x => x.S_TASK_NO == tno);
 
-                    LogHelper.Info($"RGV2宸ヤ綅浠诲姟{JsonConvert.SerializeObject(task2)}.bit2taskOver_LAST锛歿tag.RGV.bit2taskOver_LAST}");
+                    LogHelper.Info($"RGV2宸ヤ綅浠诲姟{task2?.S_TASK_NO}.bit2taskOver_LAST锛歿tag.RGV.bit2taskOver_LAST}");
                     if (tag.RGV.bit2taskOver_LAST == 0 && task2 != null)
                     {
                         if (task2.S_B_STATE != "瀹屾垚")
@@ -648,7 +674,7 @@
                             if (task2.S_B_STATE == "鍙栬揣瀹屾垚")
                             {
                                 task2.S_B_STATE = "瀹屾垚";
-                                //tag.RGV.ReadTask2No = 0;
+                                tag.RGV.ReadTask2No = 0;
                             }
                             else
                             {
@@ -693,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 娌′换鍔°�  
                     {
@@ -718,19 +746,21 @@
                         {
                             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);
-                            t2.S_B_STATE = "宸叉帹閫�;
-                            taskservice.Update(t2);
-                            creT2 = true;
-                            System.Threading.Thread.Sleep(750);
-                            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);
                         }
                         ////2 濡傛灉鏈夊悓渚у彇璐т换鍔°�灏卞彇銆傛病鏈�                         //else if (leftSide.Contains(task1.S_START_LOC))
@@ -786,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);
                         }
                     }
                 }
@@ -806,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 娌′换鍔°�
                     {
@@ -835,15 +869,16 @@
                             tag.RGV.taskno1 = tno;
                             LogHelper.Info($"{e1017first.S_TASK_NO}>寮�鍐欏叆 task1do>>{e1017first.S_START_LOC}銆�);
                             tag.RGV.task1do = Convert.ToUInt16(e1017first.S_START_LOC);
+                            //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}> 鏇存柊浠诲姟銆�);
                             e1017first.S_B_STATE = "宸叉帹閫�;
                             taskservice.Update(e1017first);
-                            System.Threading.Thread.Sleep(750);
-                            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);
                         }
                         else
                         {
@@ -858,13 +893,14 @@
                                 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);
-                                t2.S_B_STATE = "宸叉帹閫�;
-                                taskservice.Update(t2);
-                                System.Threading.Thread.Sleep(750);
-                                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);
                             }
                         }
                     }
@@ -881,13 +917,15 @@
 
         public void ThreadGrats(Tag tag, Action<HaiKangOrderInfo> continueTask)
         {
-            Console.WriteLine($"ThreadGrats 鍏夋爡澶勭悊 =================> ");
+            LogHelper.Info($"ThreadGrats 鍏夋爡澶勭悊 =================> ");
+
             var taskCOdes = new List<string> { "Sarrive", "Srelease", "Earrive", "Erelease" };
             TaskActRepository taskActRepository = new TaskActRepository();
             TaskRepository taskRepository = new TaskRepository();
-            var requires = taskActRepository.FindList(x => taskCOdes.Contains(x.S_ACTION_CODE) && x.N_CREATEMETHOD == 0);
+            var requires = taskActRepository.FindList(x => taskCOdes.Contains(x.S_ACTION_CODE) && x.N_CREATEMETHOD == 0).OrderBy(x => x.T_CREATE);
             foreach (var item in requires)
             {
+                LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE}鍏夋爡澶勭悊 =================> ");
                 var tin = taskCOdes.IndexOf(item.S_ACTION_CODE);
                 if (tin == -1)
                 {
@@ -895,7 +933,13 @@
                     taskActRepository.Update(item);
                     continue;
                 }
-                //var task = taskRepository.FindEntity(x => x.S_TASK_NO == item.S_TASK_NO);
+                var task = taskRepository.FindEntity(x => x.S_TASK_NO == item.S_TASK_NO);
+                if (task == null)
+                {
+                    item.N_CREATEMETHOD = -1;
+                    taskActRepository.Update(item);
+                    continue;
+                }
                 string loc = "";
                 if (tin < 2)
                 {
@@ -911,21 +955,26 @@
                 var dev = Settings.deviceInfos.Find(x => x.location.Contains(loc));
                 if (dev != null)
                 {
+                    LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 鍏夋爡澶勭悊 =================> ");
                     var V = dev.location.ToList().FindIndex(x => x == loc) == 0;
                     //杞﹁蛋浜� 寮�厜鏍�                     if (!goin)
                     {
                         if (dev.deviceType == 1)
                         {
+                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 寮�惎鍏夋爡澶勭悊 =================> ");
                             LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆� + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "R02" : "R04"), "true", dev.deviceName + "Queue"));
-                            Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "R02" : "R04"), "true", dev.deviceName + "Queue");
-
+                            Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "R02" : "R04"), "true", dev.deviceName + "Queue", false);
                         }
                         else if (dev.deviceType == 2)
                         {
+                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 寮�惎鍏夋爡澶勭悊 =================> ");
                             LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆� + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1222" : "D1223"), "1", dev.deviceName + "Queue"));
+
+                            Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "0", dev.deviceName + "Queue");
                             Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "1", dev.deviceName + "Queue");
                         }
+                        LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 寮�惎鍏夋爡澶勭悊瀹屾垚 =================> ");
 
                         item.N_CREATEMETHOD = 1;
                         taskActRepository.Update(item);
@@ -935,7 +984,9 @@
                     {
                         if (dev.deviceType == 1)
                         {
+                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 鍏抽棴鍏夋爡澶勭悊 =================> ");
                             var tf = Conn.榛樿Redis.GetValue(dev.deviceName + "." + (V ? "R50" : "R52"));//璇诲叧闂姸鎬�+                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 鍏夋爡鍏抽棴淇″彿{tf}");
                             if (tf?.ToLower() == "true")
                             {
                                 LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆�宸茬粡鍏抽棴锛�);
@@ -944,26 +995,33 @@
                             else
                             {
                                 LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆� + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue"));
-                                Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue");
+                                Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue", false);
                             }
-
+                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 鍏抽棴鍏夋爡澶勭悊瀹屾垚 =================> ");
                         }
                         else if (dev.deviceType == 2)
                         {
+                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 鍏抽棴鍏夋爡澶勭悊 =================> ");
                             var tf = Conn.榛樿Redis.GetValue(dev.deviceName + ".D1202");
                             int numm = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf);
-                            if (TcpServer.GetBitdata(numm, (V ? 0 : 1)) == 1)
+                            int close = TcpServer.GetBitdata(numm, (V ? 0 : 1));
+                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 鍏夋爡鍏抽棴淇″彿{close}");
+                            if (close == 1)
                             {
                                 LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆�宸茬粡鍏抽棴锛�);
                                 continuuuuu = true;
                             }
                             else
                             {
-                                LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆� + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1220" : "D1221"), dev.deviceName + "Queue"));
+                                LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆� + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue"));
+                                Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "0", dev.deviceName + "Queue");
                                 Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue");
-                            }
-                        }
 
+                                string d12201 = RedisHelper.Get<string>(dev.deviceName + "." + (V ? "D1220" : "D1221"), out string msg);
+                                LogHelper.Info($"ThreadGrats 鍐檣(dev.deviceName + "." + (V ? "D1220" : "D1221"))}涓�1 锛�鍚庤{d12201}");
+                            }
+                            LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 鍏抽棴鍏夋爡澶勭悊瀹屾垚 =================> ");
+                        }
                     }
 
                 }
@@ -980,23 +1038,35 @@
                 }
             }
             System.Threading.Thread.Sleep(3000);
+            LogHelper.Info($"ThreadGrats deviceType2鍏夋爡鍐欏叆浣嶉噸缃�=================> ");
             //閲嶇疆淇″彿
             foreach (var dev in Settings.deviceInfos.FindAll(x => x.deviceType == 2))
             {
                 var tf = Conn.榛樿Redis.GetValue(dev.deviceName + ".D1202");
                 int numm = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf);
+                //int int0 = TcpServer.GetBitdata(numm, 0);
+                //int int1 = TcpServer.GetBitdata(numm, 1);
+
                 if (TcpServer.GetBitdata(numm, 0) == 0)
                 {
-                    Conn.榛樿Redis.SetValue(dev.deviceName + ".D1220", "0", dev.deviceName + "Queue");
-                    Conn.榛樿Redis.SetValue(dev.deviceName + ".D1222", "0", dev.deviceName + "Queue");
+                    Conn.榛樿Redis.SetValue(dev.deviceName + ".D1220", "0", dev.deviceName + "Queue", false);
+                    Conn.榛樿Redis.SetValue(dev.deviceName + ".D1222", "0", dev.deviceName + "Queue", false);
                 }
-                else if (TcpServer.GetBitdata(numm, 1) == 0)
+                if (TcpServer.GetBitdata(numm, 1) == 0)
                 {
-                    Conn.榛樿Redis.SetValue(dev.deviceName + ".D1221", "0", dev.deviceName + "Queue");
-                    Conn.榛樿Redis.SetValue(dev.deviceName + ".D1223", "0", dev.deviceName + "Queue");
+                    Conn.榛樿Redis.SetValue(dev.deviceName + ".D1221", "0", dev.deviceName + "Queue", false);
+                    Conn.榛樿Redis.SetValue(dev.deviceName + ".D1223", "0", dev.deviceName + "Queue", false);
+                }
+                if (TcpServer.GetBitdata(numm, 2) == 0)
+                {
+                    Conn.榛樿Redis.SetValue(dev.deviceName + ".D1224", "0", dev.deviceName + "Queue", false);
+                }
+                if (TcpServer.GetBitdata(numm, 3) == 0)
+                {
+                    Conn.榛樿Redis.SetValue(dev.deviceName + ".D1225", "0", dev.deviceName + "Queue", false);
                 }
             }
-
+            LogHelper.Info($"ThreadGrats deviceType2鍏夋爡鍐欏叆浣嶉噸缃畬鎴愩� =================> ");
         }
         /// <summary>
         /// 1020  1023绌烘涓嬬嚎
@@ -1230,10 +1300,16 @@
             {
                 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));
+                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)
                     {
+                        LogHelper.Info($"ssx == 1005 && tag.SF涓嬫枡浣�WRelease1005:{tag.SF涓嬫枡浣�WRelease1005}  鍐檉1 2215=1锛孯Arrive1005_LAST=1");
                         tag.FNK1.D2215 = 1;
                         //tag.SF涓嬫枡浣�RArrive1005_LAST = 1;
                         RedisHelper.Add($"FNK1003051113.RArrive1005_LAST", "1", out string msg);
@@ -1243,6 +1319,7 @@
                     }
                     else if (ssx == "1003" && tag.SF涓嬫枡浣�WRelease1003 == 0)
                     {
+                        LogHelper.Info($"ssx == 1003 && tag.SF涓嬫枡浣�WRelease1003:{tag.SF涓嬫枡浣�WRelease1003}  鍐檉1 2210=1锛孯Arrive1003_LAST=1");
                         tag.FNK1.D2210 = 1;
                         //tag.SF涓嬫枡浣�RArrive1003_LAST = 1;
 
@@ -1253,6 +1330,7 @@
                     }
                     else if (ssx == "1013" && tag.SF涓嬫枡浣�WRelease1013 == 0)
                     {
+                        LogHelper.Info($"ssx == 1013 && tag.SF涓嬫枡浣�WRelease1013:{tag.SF涓嬫枡浣�WRelease1013}  鍐檉2 2215=1锛孯Arrive1013_LAST=1");
                         tag.FNK2.D2215 = 1;
                         //tag.SF涓嬫枡浣�RArrive1013_LAST = 1;
                         RedisHelper.Add($"FNK1003051113.RArrive1013_LAST", "1", out string msg);
@@ -1262,6 +1340,7 @@
                     }
                     else if (ssx == "1011" && tag.SF涓嬫枡浣�WRelease1011 == 0)
                     {
+                        LogHelper.Info($"ssx == 1011 && tag.SF涓嬫枡浣�WRelease1011:{tag.SF涓嬫枡浣�WRelease1011}  鍐檉2 2210=1锛孯Arrive1011_LAST=1");
                         tag.FNK2.D2210 = 1;
                         //tag.SF涓嬫枡浣�RArrive1011_LAST = 1;
                         RedisHelper.Add($"FNK1003051113.RArrive1011_LAST", "1", out string msg);
@@ -1270,20 +1349,66 @@
                         //tag.SF涓嬫枡浣�WSafe1113 = 0;
                     }
                 }
-                else if (RArrive == 0 && RArriveLast == 1)
+                else if (RArrive == 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} 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);
 
@@ -1291,22 +1416,33 @@
                 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 鍐�2218=1锛孌2217_LAST=1锛學Release1005=1 RArrive1005_LAST=0");
             }
-            if (tag.FNK1.D2216 == 1)
-                tag.FNK1.D2215 = 0;
             else if (tag.FNK1.D2217 == 0 && tag.FNK1.D2217_LAST == 1)
+            {
                 //tag.FNK1.D2217_LAST = 0;
                 RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2217_LAST", "0", out string msg);
+                LogHelper.Info($" p鍙戦偅绉�涓嬬嚎.D2217_LAST=0");
+            }
+            if (tag.FNK1.D2216 == 1)
+            {
+                tag.FNK1.D2215 = 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} 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 鍐�D2213=1锛孌2212_LAST=1锛學Release1003=1 RArrive1003_LAST=0");
             }
             //else if (tag.FNK1.D2211 == 1)
             //    tag.FNK1.D2210 = 0;
@@ -1314,17 +1450,25 @@
             {
                 //tag.FNK1.D2212_LAST = 0;
                 RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2212_LAST", "0", out string msg);
+                LogHelper.Info($" p鍙戦偅绉�涓嬬嚎.D2212_LAST=0");
             }
-            if (tag.FNK1.D2211 == 1)
-                tag.FNK1.D2210 = 0;
 
+            if (tag.FNK1.D2211 == 1)
+            {
+                tag.FNK1.D2210 = 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} 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);
 
@@ -1332,17 +1476,27 @@
                 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 鍐�2218=1锛孌2217_LAST=1锛學Release1013=1 RArrive1013_LAST=0");
             }
             else if (tag.FNK2.D2217 == 0 && tag.FNK2.D2217_LAST == 1)
+            {
                 //tag.FNK2.D2217_LAST = 0;
                 RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2217_LAST", "0", out string msg);
 
+                LogHelper.Info($" p鍙戦偅绉�涓嬬嚎.D2217_LAST=0");
+            }
             if (tag.FNK2.D2216 == 1)
+            {
                 tag.FNK2.D2215 = 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} 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);
 
@@ -1350,16 +1504,23 @@
                 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 鍐�2213=1锛孌2212_LAST=1锛學Release1011=1 RArrive1011_LAST=0");
             }
             else if (tag.FNK2.D2212 == 0 && tag.FNK2.D2212_LAST == 1)
             {
                 //tag.FNK2.D2212_LAST = 0;
                 RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2212_LAST", "0", out string msg);
+                LogHelper.Info($" p鍙戦偅绉�涓嬬嚎.D2212_LAST=0");
             }
             if (tag.FNK2.D2211 == 1)
+            {
                 tag.FNK2.D2210 = 0;
-
+                tag.SF涓嬫枡浣�wArrive1011Over = 1;
+                LogHelper.Info($" p鍙戦偅绉�涓嬬嚎 璇籇2211=1  鍐橠2210 =0 鍐欐満姊版墜鏀跺埌绌哄埌1011 wArrive1011Over=1");
+            }
         }
+
+
 
         public void Thread1019Down(Tag tag)
         {
@@ -1389,6 +1550,20 @@
 
 
     }
+
+    class Messss
+    {
+        public bool success { get; set; }
+        public Ddata data { get; set; }
+        public object extra { get; set; }
+    }
+
+    public class Ddata
+    {
+        public string reqCode { get; set; }
+        public int state { get; set; }
+        public string error { get; set; }
+    }
 }
 
 #endregion [鑷畾涔夌被-VS][20250623083459471][AutoThread]
\ No newline at end of file

--
Gitblit v1.9.1