Esempio n. 1
0
        public void TestLogTransfaseDataTable(FileInfo chosenFile, List <Tlog> tlogs, string zipName)
        {
            string      fileNameArr = chosenFile.Name.Split('_').First();
            List <Tlog> tlogsTest   = new List <Tlog>();
            LogFileType test;

            try
            {
                if (chosenFile.Name.ToUpper().EndsWith("HTML"))
                {
                    test = LogFileType.HTML;
                }
                else
                {
                    test = fileNameArr.ToUpper().CastTo <LogFileType>();
                }
            }
            catch (Exception)
            {
                test = LogFileType.OTHER;
            }
            try
            {
                StringCollection linesCollection = ReadFileIntoStringCollection(chosenFile.FullName);
                string[]         linesArray      = new string[linesCollection.Count];
                linesCollection.CopyTo(linesArray, 0);
                int    testDate = DateTime.Now.ToString("yyyyMMdd").CastTo <int>();
                string sn;
                switch (test)
                {
                case LogFileType.MAIN:
                    foreach (var line in linesArray.Skip(3))
                    {
                        sn = line.Split('\t')[2];
                        TestReslut reslut = line.Split('\t')[5].ToUpper().Equals("PASS")?TestReslut.Pass : TestReslut.Fail;
                        tlogsTest.Add(new Tlog()
                        {
                            Sn          = sn,
                            TestDate    = testDate,
                            ZipFileName = zipName,
                            LogFileName = chosenFile.Name,
                            Path        = chosenFile.FullName,
                            LogFileType = LogFileType.MAIN,
                            TestReslut  = reslut
                        });
                    }
                    break;

                case LogFileType.RECEIVERAMPL:
                    foreach (var line in linesArray.Skip(3))
                    {
                        sn = line.Split('\t')[2];
                        TestReslut reslut = line.Split('\t')[5].ToUpper().Equals("PASS") ? TestReslut.Pass : TestReslut.Fail;
                        tlogsTest.Add(new Tlog()
                        {
                            Sn          = sn,
                            TestDate    = testDate,
                            ZipFileName = zipName,
                            LogFileName = chosenFile.Name,
                            Path        = chosenFile.FullName,
                            LogFileType = LogFileType.RECEIVERAMPL,
                            TestReslut  = reslut
                        });
                    }
                    break;

                case LogFileType.SEC:
                    foreach (var line in linesArray.Skip(3))
                    {
                        sn = line.Split('\t')[2];
                        TestReslut reslut = line.Split('\t')[5].ToUpper().Equals("PASS") ? TestReslut.Pass : TestReslut.Fail;
                        tlogsTest.Add(new Tlog()
                        {
                            Sn          = sn,
                            TestDate    = testDate,
                            ZipFileName = zipName,
                            LogFileName = chosenFile.Name,
                            Path        = chosenFile.FullName,
                            LogFileType = LogFileType.SEC,
                            TestReslut  = reslut
                        });
                    }
                    break;

                case LogFileType.SPEAKERAMPL:
                    foreach (var line in linesArray.Skip(3))
                    {
                        sn = line.Split('\t')[2];
                        TestReslut reslut = line.Split('\t')[5].ToUpper().Equals("PASS") ? TestReslut.Pass : TestReslut.Fail;
                        tlogsTest.Add(new Tlog()
                        {
                            Sn          = sn,
                            TestDate    = testDate,
                            ZipFileName = zipName,
                            LogFileName = chosenFile.Name,
                            Path        = chosenFile.FullName,
                            LogFileType = LogFileType.SPEAKERAMPL,
                            TestReslut  = reslut
                        });
                    }
                    break;

                case LogFileType.副麦:
                    foreach (var line in linesArray.Skip(3))
                    {
                        sn = line.Split('\t')[4];
                        TestReslut reslut = line.Split('\t')[5].ToUpper().Equals("PASS") ? TestReslut.Pass : TestReslut.Fail;
                        tlogsTest.Add(new Tlog()
                        {
                            Sn          = sn,
                            TestDate    = testDate,
                            ZipFileName = zipName,
                            LogFileName = chosenFile.Name,
                            Path        = chosenFile.FullName,
                            LogFileType = LogFileType.副麦,
                            TestReslut  = reslut
                        });
                    }
                    break;

                case LogFileType.听筒:
                    foreach (var line in linesArray.Skip(3))
                    {
                        sn = line.Split('\t')[4];
                        TestReslut reslut = line.Split('\t')[5].ToUpper().Equals("PASS") ? TestReslut.Pass : TestReslut.Fail;
                        tlogsTest.Add(new Tlog()
                        {
                            Sn          = sn,
                            TestDate    = testDate,
                            ZipFileName = zipName,
                            LogFileName = chosenFile.Name,
                            Path        = chosenFile.FullName,
                            LogFileType = LogFileType.听筒,
                            TestReslut  = reslut
                        });
                    }
                    break;

                case LogFileType.扬声器:
                    foreach (var line in linesArray.Skip(3))
                    {
                        sn = line.Split('\t')[4];
                        TestReslut reslut = line.Split('\t')[5].ToUpper().Equals("PASS") ? TestReslut.Pass : TestReslut.Fail;
                        tlogsTest.Add(new Tlog()
                        {
                            Sn          = sn,
                            TestDate    = testDate,
                            ZipFileName = zipName,
                            LogFileName = chosenFile.Name,
                            Path        = chosenFile.FullName,
                            LogFileType = LogFileType.扬声器,
                            TestReslut  = reslut
                        });
                    }
                    break;

                case LogFileType.扬声器右:
                    foreach (var line in linesArray.Skip(3))
                    {
                        sn = line.Split('\t')[4];
                        TestReslut reslut = line.Split('\t')[5].ToUpper().Equals("PASS") ? TestReslut.Pass : TestReslut.Fail;
                        tlogsTest.Add(new Tlog()
                        {
                            Sn          = sn,
                            TestDate    = testDate,
                            ZipFileName = zipName,
                            LogFileName = chosenFile.Name,
                            Path        = chosenFile.FullName,
                            LogFileType = LogFileType.扬声器右,
                            TestReslut  = reslut
                        });
                    }
                    break;

                case LogFileType.扬声器左:
                    foreach (var line in linesArray.Skip(3))
                    {
                        sn = line.Split('\t')[4];
                        TestReslut reslut = line.Split('\t')[5].ToUpper().Equals("PASS") ? TestReslut.Pass : TestReslut.Fail;
                        tlogsTest.Add(new Tlog()
                        {
                            Sn          = sn,
                            TestDate    = testDate,
                            ZipFileName = zipName,
                            LogFileName = chosenFile.Name,
                            Path        = chosenFile.FullName,
                            LogFileType = LogFileType.扬声器左,
                            TestReslut  = reslut
                        });
                    }
                    break;

                case LogFileType.主麦:
                    foreach (var line in linesArray.Skip(3))
                    {
                        sn = line.Split('\t')[4];
                        TestReslut reslut = line.Split('\t')[5].ToUpper().Equals("PASS") ? TestReslut.Pass : TestReslut.Fail;
                        tlogsTest.Add(new Tlog()
                        {
                            Sn          = sn,
                            TestDate    = testDate,
                            ZipFileName = zipName,
                            LogFileName = chosenFile.Name,
                            Path        = chosenFile.FullName,
                            LogFileType = LogFileType.主麦,
                            TestReslut  = reslut
                        });
                    }
                    break;

                case LogFileType.HTML:
                    sn = fileNameArr;
                    tlogsTest.Add(new Tlog()
                    {
                        Sn          = sn,
                        TestDate    = testDate,
                        ZipFileName = zipName,
                        LogFileName = chosenFile.Name,
                        Path        = chosenFile.FullName,
                        LogFileType = LogFileType.HTML,
                        TestReslut  = TestReslut.Pass
                    });
                    break;

                case LogFileType.OTHER:
                {
                    sn = fileNameArr;
                    TestReslut reslut = chosenFile.Name.ToUpper().Contains("PASS") ? TestReslut.Pass : TestReslut.Fail;
                    tlogsTest.Add(new Tlog()
                        {
                            Sn          = sn,
                            TestDate    = testDate,
                            ZipFileName = zipName,
                            LogFileName = chosenFile.Name,
                            Path        = chosenFile.FullName,
                            LogFileType = LogFileType.OTHER,
                            TestReslut  = reslut
                        });
                }

                break;
                }
            }
            catch (Exception)
            {
                throw new Exception("解析文件错误:" + chosenFile.Name);
            }

            tlogs.AddRange(tlogsTest);
        }
