From 9ca7e0307c853871aa984c25eacee18eee01e02d Mon Sep 17 00:00:00 2001
From: czw <selecti@yeah.net>
Date: 星期二, 08 七月 2025 09:10:03 +0800
Subject: [PATCH] 1

---
 2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs |  149 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 124 insertions(+), 25 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 2627aa9..8fc49a1 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"
@@ -26,6 +26,7 @@
 using System.Net;
 using System.Threading;
 using System.IO;
+using GZ.Device.Agv;
 
 namespace GZ.Projects.AuxAllWCS
 {
@@ -77,8 +78,8 @@
             }
 
             // 鎵ц濮旀墭
-            //if (methodName != "TaskEverythingRun")
-            //    return null;
+            if (methodName != "TaskEverythingRun")
+                return null;
             return methodDelegate.DynamicInvoke(args);
         }
 
@@ -387,7 +388,7 @@
                             }));
                             var strr = JsonConvert.DeserializeObject<Mesrespone>(str);
                             if (strr != null && strr.success)
-                                //if (str.Contains("true"))
+                            //if (str.Contains("true"))
                             {
                                 //Conn.榛樿Redis.SetValue("缁村笇灏旀姄鑷�.R10", "true", "缁村笇灏旀姄鑷�Queue");
                                 //tag.wxr1.R11 = true;
@@ -469,7 +470,7 @@
                             }));
                             var strr = JsonConvert.DeserializeObject<Mesrespone>(str);
                             if (strr != null && strr.success)
-                                //if (str.Contains("true"))
+                            //if (str.Contains("true"))
                             {
                                 //Conn.榛樿Redis.SetValue("缁村笇灏旀姄鑷�.R10", "true", "缁村笇灏旀姄鑷�Queue");
                                 //tag.wxr2.R10 = true;
@@ -647,11 +648,18 @@
                 }
                 if (tag.RGV.taskend == 125)
                 {
-                    LogHelper.Info($"RGV 鏈�25鍛戒护鏈墽琛屻�");
+                    LogHelper.Info($"RGV 鏈�25鍛戒护鏈墽琛屻� ");
+                    LogHelper.Info($"RGV125鍛戒护鏈墽琛�浠诲姟鏁版嵁 workmode:{tag.RGV.workMod}\n taskmod{tag.RGV.taskmod} \n t1No:{tag.RGV.taskno1}\n t1do:{tag.RGV.task1do} \n t2No:{tag.RGV.taskno2}\n t2do:{tag.RGV.task2do}\n taskend:{tag.RGV.taskend} ");
+                    
+                    if (tag.RGV.workMod == 0 && tag.RGV.taskmod == 0 && tag.RGV.taskno1 == tag.RGV.ReadTask1No && tag.RGV.taskno2 == tag.RGV.ReadTask2No)
+                    {
+                        LogHelper.Info($"RGV125鍛戒护鏈墽琛�tag.RGV.workMod == 0 && tag.RGV.taskmod == 0 && tag.RGV.taskno1 == tag.RGV.ReadTask1No && tag.RGV.taskno2 == tag.RGV.ReadTask2No  鑷姩娓呴櫎125");
+                        Conn.榛樿Redis.SetValue("RGV.taskend", "0", "RGVQueue", false);
+                    }
                     System.Threading.Thread.Sleep(3000);
                     return;
                 }
-                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}");
+                LogHelper.Info($"浠诲姟涓嬪彂 Rgv 浠诲姟 杩涘叆 Rgv淇℃伅 W1鐘舵�{tag.RGV.w1status} ReadTask1No>{tag.RGV.ReadTask1No} 1宸ヤ綅鏉$爜:{tag.RGV.bit1Code} bit1taskOver>{tag.RGV.bit1taskOver} W2鐘舵�{tag.RGV.w2status} ReadTask2No>{tag.RGV.ReadTask2No} 2宸ヤ綅鏉$爜:{tag.RGV.bit2Code} bit2taskOver>{tag.RGV.bit2taskOver}");
                 TaskEntity task1 = null;
                 TaskEntity task2 = null;
                 var task1Isrun = false;
@@ -713,7 +721,7 @@
                                 task1.S_B_STATE = "鍙栬揣瀹屾垚";
                             }
                             //tag.RGV.bit1taskOver = 0;
-                            LogHelper.Info($"RGV 1宸ヤ綅浠诲姟{task1.S_TASK_NO} 鐘舵�鍒囨崲涓簕task1.S_B_STATE}");
+                            LogHelper.Info($"RGV 1宸ヤ綅浠诲姟{task1.S_TASK_NO} 鏉$爜锛歿tag.RGV.bit1Code} 鐘舵�鍒囨崲涓簕task1.S_B_STATE}");
                             //tag.RGV.bit1taskOver_LAST = 1;
                             RedisHelper.Add($"RGV.bit1taskOver_LAST", "1", out string msg);
                             LogHelper.Info($"RGV 1宸ヤ綅浠诲姟鍐欏鐞�);
@@ -755,7 +763,7 @@
                                 task2.S_B_STATE = "鍙栬揣瀹屾垚";
                             }
                             //tag.RGV.bit2taskOver = 0;
