Browse Source

添加随机数生成装箱的功能

callm 4 weeks ago
parent
commit
cc6e0632ef

+ 2 - 29
UAS_MES_HYSY/FunctionCode/Packing/Packing_PackageCollectionRandom.cs

@@ -10,6 +10,7 @@ using UAS_MES_NEW.PublicForm;
 using System.Collections.Generic;
 using System.Diagnostics;
 using Seagull.BarTender.Print;
+using HslCommunication.Profinet.Knx;
 
 namespace UAS_MES_NEW.Packing
 {
@@ -219,35 +220,7 @@ namespace UAS_MES_NEW.Packing
             {
                 if (LogicHandler.CheckStepAttribute(Tag.ToString(), User.UserSourceCode, out ErrorMessage))
                 {
-                    dt = (DataTable)dh.ExecuteSql("select ms_sncode from makeserial where ms_imei1='" + sn_code.Text + "' order by ms_id desc", "select");
-                    if (dt.Rows.Count > 0)
-                    {
-                        sn_code.Text = dt.Rows[0]["ms_sncode"].ToString();
-                    }
-                    else
-                    {
-                        dt = (DataTable)dh.ExecuteSql("select ms_sncode from makeserial where ms_imei2='" + sn_code.Text + "' order by ms_id desc", "select");
-                        if (dt.Rows.Count > 0)
-                        {
-                            sn_code.Text = dt.Rows[0]["ms_sncode"].ToString();
-                        }
-                        else
-                        {
-                            dt = (DataTable)dh.ExecuteSql("select mil_sncode from makeimeilist where mil_imei1='" + sn_code.Text + "' order by mil_id desc", "select");
-                            if (dt.Rows.Count > 0)
-                            {
-                                sn_code.Text = dt.Rows[0]["mil_sncode"].ToString();
-                            }
-                            else
-                            {
-                                dt = (DataTable)dh.ExecuteSql("select mil_sncode from makeimeilist where mil_imei2='" + sn_code.Text + "' order by mil_id desc", "select");
-                                if (dt.Rows.Count > 0)
-                                {
-                                    sn_code.Text = dt.Rows[0]["mil_sncode"].ToString();
-                                }
-                            }
-                        }
-                    }
+                    sn_code.Text = BaseUtil.AppendRandomSuffix(sn_code.Text);
                     dt = (DataTable)dh.ExecuteSql("select ms_status,ms_id,ms_makecode,ms_nextstepcode,ms_craftcode,ms_prodcode from makeserial where ms_sncode ='" + sn_code.Text + "' order by ms_id desc", "select");
                     if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, sn_code.Text, User.UserCode, out oMakeCode, out oMsID, out ErrorMessage) || (dt.Rows.Count > 0 && dt.Rows[0]["ms_status"].ToString() == "2"))
                     {

+ 21 - 0
UAS_MES_HYSY/PublicMethod/BaseUtil.cs

@@ -94,6 +94,27 @@ namespace UAS_MES_NEW.PublicMethod
             }
         }
 
+        private const string Base36Chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+        private static readonly Random _random = new Random();
+        private static readonly object _lock = new object();
+
+        public static string AppendRandomSuffix(string input)
+        {
+            if (input == null)
+                throw new ArgumentNullException(nameof(input));
+
+            char[] suffix = new char[5];
+            lock (_lock)
+            {
+                for (int i = 0; i < suffix.Length; i++)
+                {
+                    suffix[i] = Base36Chars[_random.Next(Base36Chars.Length)];
+                }
+            }
+
+            return input + new string(suffix);
+        }
+
         public static string GetRandomChar(string str)
         {
             byte[] buffer = Guid.NewGuid().ToByteArray();