Эх сурвалжийг харах

Merge branch 'master' of repos.ubtob.net:usoft/mes-client

callm 1 жил өмнө
parent
commit
8763ab3f63

+ 74 - 30
UAS-出货标签管理(泽天)/UAS_出货标签管理.cs

@@ -275,43 +275,87 @@ namespace UAS_LabelMachine
             Input.Text = Input.Text.Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "");
             Dictionary<string, string> Data = new Dictionary<string, string>();
             string[] SplitData = Input.Text.Split('*');
+            string[] SplitData2 = Input.Text.Split('*');
             if (SplitData.Length < 5)
             {
-                richTextAutoBottom1.AppendText("数据格式错误,无法解析\n");
-                if (ConnectToMachine)
+
+                SplitData2 = Input.Text.Split(System.Convert.ToChar(29));
+                for (int i = 0; i < SplitData2.Length; i++)
                 {
-                    receiveClient.Client.Send(Encoding.ASCII.GetBytes("ReadId1|,|NG|,|" + (SingleLabelAutoPrint.Checked ? "Y" : "N")));
+                    Console.WriteLine(SplitData2[i]);
                 }
-                //Input.SelectAll();
-                return;
+                if (SplitData2.Length < 10)
+                {
+
+                    richTextAutoBottom1.AppendText("数据格式错误,无法解析\n");
+                    if (ConnectToMachine)
+                    {
+                        receiveClient.Client.Send(Encoding.ASCII.GetBytes("ReadId1|,|NG|,|" + (SingleLabelAutoPrint.Checked ? "Y" : "N")));
+                    }
+                    //Input.SelectAll();
+                    return;
+                }
+                else
+                {
+                    if (dh.CheckExist("product", "pr_code = '" + SplitData2[2].Substring(3, SplitData2[2].Length - 3) + "-" + SplitData2[2].Substring(SplitData2[2].Length - 3, 3) + "'"))
+                    {
+                        Data.Add("PRCODE", SplitData2[2].Substring(3, SplitData2[2].Length - 3) + "-" + SplitData2[1].Substring(SplitData2[1].Length - 3, 3));
+                    }
+                    else if (dh.CheckExist("product", "pr_specvalue = '" + SplitData2[2].Substring(3, SplitData2[2].Length - 3) + "' and pr_nexbzs_user = '" + SplitData2[3].Substring(1, SplitData2[3].Length - 1) + "' "))
+                    {
+                        Data.Add("PRCODE", dh.getFieldDataByCondition("product", "pr_code", "pr_specvalue = '" + SplitData2[2].Substring(3, SplitData2[2].Length - 3) + "' and pr_nexbzs_user = '" + SplitData2[3].Substring(1, SplitData2[3].Length - 1) + "'").ToString());
+                    }
+                    else
+                    {
+                        Data.Add("PRCODE", "");
+                    }
+                }
+
+                Data.Add("QTY", SplitData2[3].Substring(1, SplitData2[3].Length - 1));
+
+                Data.Add("DATECODE", SplitData2[4].Substring(2, SplitData2[4].Length - 2));
+
+                Data.Add("BRAND","NEX");
+
+                Data.Add("LOTNO", SplitData2[5].Substring(3, SplitData2[5].Length - 3));
+
+                Data.Add("PO", SplitData2[5].Substring(3, SplitData2[5].Length - 3));
+
+                Data.Add("SERIAL", SplitData2[5].Substring(3, SplitData2[5].Length - 3));
+
+
+
             }
-            for (int i = 0; i < SplitData.Length; i++)
+            else
             {
-                switch (i.ToString())
+                for (int i = 0; i < SplitData.Length; i++)
                 {
-                    case "0":
-                        Data.Add("PRCODE", SplitData[i]);
-                        break;
-                    case "1":
-                        Data.Add("QTY", SplitData[i]);
-                        break;
-                    case "2":
-                        Data.Add("DATECODE", SplitData[i]);
-                        break;
-                    case "3":
-                        Data.Add("BRAND", SplitData[i]);
-                        break;
-                    case "4":
-                        Data.Add("LOTNO", SplitData[i]);
-                        break;
-                    case "5":
-                        Data.Add("PO", SplitData[i]);
-                        break;
-                    case "6":
-                        Data.Add("SERIAL", SplitData[i]);
-                        break;
-                    default:
-                        break;
+                    switch (i.ToString())
+                    {
+                        case "0":
+                            Data.Add("PRCODE", SplitData[i]);
+                            break;
+                        case "1":
+                            Data.Add("QTY", SplitData[i]);
+                            break;
+                        case "2":
+                            Data.Add("DATECODE", SplitData[i]);
+                            break;
+                        case "3":
+                            Data.Add("BRAND", SplitData[i]);
+                            break;
+                        case "4":
+                            Data.Add("LOTNO", SplitData[i]);
+                            break;
+                        case "5":
+                            Data.Add("PO", SplitData[i]);
+                            break;
+                        case "6":
+                            Data.Add("SERIAL", SplitData[i]);
+                            break;
+                        default:
+                            break;
+                    }
                 }
             }
             if (Data["PRCODE"] != CurrentPrCode)