-                            LogHelper.Info($"RGV 2宸ヤ綅浠诲姟{task2.S_TASK_NO} 鐘舵�鍒囨崲涓簕task2.S_B_STATE}");
+                            LogHelper.Info($"RGV 2宸ヤ綅浠诲姟{task2.S_TASK_NO} 鏉$爜锛歿tag.RGV.bit2Code} 鐘舵�鍒囨崲涓簕task2.S_B_STATE}");
                             RedisHelper.Add($"RGV.bit2taskOver_LAST", "1", out string msg);
                             LogHelper.Info($"RGV 2宸ヤ綅浠诲姟鍐欏鐞�);
                             taskservice.Update(task2);
@@ -893,7 +901,7 @@
 
                             if (tag.RGV.bit1taskOver == 1)
                                 tag.RGV.bit1taskOver = 0;
-                            LogHelper.Info($"{task1.S_TASK_NO}> taskend 鍐�0");
+                            LogHelper.Info($"{task1.S_TASK_NO}> taskend 鍐�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);
@@ -996,7 +1004,18 @@
             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).OrderBy(x => x.T_CREATE);
+            var requires = taskActRepository.FindList(x => taskCOdes.Contains(x.S_ACTION_CODE) && x.N_CREATEMETHOD == 0).OrderBy(x => x.T_CREATE).ToList();
+            var timeMorhours = requires.FindAll(x => DateTime.Now.Subtract(x.T_CREATE).TotalHours > 1);
+            if (timeMorhours.Any())
+            {
+                foreach (var mor in timeMorhours)
+                {
+                    mor.N_CREATEMETHOD = 2;
+                    mor.S_REVIEW_COMMENT = "瓒呮椂涓嶅鐞�;
+                    taskActRepository.Update(mor);
+                }
+                requires = requires.Except(timeMorhours).ToList();
+            }
             foreach (var item in requires)
             {
                 LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE}鍏夋爡澶勭悊 =================> ");
@@ -1004,6 +1023,7 @@
                 if (tin == -1)
                 {
                     item.N_CREATEMETHOD = -1;
+                    item.S_REVIEW_COMMENT = $"淇″彿鏈煡{item.S_ACTION_CODE}涓嶅鐞�;
                     taskActRepository.Update(item);
                     continue;
                 }
@@ -1011,6 +1031,7 @@
                 if (task == null)
                 {
                     item.N_CREATEMETHOD = -1;
+                    item.S_REVIEW_COMMENT = $"浠诲姟涓㈠け涓嶅鐞�;
                     taskActRepository.Update(item);
                     continue;
                 }
@@ -1051,6 +1072,7 @@
                         LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} 璁惧鏄瘂dev.deviceName} 寮�惎鍏夋爡澶勭悊瀹屾垚 =================> ");
 
                         item.N_CREATEMETHOD = 1;
+                        item.S_REVIEW_COMMENT = $"鍏夋爡寮�惎瀹屾垚";
                         taskActRepository.Update(item);
                     }
                     //杞﹁杩涘叆浜や簰銆�@@ -1108,6 +1130,7 @@
                         taskCode = item.S_TASK_NO
                     });
                     item.N_CREATEMETHOD = 1;
+                    item.S_REVIEW_COMMENT = $"杞﹀瓙缁х画浠诲姟OK";
                     taskActRepository.Update(item);
                 }
             }
@@ -1171,7 +1194,7 @@
                         var listtep = new List<string>();
                         if (Bssx == "1020")
                         {
-                            if (tag.SF涓嬫枡浣�RArrive1003 == 1)
+                            if (!string.IsNullOrEmpty(tag.SFT涓嬫枡鍙f墭鐩�R1003Barcode) && string.IsNullOrEmpty(tag.SFT涓嬫枡鍙f墭鐩�R1011Barcode))
                             {
                                 listtep = new List<string> { "1012", "1004" };
                             }
@@ -1182,7 +1205,8 @@
                         }
                         else
                         {
-                            if (tag.SF涓嬫枡浣�RArrive1005 == 1)
+                            //if (tag.SF涓嬫枡浣�RArrive1005 == 1)
+                            if (!string.IsNullOrEmpty(tag.SFT涓嬫枡鍙f墭鐩�R1005Barcode) && string.IsNullOrEmpty(tag.SFT涓嬫枡鍙f墭鐩�R1013Barcode))
                             {
                                 listtep = new List<string> { "1014", "1006" };
                             }
@@ -1618,7 +1642,7 @@
 
         }
 
