public TSIForm(string VIN, DynoCmd dynoCmd, MainSetting mainCfg, ModelLocal db, EnvironmentData envData, Logger log) { InitializeComponent(); _lastHeight = Height; _VIN = VIN; _dynoCmd = dynoCmd; _mainCfg = mainCfg; _db = db; _envData = envData; _log = log; EmissionInfo ei = new EmissionInfo(); _db.GetEmissionInfoFromVIN(_VIN, ei); _RatedRPM = ei.RatedRPM; _dtRealTime = new DataTable("TSIRealTime"); _dtRealTime.Columns.Add("VIN"); _dtRealTime.Columns.Add("StartTime"); _dtRealTime.Columns.Add("TimeSN"); _dtRealTime.Columns.Add("Step"); _dtRealTime.Columns.Add("RPM"); _dtRealTime.Columns.Add("CurrentStageTime"); _dtRealTime.Columns.Add("Lambda"); _dtRealTime.Columns.Add("OilTemp"); _dtRealTime.Columns.Add("HResult"); _dtRealTime.Columns.Add("LResult"); _resultData = new TSIResultData(); _timer = new System.Timers.Timer(_mainCfg.RealtimeInterval); _timer.Elapsed += OnTimer; _timer.AutoReset = true; f_result = new TSIResultForm(); }
public void SaveEmissionInfo(string strVIN, EmissionInfo ei) { string strSQL = "select * from SH_VehicleInfo where VIN = '" + strVIN + "'"; DataTable dtVI = new DataTable("SH_VehicleInfo"); Query(strSQL, dtVI); strSQL = "select ID from SH_EmissionInfo where VehicleModel = '" + ei.VehicleModel + "' and OpenInfoSN = '" + ei.OpenInfoSN + "'"; object EI_ID = QueryOne(strSQL); DataTable dtEI = new DataTable("SH_EmissionInfo"); GenerateDataTableFromClass(dtEI, ei); if (dtVI.Rows.Count > 0) { if (EI_ID != null) { UpdateRecords(dtEI, "ID", new List <string>() { EI_ID.ToString() }); } else { InsertRecords(dtEI); } } else { dtVI.Columns.Remove("TestQTY"); DataRow dr = dtVI.NewRow(); dr["VIN"] = strVIN; dr["VehicleModel"] = ei.VehicleModel; dr["OpenInfoSN"] = ei.OpenInfoSN; dtVI.Rows.Add(dr); InsertRecords(dtVI); if (EI_ID != null) { UpdateRecords(dtEI, "ID", new List <string>() { EI_ID.ToString() }); } else { InsertRecords(dtEI); } } }
/// <summary> /// 输入VehicleModel获取EmissionInfo信息,返回true表示已有该VehicleModel记录,返回false表示无该VehicleModel记录 /// </summary> /// <param name="strVehicleModel"></param> /// <param name="ei"></param> /// <returns></returns> public bool GetEmissionInfoFromVehicleModel(string strVehicleModel, EmissionInfo ei) { DataTable dtEI = new DataTable("SH_EmissionInfo"); string strSQL = "select * from SH_EmissionInfo where VehicleModel = '" + strVehicleModel + "'"; Query(strSQL, dtEI); if (dtEI.Rows.Count > 0) { FillClassFromDataTable(dtEI, ei); return(true); } else { return(false); } }
/// <summary> /// 输入VIN获取EmissionInfo信息,返回找到的VIN在数据库中的主键ID值,若未找到则返回-1 /// </summary> /// <param name="strVIN"></param> /// <param name="ei"></param> /// <returns></returns> public int GetEmissionInfoFromVIN(string strVIN, EmissionInfo ei) { string strSQL = "select * from SH_VehicleInfo where VIN = '" + strVIN + "'"; DataTable dtVI = new DataTable("SH_VehicleInfo"); Query(strSQL, dtVI); if (dtVI.Rows.Count > 0) { DataRow dr = dtVI.Rows[dtVI.Rows.Count - 1]; DataTable dtEI = new DataTable("SH_EmissionInfo"); strSQL = "select * from SH_EmissionInfo where VehicleModel = '" + dr["VehicleModel"] + "' and OpenInfoSN = '" + dr["OpenInfoSN"] + "'"; Query(strSQL, dtEI); FillClassFromDataTable(dtEI, ei); return((int)dr["ID"]); } else { return(-1); } }
public VehicleLoginForm(ModelLocal db, DynoCmd dynoCmd, MainSetting mainCfg, Logger log) { InitializeComponent(); _lastHeight = Height; _db = db; _dynoCmd = dynoCmd; _mainCfg = mainCfg; _log = log; if (_mainCfg.ScannerPort.Length > 0) { _sp = new SerialPortClass( _mainCfg.ScannerPort, _mainCfg.ScannerBaud, Parity.None, 8, StopBits.One ); try { _sp.OpenPort(); _sp.DataReceived += SerialDataReceived; } catch (Exception ex) { _log.TraceError("Open serial port error: " + ex.Message); MessageBox.Show("打开串口扫码枪出错", "初始化错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } _serialRecvBuf = string.Empty; if (_mainCfg.DynoParamIP.Length > 0) { try { _dynoParamRecver = new DynoParamRecv(_mainCfg.DynoParamIP, _mainCfg.DynoParamPort); _dynoParamRecver.DynoParamRecvEvent += OnDynoParamRecv; _dynoParamRecvFlag = new ManualResetEvent(true); } catch (Exception ex) { _log.TraceError("Connect to dyno parameter server error: " + ex.Message); MessageBox.Show("无法连接到测功机参数服务端软件", "初始化错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } VI = new VehicleInfo(); EI = new EmissionInfo(); _carID = -1; }
private void OnDynoParamRecv(object sender, DynoParamRecvEventArgs e) { _dynoParamRecvFlag.Set(); if (e.Code == "200") { EI = JsonConvert.DeserializeObject <EmissionInfo>(e.Msg); VI.VehicleModel = EI.VehicleModel; EI.OpenInfoSN = string.Empty; VI.OpenInfoSN = string.Empty; EI.EngineSN = string.Empty; EI.Name = string.Empty; } else { _log.TraceError(string.Format("Get dyno parameter from MES error, Code: {0}, Error: {1}", e.Code, e.Msg)); MessageBox.Show(string.Format("从MES获取测功机参数失败, Code: {0}, Error: {1}", e.Code, e.Msg), "获取测功机参数", MessageBoxButtons.OK, MessageBoxIcon.Error); } Invoke((EventHandler) delegate { FillInputTextBox(); }); }
public LugdownForm(string VIN, DynoCmd dynoCmd, MainSetting mainCfg, ModelLocal db, EnvironmentData envData, Logger log) { InitializeComponent(); _lastHeight = Height; _VIN = VIN; _dynoCmd = dynoCmd; _mainCfg = mainCfg; _db = db; _envData = envData; _log = log; EmissionInfo ei = new EmissionInfo(); _db.GetEmissionInfoFromVIN(_VIN, ei); _RatedRPM = ei.RatedRPM; _MaxRPM = -1; _canGetMaxRpm = false; _dtRealTime = new DataTable("LugdownRealTime"); _dtRealTime.Columns.Add("VIN"); _dtRealTime.Columns.Add("StartTime"); _dtRealTime.Columns.Add("TimeSN"); _dtRealTime.Columns.Add("RPM"); _dtRealTime.Columns.Add("Speed"); _dtRealTime.Columns.Add("Power"); _dtRealTime.Columns.Add("Torque"); _dtRealTime.Columns.Add("K"); _dtRealTime.Columns.Add("CO2"); _dtRealTime.Columns.Add("NOx"); _resultData = new LDResultData(); _timer = new System.Timers.Timer(_mainCfg.RealtimeInterval); _timer.Elapsed += OnTimer; _timer.AutoReset = true; f_result = new LDResultForm(); }