/// <summary> /// 现改为查询最近数据中一天内的数据 /// </summary> /// <param name="line"></param> /// <returns></returns> public override DataSet GetAllDeviceDataChart(string line) { //查询最近一条数据的时间,再往前推一天,获取起止时间 DateTime dtEnd = DateTime.Now; DateTime dtStart = dtEnd.AddDays(-1); string dtEndString = dtEnd.ToString(); string dtStartString = dtStart.ToString(); IOperationBase IOb = new DataStoreBase(); DataTable DtCurrent = new DataTable(); IOb.ReadCurrentBaseprofileToDataTable(line, out DtCurrent); if (DtCurrent != null) { dtEndString = DtCurrent.Rows[0]["timepoint"].ToString(); dtStartString = Convert.ToDateTime(dtEndString).AddDays(-1).ToString(); } DataTable DtSolder = new DataTable(); IOb.ReadBaseProfile_dataTableWithChart(line, dtStartString, dtEndString, out DtSolder); if (DtSolder == null) { DtSolder = new DataTable(); } string pisMaxTResult = ExecuteScalar("select starttime from pisreflowdata where id = (select max(id) from pisreflowdata where proline='" + line + "')").ToString(); if (pisMaxTResult != null) { dtEndString = pisMaxTResult; dtStartString = Convert.ToDateTime(pisMaxTResult).AddDays(-1).ToString(); } DataTable DtPis = ExecuteDataTable("select UNIX_TIMESTAMP(starttime + INTERVAL 8 HOUR) * 1000 AS x, Convert(cpk,decimal(9,3)) AS y from pisreflowdata where proline = @line and starttime >= @begintime and starttime <= @endtime", CommandType.Text, new MySqlParameter[] { new MySqlParameter(@"line", line), new MySqlParameter(@"begintime", dtStartString), new MySqlParameter(@"endtime", dtEndString) }); DataSet Ds = new DataSet(); DtSolder.TableName = "soldertable"; DtPis.TableName = "pistable"; Ds.Tables.AddRange(new DataTable[] { DtSolder, DtPis }); return(Ds); }