-        public void ResolveMesTask()
+        public void ResolveMesTask(Tag tag)
         {
             TaskRepository taskservice = new TaskRepository();
             var tasks = taskservice.FindList(x => (x.S_B_STATE == "MES" || x.S_B_STATE == "People") && x.N_PRIORITY == -88);
@@ -1635,19 +1659,82 @@
                 LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} {(sx == null ? "闈� : "鏄�)}鎬昏鏈哄櫒浜轰换鍔�);
                 if (sx == null)
                 {
-                    LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐩存帴鐢熸垚瀵瑰簲浠诲姟");
-                    //鐩存帴鐢熸垚瀵瑰簲浠诲姟銆�-                    var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, task.S_END_LOC, task.S_TYPE, 6, task.S_CNTRS?.Split(',').ToList() ?? new List<string>());
-
-                    LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐩存帴鐢熸垚瀵瑰簲浠诲姟 缁撴灉锛歿res}");
-                    if (res)
+                    if (string.IsNullOrEmpty(task.S_CNTRS) && !string.IsNullOrEmpty(task.S_INDEX))
                     {
-                        LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 淇敼鏍囪瘑");
-                        //task.N_PRIORITY = 0;
-                        taskservice.dbcontext.Set<TaskEntity>().Attach(task);
-                        taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).CurrentValue = 0;
-                        taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).IsModified = true;
-                        taskservice.dbcontext.SaveChanges();
+                        // 鍙枡浠诲姟銆�鎸囧畾鐗╂枡涓嶆寚瀹氭墭鐩橈紝闇�鍑哄簱
+                        switch (task.S_START_LOC)
+                        {
+                            case "2030":
+                                if (!string.IsNullOrEmpty(tag.SA2030.R鎵樼洏鐮�)
+                                {
+                                    var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new
+                                    {
+                                        cntrCode = tag.SA2030.R鎵樼洏鐮�
+                                        type = 1
+                                    }));
+                                    var strr = JsonConvert.DeserializeObject<MES2234>(str);
+                                    if (strr.success && strr.data.materialCode == task.S_INDEX)
+                                    {
+                                        task.S_CNTRS = tag.SA2030.R鎵樼洏鐮�
+                                        taskservice.Update(task);
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 2030 鍑哄彛鐨勬墭鐩樼墿鏂欎笉绗﹀悎");
+                                    }
+                                }
+                                else
+                                {
+                                    //TODO------------------2027  2220   2013.. 璇嗗埆涓�笅锛屽紑濮嬪簱
+                                }
+                                break;
+                            case "1019":
+                                if (!string.IsNullOrEmpty(tag.SA1019.R鎵樼洏鐮�)
+                                {
+                                    var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new
+                                    {
+                                        cntrCode = tag.SA1019.R鎵樼洏鐮�
+                                        type = 2
+                                    }));
+                                    var strr = JsonConvert.DeserializeObject<MES2234>(str);
+                                    if (strr.success && strr.data.materialCode == task.S_INDEX)
+                                    {
+                                        task.S_CNTRS = tag.SA2030.R鎵樼洏鐮�
+                                        taskservice.Update(task);
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 1019 鍑哄彛鐨勬墭鐩樼墿鏂欎笉绗﹀悎");
+                                    }
+                                }
+                                break;
+                        }
+                    }
+                    else
+                    {
+                        if (new List<string> { "2001", "1022", "1025", "3001", "3006" }.Contains(task.S_END_LOC))
+                        {
+                            //------------------
+                        }
+                        else if (new List<string> { "1019"/*, "1030"*/, "2030", "3005", "3010" }.Contains(task.S_START_LOC))  //1030 鏄富鍔ㄧ敵璇凤紝 涓嶇敤鍒ゆ柇銆�+                        {
+
+                        }
+
+                        LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐩存帴鐢熸垚瀵瑰簲浠诲姟");
+                        //鐩存帴鐢熸垚瀵瑰簲浠诲姟銆�+                        var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, task.S_END_LOC, task.S_TYPE, 6, task.S_CNTRS?.Split(',').ToList() ?? new List<string>());
+
+                        LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐩存帴鐢熸垚瀵瑰簲浠诲姟 缁撴灉锛歿res}");
+                        if (res)
+                        {
+                            LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 淇敼鏍囪瘑");
+                            //task.N_PRIORITY = 0;
+                            taskservice.dbcontext.Set<TaskEntity>().Attach(task);
+                            taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).CurrentValue = 0;
+                            taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).IsModified = true;
+                            taskservice.dbcontext.SaveChanges();
+                        }
                     }
                 }
                 else
@@ -2464,6 +2551,18 @@
         public object extra { get; set; }
     }
 
+    class MES2234
+    {
+        public bool success { get; set; }
+        public ML data { get; set; }
+    }
+
+    public class ML
+    {
+        public string materialCode { get; set; }
+        public int lineNum { get; set; }
+    }
+
     public class Ddata
     {
         public string reqCode { get; set; }

--
Gitblit v1.9.1