using System; using DevExpress.XtraEditors; using UAS_PLCDataReader.DataOperate; using UAS_PLCDataReader.Entity; using System.Data; using System.Text; using UAS_PLCDataReader.PublicMethod; using System.Windows.Forms; using System.Collections.Generic; namespace UAS_PLCDataReader.Device.Infomation { public partial class DeviceStatusInfo : XtraForm { DataHelper dh = SystemInf.dh; StringBuilder sql = new StringBuilder(); string de_code = ""; public DeviceStatusInfo() { InitializeComponent(); } public DeviceStatusInfo(string DevcieCode) { InitializeComponent(); de_code = DevcieCode; Text = DevcieCode; } private void DeviceStatusInfo_Load(object sender, EventArgs e) { sql.Clear(); sql.Append("select de_linecode,de_wccode,de_name,de_address from device "); sql.Append("where de_code='" + de_code + "'"); DataTable dt = (DataTable)dh.ExecuteSql(sql.ToString(), "select"); if (dt.Rows.Count > 0) { BaseUtil.SetFormValue(Controls, dt); } sql.Clear(); sql.Append("select dc_name,case when dc_type='INQTY' then dr_qty when dc_type='OUTQTY' then dr_okqty end data "); sql.Append("from DEVICEPOLLINGCONFIG left join devicecommand on dpc_dccode = dc_code left join DEVICERUNSTATUS "); sql.Append("on dpc_decode = dr_decode where dpc_decode = '" + de_code + "'"); GridDeivceStatusInfo.DataSource = (DataTable)dh.ExecuteSql(sql.ToString(), "select"); if (Main.ReturnData.ContainsKey(de_code)) { dpg_count.Text = Main.ReturnData[de_code].SendCount.ToString(); string totalMinutes = (DateTime.Now - Main.ReturnData[de_code].StartTime).TotalMinutes.ToString(); dpg_runtime.Text = (DateTime.Now - Main.ReturnData[de_code].StartTime).TotalMinutes.ToString("f1") + "分钟"; dpg_starttime.Text = Main.ReturnData[de_code].StartTime.ToString("yyyy-MM-dd HH:mm:ss"); dpg_senddatasize.Text = Main.ReturnData[de_code].SendDataSize.ToString(); dpg_receivedatasize.Text = Main.ReturnData[de_code].ReceiveDataSize.ToString(); Dictionary ItemData = Main.ReturnData[de_code].ItemData; if (ItemData != null && ItemData.Count > 0) { foreach (var item in ItemData) { switch (item.Key) { case "INQTY": INQTY.Text = item.Value; break; case "OUTQTY": OUTQTY.Text = item.Value; break; case "TEMPERATURE": break; default: break; } } } } } private void DeviceStatusInfo_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Escape) Close(); } } }