Frm_ALARAMERStatistics.cs 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. using DevComponents.DotNetBar.Controls;
  2. using DevComponents.DotNetBar.Layout;
  3. using DevComponents.DotNetBar.SuperGrid;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.ComponentModel;
  7. using System.Data;
  8. using System.Drawing;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using System.Windows.Forms;
  13. using WCS_Client.UC;
  14. using WCS_Client.Utility;
  15. namespace WCS_Client.Frm
  16. {
  17. public partial class Frm_ALARAMERStatistics : Form
  18. {
  19. public Frm_ALARAMERStatistics()
  20. {
  21. InitializeComponent();
  22. InitFrm();
  23. }
  24. private void InitFrm()
  25. {
  26. List<GridColumn> GCList = new List<GridColumn>()
  27. {
  28. SuperGridUtil.Get_GridColumn("ALARAMR_EQUNO", "设备编号", 80),
  29. SuperGridUtil.Get_GridColumn("ALARAMR_EQUTYPE", "设备类型", 100),
  30. SuperGridUtil.Get_GridColumn("ALARAMR_TOTAL", "报警总次数", 100),
  31. // SuperGridUtil.Get_GridColumn("ALARAMR_ALARAMSTARTTIME", "报警日期", 80),
  32. };
  33. List<LayoutControlItem> LCIList = new List<LayoutControlItem>();
  34. LCIList.Add(LCItemUtil.Add_TextboxX("ALARAMR_EQUNO", "设备编号:", 20, SubmitMethods, null));
  35. //LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "ALARAMR_EQUNO like '%{0}%'" };
  36. LCIList.Add(LCItemUtil.Add_TextboxX("ALARAMR_EQUTYPE", "设备类型:", 20, SubmitMethods, null));
  37. //LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "ALARAMR_EQUTYPE like '%{0}%'" };
  38. LCIList.Add(LCItemUtil.Add_ComboBoxEx("ALARAMR_ALARAMSTARTTIME", "统计类型:", 20, null, SubmitMethods));
  39. DataTable dt = new DataTable();
  40. DataRow dr;
  41. dt.Columns.Add("DIC_SORT");
  42. dt.Columns.Add("DIC_NAME");
  43. dr = dt.NewRow();
  44. dt.Rows.Add("dd", "按日统计");
  45. dt.Rows.Add("mm", "按月统计");
  46. dt.Rows.Add("yy", "按年统计");
  47. dt.Rows.Add("All", "所有数据");
  48. LCItemUtil.Refresh_LCItem(LCIList[LCIList.Count - 1], dt, "DIC_SORT", "DIC_NAME");
  49. LCIList.Add(LCItemUtil.Add_ButtonX("btn_QDB", "查询", 80, 30, SubmitMethods));
  50. LCIList.Add(LCItemUtil.Add_ButtonX("btn_QClear", "重置", 80, 30, SubmitMethods));
  51. uC_QueryPage1.Init_QueryPage(30, true, true, "", GCList, LCIList, QueryPageDataMethodsms, RefreshRoleMethodsms, null, null, null);
  52. CommonShow.ShowProcessing("正在处理中,请稍候...", this, (obj) =>
  53. {
  54. // uC_QueryPage1.RefreshData(1, 0);
  55. }, null);
  56. }
  57. private PageData QueryPageDataMethodsms(int PageIndex, int PageSize)
  58. {
  59. string _SQLText = string.Format(@"select DEVICECODE ALARAMR_EQUNO,DEVICENAME ALARAMR_EQUTYPE,count(1) ALARAMR_TOTAL from (
  60. 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
  61. ,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
  62. left join WCS_DEVICE n on m.DEVICECODE=n.CODE
  63. union all
  64. 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
  65. ,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
  66. left join WCS_DEVICE n on m.DEVICECODE=n.CODE
  67. union all
  68. 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
  69. ,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
  70. left join WCS_DEVICE n on m.DEVICECODE=n.CODE) as deviceinfo
  71. WHERE 1=1 and alarm>0");
  72. object chooseCommValue = ((ComboBoxEx)uC_QueryPage1.GetLCItem("ALARAMR_ALARAMSTARTTIME").Control).Text;
  73. object chooseTextValue = ((TextBoxX)uC_QueryPage1.GetLCItem("ALARAMR_EQUNO").Control).Text;
  74. object chooseTextValue1 = ((TextBoxX)uC_QueryPage1.GetLCItem("ALARAMR_EQUTYPE").Control).Text;
  75. if (!string.IsNullOrEmpty(chooseTextValue.ToString()))
  76. {
  77. _SQLText = _SQLText + string.Format(" and DEVICECODE like '%{0}%'", chooseTextValue.ToString());
  78. }
  79. if (!string.IsNullOrEmpty(chooseTextValue1.ToString()))
  80. {
  81. _SQLText = _SQLText + string.Format(" and DEVICENAME like '%{0}%'", chooseTextValue.ToString());
  82. }
  83. if (chooseCommValue.ToString() == "按日统计")
  84. {
  85. _SQLText = _SQLText + " and DateDiff(dd,ALARAMSTARTTIME,getdate())= 0 group by DEVICECODE,DEVICENAME";
  86. }
  87. else if (chooseCommValue.ToString() == "按月统计")
  88. {
  89. _SQLText = _SQLText + " and DateDiff(mm,ALARAMSTARTTIME,getdate())= 0 group by DEVICECODE,DEVICENAME";
  90. }
  91. else if (chooseCommValue.ToString() == "按年统计")
  92. {
  93. _SQLText = _SQLText + " and DateDiff(yy,ALARAMSTARTTIME,getdate())= 0 group by DEVICECODE,DEVICENAME";
  94. }
  95. else if (chooseCommValue.ToString() == "所有数据")
  96. {
  97. _SQLText = _SQLText + " group by DEVICECODE,DEVICENAME";
  98. }
  99. string _Orderby = "ALARAMR_EQUNO desc";
  100. PageData pd = BaseWorkflow.QueryPageData(_SQLText, _Orderby, uC_QueryPage1.GetQueryWhere(), PageIndex, 100);
  101. return pd;
  102. }
  103. private void SubmitMethods(string LCName)
  104. {
  105. if (LCName == "btn_QDB")
  106. {
  107. uC_QueryPage1.RefreshData();
  108. }
  109. else if (LCName == "btn_QClear")
  110. {
  111. uC_QueryPage1.ShowOpaqueLayer();
  112. uC_QueryPage1.ClearLCItemValue();
  113. uC_QueryPage1.RefreshData(1, 0);
  114. uC_QueryPage1.HideOpaqueLayer();
  115. }
  116. }
  117. private void RefreshRoleMethodsms(bool ChkValue)
  118. {
  119. }
  120. }
  121. }