Esempio n. 1
0
        public void Ok()
        {
            IList <SKABO.Common.Models.NotDuplex.SampleInfo> list = new List <SKABO.Common.Models.NotDuplex.SampleInfo>();

            for (byte ri = 0; ri < Constants.SampleRackCount; ri++)
            {
                byte index = 0;
                foreach (var smap in Samples)
                {
                    var barcode = smap.GetBarcode(ri + 1);
                    if (!String.IsNullOrEmpty(barcode))
                    {
                        var item = new SKABO.Common.Models.NotDuplex.SampleInfo()
                        {
                            Index = index, RackIndex = (byte)(ri + 1), Barcode = barcode
                        };
                        list.Add(item);
                    }
                    index++;
                }
            }
            var listConf = userService.QuerySysConfig("LisConifg").SnValue.ToInstance <LisConifg>();

            if (list.Count > 0)
            {
                if (listConf.TI >= 0)
                {
                    var gel      = GelList.Where(g => g.LisGelClass == listConf.TI).FirstOrDefault();
                    var gelIndex = (byte)GelList.IndexOf(gel);
                    foreach (var item in list)
                    {
                        item.SetTestItem(gelIndex);
                    }
                    TestRobot.AddTestBag(GenerateTestBag(0, list.Where(s => s.TestItem1), SKABO.Common.Enums.TestLevelEnum.Normal));
                    TestRobot.AddTestBag(GenerateTestBag(1, list.Where(s => s.TestItem2), SKABO.Common.Enums.TestLevelEnum.Normal));
                    TestRobot.AddTestBag(GenerateTestBag(2, list.Where(s => s.TestItem3), SKABO.Common.Enums.TestLevelEnum.Normal));
                    TestRobot.AddTestBag(GenerateTestBag(3, list.Where(s => s.TestItem4), SKABO.Common.Enums.TestLevelEnum.Normal));
                    TestRobot.AddTestBag(GenerateTestBag(4, list.Where(s => s.TestItem5), SKABO.Common.Enums.TestLevelEnum.Normal));
                    TestRobot.AddTestBag(GenerateTestBag(5, list.Where(s => s.TestItem6), SKABO.Common.Enums.TestLevelEnum.Normal));
                    TestRobot.AddTestBag(GenerateTestBag(6, list.Where(s => s.TestItem7), SKABO.Common.Enums.TestLevelEnum.Normal));
                    TestRobot.AddTestBag(GenerateTestBag(7, list.Where(s => s.TestItem8), SKABO.Common.Enums.TestLevelEnum.Normal));
                    TestRobot.AddTestBag(GenerateTestBag(8, list.Where(s => s.TestItem9), SKABO.Common.Enums.TestLevelEnum.Normal));
                }
            }
            this.RequestClose();

            //
            var his_system = HisSystem.getInstance();

            his_system.SetDirs(listConf.ResultDir, listConf.DuplexDir);
            his_system.ClsReqSample();
            his_system.ClsTestSample();
            for (int i = 0; i < list.Count; i++)
            {
                his_system.AddReqSample(list[i]);
                his_system.AddTestSample(list[i], GelList);
            }
            his_system.WriteRequest();
            his_system.WriteTestItem();
        }
Esempio n. 2
0
 public bool AddReqSample(SKABO.Common.Models.NotDuplex.SampleInfo sample)
 {
     lock (mylock)
     {
         request_samples.Add(new RequestSample(sample.Barcode, sample.RackIndex, sample.Index));
     }
     return(true);
 }
Esempio n. 3
0
        public List <int> GetTestCode(SKABO.Common.Models.NotDuplex.SampleInfo sample)
        {
            List <int> testcodes = new List <int>();

            bool[] testitem = { sample.TestItem1, sample.TestItem2, sample.TestItem3, sample.TestItem4,
                                sample.TestItem5, sample.TestItem6, sample.TestItem7, sample.TestItem8, sample.TestItem9 };
            for (int i = 0; i < 9; i++)
            {
                if (testitem[i])
                {
                    testcodes.Add(i);
                }
            }
            return(testcodes);
        }
Esempio n. 4
0
        public bool AddTestSample(SKABO.Common.Models.NotDuplex.SampleInfo sample, IList <T_Gel> gellist)
        {
            List <int> testcodes = GetTestCode(sample);
            bool       ispass    = testcodes.Count != 0;

            if (ispass == false)
            {
                testcodes.Add(1);
            }
            for (int i = 0; i < testcodes.Count; i++)
            {
                int listcode = gellist[testcodes[i]].LisGelClass;
                testitem_sample.Add(new TestItemSample(sample.Barcode, sample.RackIndex, sample.Index, testcodes[i], listcode));
            }
            return(ispass);
        }
Esempio n. 5
0
        //试验侦测工作线程
        public void WorkSetp()
        {
            if (duplexdir == null || duplexdir == "" || !Directory.Exists(duplexdir))
            {
                return;
            }
            string path     = duplexdir;
            string filename = duplexdir + testitem_filename;

            if (System.IO.File.Exists(filename))
            {
                //读取item文件通过成试验
                Thread.Sleep(100);

                StreamReader sr       = new StreamReader(filename, Encoding.GetEncoding("GB2312"));
                string       filedata = sr.ReadLine();
                while (filedata != null)
                {
                    string[] datas     = filedata.Split('\t');
                    var      samplereq = GetReqSample(datas[0]);
                    if (samplereq != null)
                    {
                        var sampletem = GetWorkSample(samplereq.barcode);
                        if (sampletem == null)
                        {
                            sampletem           = new SKABO.Common.Models.NotDuplex.SampleInfo();
                            sampletem.Barcode   = samplereq.barcode;
                            sampletem.Index     = samplereq.index;
                            sampletem.RackIndex = samplereq.rackindex;
                            work_sample.Add(sampletem);
                        }
                        sampletem.SetTestItem(byte.Parse(datas[1]));
                    }

                    filedata = sr.ReadLine();
                }
                sr.Close();
                //删除文件
                try { File.Delete(filename); }
                catch
                {
                    MessageBox.Show("删除失败");
                }
            }
        }