Esempio n. 2
0
        public void CpkTransfaseDataTable(FileInfo chosenFile, List <Cpk> cpks, string zipName)
        {
            List <Cpk> collection = new List <Cpk>();
            string     logFile, platForm, projectName, stationName, ip, result, sn, time;

            string[]         timesArr, linesArray;
            int              testDate;
            int              testTime;
            DateTime         readLogDate;
            StringCollection linesCollection;

            try
            {
                logFile         = chosenFile.Name;
                timesArr        = chosenFile.Name.Split('_');
                linesCollection = ReadFileIntoStringCollection(chosenFile.FullName);
                linesArray      = new string[linesCollection.Count];
                linesCollection.CopyTo(linesArray, 0);
                sn          = timesArr[0];
                time        = timesArr[1];
                testDate    = Convert.ToInt32(time.Substring(0, 8));
                testTime    = Convert.ToInt32(time.Substring(8));
                platForm    = linesArray[0].Split(':', ';')[1]; // 平台
                projectName = linesArray[1].Split(':', ';')[1]; // 项目名
                stationName = linesArray[2].Split(':', ';')[1]; // 站点
                ip          = linesArray[3].Split(':', ';')[1]; // IP
                result      = linesArray[7].Split(':', ';')[1]; //
                readLogDate = DateTime.Now;
            }
            catch (Exception)
            {
                throw new Exception("文件名格式不对:" + chosenFile.Name);
            }



            foreach (var line in linesArray.Skip(11))
            {
                try
                {
                    string[] tStrings = line.Split('_', ':', ',', ';');

                    if (tStrings.Count() == 9)
                    {
                        var testList = tStrings.ToList();
                        testList.RemoveAt(1);
                        tStrings = testList.ToArray <string>();
                    }
                    string wgsn     = tStrings[0];               // 测试频段
                    string tch      = tStrings[1];               // 信道
                    string pcl      = tStrings[2];               // 功率等级
                    string testItem = tStrings[3];               // 测试类型(项)
                    double testVal  = double.Parse(tStrings[4]); // 测试值
                    double minVal   = double.Parse(tStrings[5]); // 最小值
                    double maxVal   = double.Parse(tStrings[6]); // 最大值

                    platForm    = platForm.ToUpper().Replace(" ", "");
                    projectName = projectName.ToUpper().Replace(" ", "");
                    stationName = stationName.ToUpper().Replace(" ", "");
                    ip          = ip.Replace(" ", "");
                    sn          = sn.ToUpper().Replace(" ", "");
                    TestReslut testReslut = result.ToUpper().Equals("PASS") ? TestReslut.Pass : TestReslut.Fail;
                    wgsn     = wgsn.ToUpper().Replace(" ", "");
                    tch      = tch.ToUpper().Replace(" ", "");
                    pcl      = pcl.ToUpper().Replace(" ", "");
                    testItem = testItem.ToUpper().Replace(" ", "");
                    logFile  = logFile.Replace(" ", "");
                    zipName  = zipName.Replace(" ", "");

                    collection.Add(new Cpk()
                    {
                        PlatForm = platForm, ProjectName = projectName, Opcode = stationName, Ip = ip,
                        Sn       = sn, TestDate = testDate, TestTime = testTime.ToString(), Result = testReslut, Wgsn = wgsn,
                        Tch      = tch, Pcl = pcl, TestItem = testItem, TestVal = testVal, MinVal = minVal,
                        MaxVal   = maxVal, ReadLogDate = readLogDate, LogFileName = logFile, ZipFileName = zipName
                    });
                }
                catch (Exception)
                {
                    var log = "log格式不正确[" + line + "]、log[" + logFile + "]";
                    throw new Exception(log);
                }
            }
            cpks.AddRange(collection);
        }