Newer
Older
GHFX_REFACTOR / Backup / FrmQueryHistory.cs
wxn on 2 Nov 2016 5 KB 提交
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using GeoScene.Globe;
using System.Collections;
using GeoScene.Data;
using GeoScene.Engine;

using System.Data.SqlClient;
using MySql.Data.MySqlClient;

namespace Cyberpipe
{
    public partial class FrmQueryHistory : Office2007Form
    {
     
        string tableName = "";
        string eqtID = "";
        static FrmQueryHistory frm;
        public static void ShowForm(MainFrm mF, string _tableName,string _eqtID)
        {
            if (frm == null)
            {
                frm = new FrmQueryHistory(_tableName, _eqtID);
                frm.Show(mF);
            }
            else
            {
                if (frm.WindowState == FormWindowState.Minimized)
                {
                    frm.WindowState = FormWindowState.Normal;
                }
            }
        }

        public FrmQueryHistory(string _tableName, string _eqtID)
        {
            InitializeComponent();
          
            tableName = _tableName;
            eqtID = _eqtID;
        }

        private void Frm_LogManager_Load(object sender, EventArgs e)
        {           
            
        }
        /// <summary>
        /// 查询按钮事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Query_Click(object sender, EventArgs e)
        {
            if (tableName != null)
            {
                string sql = "select * from " + Utility.sensorDatabase + "." + tableName + " ";
                
                ArrayList filters = new ArrayList();

                if (datetimeBeginDate.LockUpdateChecked == true || datetimeEndDate.LockUpdateChecked == true)
                {
                    if (datetimeBeginDate.LockUpdateChecked == true && datetimeEndDate.LockUpdateChecked == false)
                    {
                        
                        string sql2 = " RecordDate >='" + datetimeBeginDate.Value.ToString("yyyy-MM-dd") + "'";
                        filters.Add(sql2);
                    }
                    else if (datetimeEndDate.LockUpdateChecked == true && datetimeBeginDate.LockUpdateChecked == false)
                    {
                        string sql3 = " RecordDate <= '" + datetimeEndDate.Value.ToString("yyyy-MM-dd") + "'";
                        filters.Add(sql3);
                    }
                    else
                    {
                        string sql4 = " RecordDate  between '" + datetimeBeginDate.Value.ToString("yyyy-MM-dd") + "' and '" + datetimeEndDate.Value.ToString("yyyy-MM-dd") + "'";
                        filters.Add(sql4);
                    }
                }

                string[] aa = (string[])(filters.ToArray(typeof(string)));
                if (aa.Length > 0)
                {
                    sql += " where " + string.Join(" and ", aa);
                }
                sql += " and EqtID=" + eqtID + " group by RecordDate,RecordTime order by RecordDate,RecordTime limit 50;";
                try
                {
                    DataTable dt = MySqlHelper.queryDataTable(sql);
                    if (dt != null && dt.Rows.Count > 0)
                    {                        
                        chartSensorStatus.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
                        chartSensorStatus.ChartAreas[0].AxisX.Interval = 2;
                        chartSensorStatus.ChartAreas[0].AxisX.Title = "时间";
                        chartSensorStatus.ChartAreas[0].AxisY.Title = "测量值";
                        chartSensorStatus.Series[0].Points.Clear();
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            try
                            {                               
                                if (tableName == "Data_3a")
                                {
                                    chartSensorStatus.Series[0].Points.AddXY(((DateTime)dt.Rows[i]["RecordDate"]).ToString("yyyy-MM-dd").Trim() + " " + dt.Rows[i]["RecordTime"].ToString().Trim(), dt.Rows[i]["InstantValue"].ToString().Trim());
                                }
                                else
                                {
                                    chartSensorStatus.Series[0].Points.AddXY(((DateTime)dt.Rows[i]["RecordDate"]).ToString("yyyy-MM-dd").Trim() + " " + dt.Rows[i]["RecordTime"].ToString().Trim(), dt.Rows[i]["CollectValue"].ToString().Trim());                                   
                                }
                            }
                            catch (Exception ex)
                            {
                                LogError.PublishError(ex);
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("没有找到任何数据!", "提示");
                    }
                }
                catch (Exception ex)
                {
                    LogError.PublishError(ex);
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                MessageBox.Show("没有找到任何数据!", "提示");
            }
        }
        /// <summary>
        /// 关闭按钮事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Cancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        /// <summary>
        /// 窗体关闭事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FrmQueryHistory_FormClosing(object sender, FormClosingEventArgs e)
        {
            frm = null;
        }
    }
}