示例#1
0
        /// <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);
        }