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(); }
public bool AddReqSample(SKABO.Common.Models.NotDuplex.SampleInfo sample) { lock (mylock) { request_samples.Add(new RequestSample(sample.Barcode, sample.RackIndex, sample.Index)); } return(true); }
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); }
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); }
//试验侦测工作线程 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("删除失败"); } } }