From b6d4961bb8f5d07ffeba341306b654bd71e2962a Mon Sep 17 00:00:00 2001
From: czw <selecti@yeah.net>
Date: 星期二, 22 七月 2025 14:37:06 +0800
Subject: [PATCH] 1

---
 2025年6月12日/AuxAllWCS/RunTime/Code/自定义类.cs |  175 ++++++++++-----------------------------------------------
 1 files changed, 32 insertions(+), 143 deletions(-)

diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/RunTime/Code/\350\207\252\345\256\232\344\271\211\347\261\273.cs" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/RunTime/Code/\350\207\252\345\256\232\344\271\211\347\261\273.cs"
index d18a9b7..d6e9c80 100644
--- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/RunTime/Code/\350\207\252\345\256\232\344\271\211\347\261\273.cs"
+++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/RunTime/Code/\350\207\252\345\256\232\344\271\211\347\261\273.cs"
@@ -736,151 +736,40 @@
                 }
             }
         }
-        public static void ResMesTask()
-        {
-            ///1.
-            TaskRepository taskservice = new TaskRepository();
-var tasks = taskservice.FindList(x => (x.S_B_STATE == "MES" || x.S_B_STATE == "People") && x.N_PRIORITY == -88);
-var VERXs = Settings.deviceInfos?.FindAll(x => x.deviceType == 2);
-//if (VERXs.Any())
-foreach (var task in tasks)
-{
-    LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} ");
-    var sx = VERXs?.Find(x => x.location.Contains(task.S_END_LOC));
-    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)
-        {
-            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
-    {
-        var sindex = sx.location.ToList().IndexOf(task.S_END_LOC);
-        LocRepository locRepository = new LocRepository();
-        //鐢熸垚璺宠穬浠诲姟銆� -- 鎵樼洏璐т綅琛ㄣ� 
-        var t1s = taskservice.FindList(x => x.S_SRC_NO == task.S_TASK_NO);
-
-        LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鏌ユ壘鏄惁鏈夊凡鐢熸垚浠诲姟锛歿t1s != null}");
-        if (t1s.Any())
-        {
-            var t1 = t1s.OrderBy(x => x.T_CREATE).LastOrDefault();
-            if (t1.S_END_LOC == task.S_END_LOC)
-            {
-                task.N_PRIORITY = 0;
-                task.S_B_STATE = "MES_瀹屾垚";
-                taskservice.Update(task);
-                continue;
-            }
-            if (t1.S_B_STATE == "瀹屾垚")
-            {
-                //1.缁堢偣鏄惁鏈夋墭鐩樸� 渚濇嵁鏄粓鐐圭殑浠诲姟鏄�浣滀负缁堢偣锛岃繕鏄捣鐐广�
-                //var ec = taskservice.FindList(x => (x.S_START_LOC == task.S_START_LOC || x.S_END_LOC == task.S_END_LOC) /*&& DateTime.Now.Subtract(x.T_CREATE).TotalHours < 5*/).OrderByDescending(x => x.T_CREATE).FirstOrDefault();//($"select top 1 * from TN_TASK WHERE S_START_LOC='{task.S_END_LOC}' OR S_END_LOC='{task.S_END_LOC}' ORDER BY T_CREATE DESC");
-                //var ec = taskservice.FindList(x => x.S_START_LOC == task.S_START_LOC && x.S_END_LOC == task.S_START_LOC, new Common.Data.Pagination
-                //                        {
-                //                            page = 1,
-                //                            sidx = "T_CREATE",
-                //                            sord = "desc",
-                //                            rows = 1
-                //                        }).FirstOrDefault();
-                TaskEntity ec = null;
-                var dev = Conn.榛樿Redis.GetValue(sx.deviceName + "." + (sindex == 0 ? "D1224" : "D1225"));
-                if (dev?.Trim() == "1")
-                    ec = taskservice.FindList(x => x.S_END_LOC == task.S_END_LOC && x.S_B_STATE == "瀹屾垚", new Common.Data.Pagination
-                    {
-                        page = 1,
-                        sidx = "T_CREATE",
-                        sord = "desc",
-                        rows = 1
-                    }).FirstOrDefault();
-                if (t1.S_START_LOC == task.S_START_LOC && ec != null)//!= task.S_END_LOC)
-                {
-                    //绗簩娈点�
-                    LocEntity endLoc = null;
-                    var di = sx;
-                    if (di != null)
-                    {
-                        foreach (var ssloc in di.deviceNo)
-                        {
-                            var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc);
-                            if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "鏃�)
-                            {
-                                endLoc = endloc;
-                                break;
-                            }
-                        }
-                        if (endLoc != null)
-                        {
-                            var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "涓嬬┖", 7, ec.S_CNTRS.Split(',').ToList());
-                            if (res)
-                            {
-                                task.N_PRIORITY = 0; taskservice.Update(task);
-                            }
-                        }
-                    }
-                }
-                else
-                {
-                    var res = TaskProcess.CreateTask(task.S_TASK_NO, t1.S_END_LOC, task.S_END_LOC, task.S_TYPE + "琛ユ弧", 6, task.S_CNTRS.Split(',').ToList());
-                    if (res)
-                    {
-                        task.N_PRIORITY = 0; taskservice.Update(task);
-                    }
-                }
-            }
-        }
-        else
-        {
-            LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 绛涢�鐢熸垚绗竴娈�浠诲姟銆�);
-            //鐢熸垚绗竴娈点�
-            LocEntity endLoc = null;
-            var di = sx;
-            if (di != null)
-            {
-                foreach (var ssloc in di.deviceNo)
-                {
-                    var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc);
-                    if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "鏃�)
-                    {
-                        endLoc = endloc;
-                        break;
-                    }
-                }
-                if (endLoc != null)
-                {
-                    LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鍒涘缓绗竴娈�浠诲姟銆�);
-                    var res = TaskProcess.CreateTask("", task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "婊¤浆", 8, task.S_CNTRS.Split(',').ToList());
-
-                    LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鍒涘缓绗竴娈�浠诲姟銆傜粨鏋滐細{res}");
-                    if (res)
-                    {
-                        task.N_PRIORITY = 0; taskservice.Update(task);
-                    }
-                }
-            }
-        }
-
-    }
-}
-            //var VERX = Settings.deviceInfos?.FindAll(x => x.deviceName.Contains("鎹风灛鎶撹噦"));
-            //if ()
-            ///2  鐪嬬紦瀛樺尯銆�娌℃弧鐨勩�
-
-
-        }
+		public static void ResMesTask(Tag tag)
+		{
+		    ///1.
+		
+		    AutoThread.InvokeMethod(AutoThread.Instance, "ResolveMesTask", new object[] { tag });
+		    //var VERX = Settings.deviceInfos?.FindAll(x => x.deviceName.Contains("鎹风灛鎶撹噦"));
+		    //if ()
+		    ///2  鐪嬬紦瀛樺尯銆�娌℃弧鐨勩�
+		
+		
+		}
         
         
 #endregion [鑷畾涔夌被][20250531152402452][ToWMSMES]
 }
+public class ConsoleInterceptor:TextWriter
+{
+#region    [鑷畾涔夌被][20250702112833751][ConsoleInterceptor]
+	private readonly TextWriter _originalOut;
+
+public ConsoleInterceptor()
+{
+    _originalOut = Console.Out;
+}
+
+public override Encoding Encoding => Encoding.UTF8;
+
+public override void WriteLine(string value = "")
+{
+    string values = (string)AutoThread.InvokeMethod(AutoThread.Instance, "WriteLine", new object[] { value });
+    //// 鍙互閫夋嫨缁х画杈撳嚭鍒板師鎺у埗鍙�+    if (!string.IsNullOrEmpty(values))
+        _originalOut.WriteLine(values);
+}
+#endregion [鑷畾涔夌被][20250702112833751][ConsoleInterceptor]
+}
 }
\ No newline at end of file

--
Gitblit v1.9.1