using DevComponents.DotNetBar.Controls; using DevComponents.DotNetBar.Layout; using DevComponents.DotNetBar.SuperGrid; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WCS_Client.UC; using WCS_Client.Utility; namespace WCS_Client.Frm { public partial class Frm_ALARAMERStatistics : Form { public Frm_ALARAMERStatistics() { InitializeComponent(); InitFrm(); } private void InitFrm() { List GCList = new List() { SuperGridUtil.Get_GridColumn("ALARAMR_EQUNO", "设备编号", 80), SuperGridUtil.Get_GridColumn("ALARAMR_EQUTYPE", "设备类型", 100), SuperGridUtil.Get_GridColumn("ALARAMR_TOTAL", "报警总次数", 100), // SuperGridUtil.Get_GridColumn("ALARAMR_ALARAMSTARTTIME", "报警日期", 80), }; List LCIList = new List(); LCIList.Add(LCItemUtil.Add_TextboxX("ALARAMR_EQUNO", "设备编号:", 20, SubmitMethods, null)); //LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "ALARAMR_EQUNO like '%{0}%'" }; LCIList.Add(LCItemUtil.Add_TextboxX("ALARAMR_EQUTYPE", "设备类型:", 20, SubmitMethods, null)); //LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "ALARAMR_EQUTYPE like '%{0}%'" }; LCIList.Add(LCItemUtil.Add_ComboBoxEx("ALARAMR_ALARAMSTARTTIME", "统计类型:", 20, null, SubmitMethods)); DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add("DIC_SORT"); dt.Columns.Add("DIC_NAME"); dr = dt.NewRow(); dt.Rows.Add("dd", "按日统计"); dt.Rows.Add("mm", "按月统计"); dt.Rows.Add("yy", "按年统计"); dt.Rows.Add("All", "所有数据"); LCItemUtil.Refresh_LCItem(LCIList[LCIList.Count - 1], dt, "DIC_SORT", "DIC_NAME"); LCIList.Add(LCItemUtil.Add_ButtonX("btn_QDB", "查询", 80, 30, SubmitMethods)); LCIList.Add(LCItemUtil.Add_ButtonX("btn_QClear", "重置", 80, 30, SubmitMethods)); uC_QueryPage1.Init_QueryPage(30, true, true, "", GCList, LCIList, QueryPageDataMethodsms, RefreshRoleMethodsms, null, null, null); CommonShow.ShowProcessing("正在处理中,请稍候...", this, (obj) => { // uC_QueryPage1.RefreshData(1, 0); }, null); } private PageData QueryPageDataMethodsms(int PageIndex, int PageSize) { string _SQLText = string.Format(@"select DEVICECODE ALARAMR_EQUNO,DEVICENAME ALARAMR_EQUTYPE,count(1) ALARAMR_TOTAL from ( select m.DEVICECODE,n.NAME DEVICENAME,m.SCAlarm alarm,m.FRAME ALARAMSTARTTIME,(select top 1 b.UPDATETIME from WCS_SRM537 b left join WCS_DEVICE g on b.DEVICECODE=g.CODE where b.id>m.ID) ALARAMENDTIME,'' as ALARAMMSG ,datediff(second,m.UPDATETIME,(select top 1 b.UPDATETIME from WCS_SRM537 b left join WCS_DEVICE g on b.DEVICECODE=g.CODE where b.id>m.ID)) as FAULTTIME from WCS_SRM537 m left join WCS_DEVICE n on m.DEVICECODE=n.CODE union all select m.DEVICECODE,n.NAME DEVICENAME,m.Fault alarm,m.FRAME ALARAMSTARTTIME,(select top 1 b.UPDATETIME from WCS_RGV523 b left join WCS_DEVICE g on b.DEVICECODE=g.CODE where b.id>m.ID) ALARAMENDTIME,'' as ALARAMMSG ,datediff(second,m.UPDATETIME,(select top 1 b.UPDATETIME from WCS_RGV523 b left join WCS_DEVICE g on b.DEVICECODE=g.CODE where b.id>m.ID)) as FAULTTIME from WCS_RGV523 m left join WCS_DEVICE n on m.DEVICECODE=n.CODE union all select m.DEVICECODE,n.NAME DEVICENAME,m.Alarm alarm,m.FRAME ALARAMSTARTTIME,(select top 1 b.UPDATETIME from WCS_STATION523 b left join WCS_DEVICE g on b.DEVICECODE=g.CODE where b.id>m.ID) ALARAMENDTIME,'' as ALARAMMSG ,datediff(second,m.UPDATETIME,(select top 1 b.UPDATETIME from WCS_STATION523 b left join WCS_DEVICE g on b.DEVICECODE=g.CODE where b.id>m.ID)) as FAULTTIME from WCS_STATION523 m left join WCS_DEVICE n on m.DEVICECODE=n.CODE) as deviceinfo WHERE 1=1 and alarm>0"); object chooseCommValue = ((ComboBoxEx)uC_QueryPage1.GetLCItem("ALARAMR_ALARAMSTARTTIME").Control).Text; object chooseTextValue = ((TextBoxX)uC_QueryPage1.GetLCItem("ALARAMR_EQUNO").Control).Text; object chooseTextValue1 = ((TextBoxX)uC_QueryPage1.GetLCItem("ALARAMR_EQUTYPE").Control).Text; if (!string.IsNullOrEmpty(chooseTextValue.ToString())) { _SQLText = _SQLText + string.Format(" and DEVICECODE like '%{0}%'", chooseTextValue.ToString()); } if (!string.IsNullOrEmpty(chooseTextValue1.ToString())) { _SQLText = _SQLText + string.Format(" and DEVICENAME like '%{0}%'", chooseTextValue.ToString()); } if (chooseCommValue.ToString() == "按日统计") { _SQLText = _SQLText + " and DateDiff(dd,ALARAMSTARTTIME,getdate())= 0 group by DEVICECODE,DEVICENAME"; } else if (chooseCommValue.ToString() == "按月统计") { _SQLText = _SQLText + " and DateDiff(mm,ALARAMSTARTTIME,getdate())= 0 group by DEVICECODE,DEVICENAME"; } else if (chooseCommValue.ToString() == "按年统计") { _SQLText = _SQLText + " and DateDiff(yy,ALARAMSTARTTIME,getdate())= 0 group by DEVICECODE,DEVICENAME"; } else if (chooseCommValue.ToString() == "所有数据") { _SQLText = _SQLText + " group by DEVICECODE,DEVICENAME"; } string _Orderby = "ALARAMR_EQUNO desc"; PageData pd = BaseWorkflow.QueryPageData(_SQLText, _Orderby, uC_QueryPage1.GetQueryWhere(), PageIndex, 100); return pd; } private void SubmitMethods(string LCName) { if (LCName == "btn_QDB") { uC_QueryPage1.RefreshData(); } else if (LCName == "btn_QClear") { uC_QueryPage1.ShowOpaqueLayer(); uC_QueryPage1.ClearLCItemValue(); uC_QueryPage1.RefreshData(1, 0); uC_QueryPage1.HideOpaqueLayer(); } } private void RefreshRoleMethodsms(bool ChkValue) { } } }