| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- using System;
- using DevExpress.XtraBars;
- using UAS_DeviceMonitor.DataOperate;
- using System.Data;
- using System.Text;
- using UAS_DeviceMonitor.Entity;
- using UAS_DeviceMonitor.Device.Command;
- using UAS_DeviceMonitor.PublicMethod;
- using DevExpress.XtraEditors;
- using DevExpress.XtraGrid;
- using DevExpress.XtraGrid.Views.Grid;
- using System.Timers;
- using System.Threading;
- using System.Threading.Tasks;
- namespace UAS_DeviceMonitor
- {
- public partial class Main : DevExpress.XtraBars.Ribbon.RibbonForm
- {
- StringBuilder sql = new StringBuilder();
- public Main()
- {
- SystemInf.dh = new DataHelper();
- InitializeComponent();
- dpc_enableCheckEdit.QueryCheckStateByValue += CheckedEdit_QueryCheckStateByValue;
- CheckEditCommandSet.QueryCheckStateByValue += CheckedEdit_QueryCheckStateByValue;
- }
- private void Main_Load(object sender, EventArgs e)
- {
- //设备列表
- 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();
- PageControlDeviceList.Gridcontrol = GridDeviceList;
- //轮询业务
- GridPolling.GetDataSQL = "select pl_id,pl_code,pl_name,pl_type,pl_dccode,pl_remark from polling".ToUpper();
- GridPolling.ID = "pl_id";
- GridPolling.TableName = "polling";
- 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)";
- ButtonDeletePolling.Grid = GridPolling;
- ButtonSavePolling.Grid = GridPolling;
- ButtonAddPolling.Grid = GridPolling;
- //轮询配置界面
- 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";
- GridPollingSetting.ID = "DPC_ID";
- GridPollingSetting.TableName = "DEVICEPOLLINGCONFIG";
- 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)";
- ButtonSaveCommandSet.Grid = GridPollingSetting;
- ButtonNewCommandSet.Grid = GridPollingSetting;
- ButtonDeleteCommandSet.Grid = GridPollingSetting;
- //指令设置界面
- GridCommandSetting.GetDataSQL = "select 0 CHOOSE,dc_id,dc_code,dc_name,dc_command from devicecommand".ToUpper();
- GridCommandSetting.TableName = "devicecommand";
- GridCommandSetting.ID = "dc_id";
- GridCommandSetting.InsertSQL = "insert into devicecommand(dc_id,dc_code,dc_name,dc_command) values(devicecommand_seq.nextval,:dc_code,:dc_name,:dc_command)";
- ButtonSaveCommand.Grid = GridCommandSetting;
- ButtonDeleteCommand.Grid = GridCommandSetting;
- }
- #region 界面通用事件
- /// <summary>
- /// 选项卡切换不同XPage
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ButtonItem_ItemClick(object sender, ItemClickEventArgs e)
- {
- HideXPage(e.Item.Tag.ToString());
- }
- /// <summary>
- /// 根据点击按钮的Tag显示对应的XPage
- /// </summary>
- /// <param name="PageName"></param>
- private void HideXPage(string PageName)
- {
- for (int i = 0; i < MainTabControl.TabPages.Count; i++)
- {
- if (MainTabControl.TabPages[i].Name == PageName)
- MainTabControl.TabPages[i].PageVisible = true;
- else
- MainTabControl.TabPages[i].PageVisible = false;
- }
- }
- /// <summary>
- /// 勾选Grid的CheckBox
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void CheckedEdit_QueryCheckStateByValue(object sender, DevExpress.XtraEditors.Controls.QueryCheckStateByValueEventArgs e)
- {
- string val = "";
- if (e.Value != null)
- {
- val = e.Value.ToString();
- }
- else
- {
- val = "FALSE";//默认为不选
- }
- switch (val.ToUpper())
- {
- case "TRUE":
- case "YES":
- case "1":
- e.CheckState = System.Windows.Forms.CheckState.Checked;
- break;
- case "FALSE":
- case "NO":
- case "0":
- e.CheckState = System.Windows.Forms.CheckState.Unchecked;
- break;
- default:
- e.CheckState = System.Windows.Forms.CheckState.Checked;
- break;
- }
- e.Handled = true;
- }
- #endregion
- #region PageCommandSet业务代码
- /// <summary>
- /// 新增指令弹窗
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ButtonNewCommand_Click(object sender, EventArgs e)
- {
- FormNewCommand fncmd = new FormNewCommand(BaseUtil.GetComboxEditValue(Brand), Brand.Text);
- fncmd.ShowDialog();
- GridCommandSetting.RefreshData();
- }
- /// <summary>
- /// 判断指令编号不能重复
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ButtonSaveCommand_Click(object sender, EventArgs e)
- {
- ButtonSaveCommand.DoSave();
- }
- /// <summary>
- /// 加载ComBox品牌数据
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void PageCommandSet_VisibleChanged(object sender, EventArgs e)
- {
- if (PageCommandSet.PageVisible)
- {
- DataTable dt = (DataTable)SystemInf.dh.ExecuteSql("select * from devicebrand", "select");
- BaseUtil.FillComBoxEditWidthDataTable(Brand, "db_name", "db_code", dt);
- GridCommandSetting.Condition = " where dc_brand='" + BaseUtil.GetComboxEditValue(Brand) + "'";
- }
- }
- private void Brand_SelectedIndexChanged(object sender, EventArgs e)
- {
- GridCommandSetting.Condition = " where dc_brand='" + BaseUtil.GetComboxEditValue(Brand) + "'";
- GridCommandSetting.RefreshData();
- }
- #endregion
- #region PagePollingSetting业务代码
- bool PollingSign = false;
- private void ButtonStartPolling_Click(object sender, EventArgs e)
- {
- PollingTask pt = new PollingTask();
- GridView grid = GridViewPollSetting;
- for (int i = 0; i < GridPollingSetting.RowCount; i++)
- {
- Polling pl = new Polling();
- pl.DeviceCode = GridViewPollSetting.GetRowCellValue(i, "DPC_DECODE").ToString();
- pl.Interval = int.Parse(GridViewPollSetting.GetRowCellValue(i, "DPC_INTERVAL").ToString());
- pl.Enable = GridViewPollSetting.GetRowCellValue(i, "DPC_ENABLE").ToString() != "0";
- if (pl.Enable)
- pt.AddTask(RunTask, pl);
- }
- PollingSign = true;
- pt.StartAllTask();
- }
- private void RunTask(object i)
- {
- while (PollingSign)
- {
- Polling pl = (Polling)i;
- int Interval = pl.Interval;
- string Decode = pl.DeviceCode;
- Thread.Sleep(Interval * 1000);
- SystemInf.dh.ExecuteSql("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,'" + Decode + "','','' ,'' ,'' ,'' , '','' ,'')", "insert");
- }
- }
- private void ButtonPausePolling_Click(object sender, EventArgs e)
- {
- PollingSign = false;
- }
- /// <summary>
- /// 设置GridView下拉框的值
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void PagePollingSetting_VisibleChanged(object sender, EventArgs e)
- {
- if (PagePollingSetting.PageVisible)
- {
- DataTable dt = (DataTable)SystemInf.dh.ExecuteSql("select dc_name,dc_code from devicecommand ", "select");
- PollingSetItemLookUpEdit.DataSource = dt;
- PollingSetItemLookUpEdit.DisplayMember = "DC_NAME";
- PollingSetItemLookUpEdit.ValueMember = "DC_CODE";
- }
- }
- #endregion
- }
- }
|