using System; using System.Collections.Generic; using System.Linq; using System.IO; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Tps_LQ_Transmitter.com; namespace Tps_LQ_Transmitter.models { /// /// 测试模板,对测试模板的基础类别 /// public class BaseModel { /// /// 测试模板名称,测试指标配置表中的模板名称源自这个参数 /// public string TemplateName { get; protected set; } public bool IsRuning { get; set; } public bool IsPassed { get; protected set; } public DateTime FinishedTime { get; protected set; } /// /// 这个测试项对应的显示界面,也可能是一个界面有多个测试项共用,取决于顶层的控制 /// public UserControl UC { get; set; } /// /// 主程序 /// public MainTps tps { get; set; } public virtual bool Run(TestNode parameters) { return false; } /// /// 开始测试 /// /// public virtual bool Start(TestNode parameters) { IsRuning = true; IsPassed = false; bool ok = Run(parameters); IsRuning = false; FinishedTime = DateTime.Now; return ok; // return true; } /// /// 停止测试 /// /// public virtual bool Stop() { IsRuning = false; return true; } public event DltShowMsg MessageEvent; protected void ShowMessage(MsgType msgType, string msg) { if (MessageEvent != null) { MessageEvent(msgType, msg); } } public void OpenExcel(string sheetname, out Spire.Xls.Workbook workbook, out Spire.Xls.Worksheet sheet) { Spire.Xls.Worksheet sheet1 = null; string TestFilePath = "F:"; string ModelFile = "F:/发射机/发射机模板/"+ tps.TestProject + "模板.xlsx"; string subPath = "F:/发射机/发射机测试数据/"+ tps.TestProject +"/"; if (false == System.IO.Directory.Exists(subPath)) { System.IO.Directory.CreateDirectory(subPath); } workbook = new Spire.Xls.Workbook(); string FileName = subPath + tps.Serial + ".xlsx"; if (File.Exists(FileName)) { workbook.LoadFromFile(FileName); sheet1 = workbook.Worksheets[sheetname]; } else if (File.Exists(ModelFile)) { workbook.LoadFromFile(ModelFile); sheet1 = workbook.Worksheets["测试信息"]; sheet1.Range["A2"].Value2 = tps.Serial;//序列号 sheet1.Range["B2"].Value2 = tps.Tester;//检验员 sheet1.Range["C2"].Value2 = DateTime.Now.Date.ToString();//日期 sheet1.Range["D2"].Value2 = tps.Temperature;//温度 sheet1.Range["E2"].Value2 = tps.Humidity;//湿度 sheet1 = workbook.Worksheets[sheetname]; } if (!File.Exists(ModelFile)) { sheet1 = null; } sheet = sheet1; } public void WriteExcelData(Spire.Xls.Worksheet sheet, int row, int channel, string name, string lower, string upper, string val, string result) { int column = (channel - 1) * 6; sheet.Range[row + 2, 1 + column].Value2 = name; sheet.Range[row + 2, 2 + column].Value2 = lower; sheet.Range[row + 2, 3 + column].Value2 = upper; sheet.Range[row + 2, 4 + column].Value = val; sheet.Range[row + 2, 5 + column].Value2 = result; } public void SaveExcel(Spire.Xls.Workbook workbook) { string subPath = "F:/发射机/发射机测试数据/" + tps.TestProject + "/"; string FileName = subPath + tps.Serial + ".xlsx"; workbook.CalculateAllValue(); workbook.SaveToFile(FileName); } public class DataType { /// /// 测试名称 /// public string Test_name { set; get; } /// /// 指标下限 /// public double Lower { set; get; } /// /// 指标上限 /// public double Upper { set; get; } /// /// 测试值 /// public double TestVal { set; get; } /// /// 判断结果 /// public string Result { set; get; } } } }