Main.cs 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. using System;
  2. using DevExpress.XtraBars;
  3. using UAS_DeviceMonitor.DataOperate;
  4. using System.Data;
  5. using System.Text;
  6. using UAS_DeviceMonitor.Entity;
  7. using UAS_DeviceMonitor.Device.Command;
  8. using UAS_DeviceMonitor.PublicMethod;
  9. using DevExpress.XtraEditors;
  10. using DevExpress.XtraGrid;
  11. using DevExpress.XtraGrid.Views.Grid;
  12. using System.Threading;
  13. using System.Threading.Tasks;
  14. namespace UAS_DeviceMonitor
  15. {
  16. public partial class Main : DevExpress.XtraBars.Ribbon.RibbonForm
  17. {
  18. StringBuilder sql = new StringBuilder();
  19. public Main()
  20. {
  21. SystemInf.dh = new DataHelper();
  22. InitializeComponent();
  23. dpc_enableCheckEdit.QueryCheckStateByValue += CheckedEdit_QueryCheckStateByValue;
  24. CheckEditCommandSet.QueryCheckStateByValue += CheckedEdit_QueryCheckStateByValue;
  25. }
  26. private void Main_Load(object sender, EventArgs e)
  27. {
  28. //设备列表
  29. GridDeviceList.GetDataSQL = "select de_id,de_code,de_name,de_spec,de_indate,de_runstatus,de_address,de_wccode,de_vendcode,de_vendname from device".ToUpper();
  30. PageControlDeviceList.Gridcontrol = GridDeviceList;
  31. //轮询业务
  32. GridPolling.GetDataSQL = "select pl_id,pl_code,pl_name,pl_type,pl_dccode,pl_remark from polling".ToUpper();
  33. GridPolling.ID = "pl_id";
  34. GridPolling.TableName = "polling";
  35. GridPolling.InsertSQL = "insert into polling(pl_id,pl_code,pl_name,pl_type,pl_dccode,pl_remark) values(polling_seq.nextval,:pl_code,:pl_name,:pl_type,:pl_dccode,:pl_remark)";
  36. ButtonDeletePolling.Grid = GridPolling;
  37. ButtonSavePolling.Grid = GridPolling;
  38. ButtonAddPolling.Grid = GridPolling;
  39. //轮询配置界面
  40. GridPollingSetting.GetDataSQL = "SELECT DPC_ID,DPC_DECODE ,DPC_PLCODE ,DPC_PLNAME ,DPC_INTERVAL ,DPC_DCCODE ,DPC_FUNCTION , DPC_ENABLE,DPC_STATUS ,DPC_REMARK FROM DEVICEPOLLINGCONFIG";
  41. GridPollingSetting.ID = "DPC_ID";
  42. GridPollingSetting.TableName = "DEVICEPOLLINGCONFIG";
  43. GridPollingSetting.InsertSQL = "insert into DEVICEPOLLINGCONFIG(DPC_ID,DPC_DECODE ,DPC_PLCODE ,DPC_PLNAME ,DPC_INTERVAL ,DPC_DCCODE ,DPC_FUNCTION , DPC_ENABLE,DPC_STATUS ,DPC_REMARK) values(DEVICEPOLLINGCONFIG_seq.nextval,:DPC_DECODE ,:DPC_PLCODE ,:DPC_PLNAME ,:DPC_INTERVAL ,:DPC_DCCODE ,:DPC_FUNCTION , :DPC_ENABLE,:DPC_STATUS ,:DPC_REMARK)";
  44. ButtonSaveCommandSet.Grid = GridPollingSetting;
  45. ButtonNewCommandSet.Grid = GridPollingSetting;
  46. ButtonDeleteCommandSet.Grid = GridPollingSetting;
  47. //指令设置界面
  48. GridCommandSetting.GetDataSQL = "select 0 CHOOSE,dc_id,dc_code,dc_name,dc_command from devicecommand".ToUpper();
  49. GridCommandSetting.TableName = "devicecommand";
  50. GridCommandSetting.ID = "dc_id";
  51. GridCommandSetting.InsertSQL = "insert into devicecommand(dc_id,dc_code,dc_name,dc_command) values(devicecommand_seq.nextval,:dc_code,:dc_name,:dc_command)";
  52. ButtonSaveCommand.Grid = GridCommandSetting;
  53. ButtonDeleteCommand.Grid = GridCommandSetting;
  54. }
  55. #region 界面通用事件
  56. /// <summary>
  57. /// 选项卡切换不同XPage
  58. /// </summary>
  59. /// <param name="sender"></param>
  60. /// <param name="e"></param>
  61. private void ButtonItem_ItemClick(object sender, ItemClickEventArgs e)
  62. {
  63. HideXPage(e.Item.Tag.ToString());
  64. }
  65. /// <summary>
  66. /// 根据点击按钮的Tag显示对应的XPage
  67. /// </summary>
  68. /// <param name="PageName"></param>
  69. private void HideXPage(string PageName)
  70. {
  71. for (int i = 0; i < MainTabControl.TabPages.Count; i++)
  72. {
  73. if (MainTabControl.TabPages[i].Name == PageName)
  74. MainTabControl.TabPages[i].PageVisible = true;
  75. else
  76. MainTabControl.TabPages[i].PageVisible = false;
  77. }
  78. }
  79. /// <summary>
  80. /// 勾选Grid的CheckBox
  81. /// </summary>
  82. /// <param name="sender"></param>
  83. /// <param name="e"></param>
  84. private void CheckedEdit_QueryCheckStateByValue(object sender, DevExpress.XtraEditors.Controls.QueryCheckStateByValueEventArgs e)
  85. {
  86. string val = "";
  87. if (e.Value != null)
  88. {
  89. val = e.Value.ToString();
  90. }
  91. else
  92. {
  93. val = "FALSE";//默认为不选
  94. }
  95. switch (val.ToUpper())
  96. {
  97. case "TRUE":
  98. case "YES":
  99. case "1":
  100. e.CheckState = System.Windows.Forms.CheckState.Checked;
  101. break;
  102. case "FALSE":
  103. case "NO":
  104. case "0":
  105. e.CheckState = System.Windows.Forms.CheckState.Unchecked;
  106. break;
  107. default:
  108. e.CheckState = System.Windows.Forms.CheckState.Checked;
  109. break;
  110. }
  111. e.Handled = true;
  112. }
  113. #endregion
  114. #region PageCommandSet业务代码
  115. /// <summary>
  116. /// 新增指令弹窗
  117. /// </summary>
  118. /// <param name="sender"></param>
  119. /// <param name="e"></param>
  120. private void ButtonNewCommand_Click(object sender, EventArgs e)
  121. {
  122. FormNewCommand fncmd = new FormNewCommand(BaseUtil.GetComboxEditValue(Brand), Brand.Text);
  123. fncmd.ShowDialog();
  124. GridCommandSetting.RefreshData();
  125. }
  126. /// <summary>
  127. /// 判断指令编号不能重复
  128. /// </summary>
  129. /// <param name="sender"></param>
  130. /// <param name="e"></param>
  131. private void ButtonSaveCommand_Click(object sender, EventArgs e)
  132. {
  133. ButtonSaveCommand.DoSave();
  134. }
  135. /// <summary>
  136. /// 加载ComBox品牌数据
  137. /// </summary>
  138. /// <param name="sender"></param>
  139. /// <param name="e"></param>
  140. private void PageCommandSet_VisibleChanged(object sender, EventArgs e)
  141. {
  142. if (PageCommandSet.PageVisible)
  143. {
  144. DataTable dt = (DataTable)SystemInf.dh.ExecuteSql("select * from devicebrand", "select");
  145. BaseUtil.FillComBoxEditWidthDataTable(Brand, "db_name", "db_code", dt);
  146. GridCommandSetting.Condition = " where dc_brand='" + BaseUtil.GetComboxEditValue(Brand) + "'";
  147. }
  148. }
  149. private void Brand_SelectedIndexChanged(object sender, EventArgs e)
  150. {
  151. GridCommandSetting.Condition = " where dc_brand='" + BaseUtil.GetComboxEditValue(Brand) + "'";
  152. GridCommandSetting.RefreshData();
  153. }
  154. #endregion
  155. #region PagePollingSetting业务代码
  156. private void ButtonStartPolling_Click(object sender, EventArgs e)
  157. {
  158. PollingTask pt = new PollingTask();
  159. GridView grid = GridViewPollSetting;
  160. for (int i = 0; i < GridPollingSetting.RowCount; i++)
  161. {
  162. Polling pl = new Polling();
  163. pl.DeviceCode = GridViewPollSetting.GetRowCellValue(i, "DPC_DECODE").ToString();
  164. pl.Interval = int.Parse(GridViewPollSetting.GetRowCellValue(i, "DPC_INTERVAL").ToString());
  165. pl.Enable = (bool)GridViewPollSetting.GetRowCellValue(i, "DPC_ENABLE");
  166. pt.AddTask(RunTask, pl);
  167. }
  168. pt.StartAllTask();
  169. }
  170. private void RunTask(object i)
  171. {
  172. Polling pl = (Polling)i;
  173. //Interval
  174. }
  175. private void ButtonPausePolling_Click(object sender, EventArgs e)
  176. {
  177. }
  178. /// <summary>
  179. /// 设置GridView下拉框的值
  180. /// </summary>
  181. /// <param name="sender"></param>
  182. /// <param name="e"></param>
  183. private void PagePollingSetting_VisibleChanged(object sender, EventArgs e)
  184. {
  185. if (PagePollingSetting.PageVisible)
  186. {
  187. DataTable dt = (DataTable)SystemInf.dh.ExecuteSql("select dc_name,dc_code from devicecommand ", "select");
  188. PollingSetItemLookUpEdit.DataSource = dt;
  189. PollingSetItemLookUpEdit.DisplayMember = "DC_NAME";
  190. PollingSetItemLookUpEdit.ValueMember = "DC_CODE";
  191. }
  192. }
  193. #endregion
  194. }
  195. }