Bladeren bron

修改获取最新进程ID方法

章政 8 jaren geleden
bovenliggende
commit
a849dc80a8
2 gewijzigde bestanden met toevoegingen van 28 en 3 verwijderingen
  1. 27 2
      UAS-MES/PublicMethod/BaseUtil.cs
  2. 1 1
      UAS-MES/PublicMethod/LogicHandler.cs

+ 27 - 2
UAS-MES/PublicMethod/BaseUtil.cs

@@ -4,6 +4,7 @@ using System.Collections;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
+using System.Diagnostics;
 using System.Drawing;
 using System.IO;
 using System.Net;
@@ -977,10 +978,34 @@ namespace UAS_MES.PublicMethod
         /// <param name="lbl"></param>
         public static void WriteLbl(ApplicationClass lbl)
         {
-            String str = SystemInf.ProcessesID + "|" + lbl.PID;
+            Process[] processes = System.Diagnostics.Process.GetProcessesByName("lppa");
+            List<int> PidList = new List<int>();
+            List<DateTime> Pstarttime = new List<DateTime>();
+            int PID = 0;
+            for (int i = 0; i < processes.Length; i++)
+            {
+                PidList.Add(processes[i].Id);
+                Pstarttime.Add(processes[i].StartTime);
+            }
+            DateTime Temp = Pstarttime[0];
+            if (Pstarttime.ToArray().Length > 0)
+            {
+                PID = PidList[0];
+            }
+            for (int i = 0; i < PidList.ToArray().Length; i++)
+            {
+                if (Temp < Pstarttime[i])
+                {
+                    PID = PidList[i];
+                }
+                else
+                {
+                    Temp = Pstarttime[i];
+                }
+            }
+            String str = SystemInf.ProcessesID + "|" + PID;
             string sysdisc = Environment.GetEnvironmentVariable("windir").Substring(0, 1);
             FileStream fs = new FileStream(Directory.GetCurrentDirectory() + @"\" + "lblprocess" + ".txt", FileMode.Append, FileAccess.Write);
-            Console.WriteLine(Directory.GetCurrentDirectory() + @"\" + "lblprocess" + ".txt");
             StreamWriter sw = new StreamWriter(fs);
             sw.WriteLine(str, Encoding.UTF8);
             sw.Close();

+ 1 - 1
UAS-MES/PublicMethod/LogicHandler.cs

@@ -1353,7 +1353,7 @@ namespace UAS_MES.PublicMethod
             switch (iRule)
             {
                 case "TSN":
-                    dt = (DataTable)dh.ExecuteSql("select ms_id from makeserial where ms_sncode='" + iSN + "' order by ms_id desc", "select");
+                    dt = (DataTable)dh.ExecuteSql("select ms_id,ms_prodcode from makeserial where ms_sncode='" + iSN + "' order by ms_id desc", "select");
                     if (dt.Rows.Count > 0)
                     {
                         if (iSonCode != dt.Rows[0]["ms_prodcode"].ToString())