| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using CoreFS.CA06;
- using System.Collections;
- using System.Xml;
- using Core.Mes.Client.Common;
- namespace Core.LgMes.Client.LgIntegrationQuery
- {
- public partial class frmRTDCons : Core.Mes.Client.Common.frmStyleBase
- {
- string strTableName = "";
- DataSet dsMain = new DataSet();
- DataTable dtMain = new DataTable();
-
- public frmRTDCons()
- {
- InitializeComponent();
- }
- private void proc_Query()
- {
- if (ucmbRTDTable.SelectedIndex == -1)
- {
- //MessageBox.Show("临时表不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- dataSet1.Clear();
- return;
- }
- try
- {
- string strOut = "";
- ArrayList arry = new ArrayList();
- ArrayList sqlList = new ArrayList();
- arry.Add("frmRTDCons.Query");
- arry.Add(ucmbRTDTable.Value);
- DataSet ds = new DataSet();
- CommonClientToServer ccs = new CommonClientToServer();
- ccs.ob = this.ob;
- ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strOut);
- if (strOut != "")
- {
- MessageBox.Show(strOut, "出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- if (ds != null && ds.Tables.Count > 0)
- {
- this.dataTable1.Rows.Clear();
- if (ds.Tables[0].Rows.Count == 0) return;
- dataSet1.Merge(ds);
- }
- strOut = "";
- arry.Clear();
- sqlList.Clear();
- arry.Add("RtdDataQuery.Query");
- sqlList.Add(ucmbRTDTable.Value);
- CoreClientParam CCP = new CoreClientParam();
- DataTable dtt = new DataTable();
- CCP.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
- CCP.MethodName = "doQuery";
- CCP.ServerParams = new object[] { arry, sqlList };
- CCP.SourceDataTable = dtt;
- this.ExecuteQueryToDataTable(CCP, CoreInvokeType.Internal);
- DataSet dst = new DataSet();
- dst.Tables.Add(dtt);
- strOut = CCP.ReturnInfo;
- for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
- {
- for (int j = 0; j < dst.Tables[0].Columns.Count; j++)
- {
- string ee = ds.Tables[0].Rows[i]["FIELDS"].ToString();
- string rr = dst.Tables[0].Columns[j].ToString();
- if (ds.Tables[0].Rows[i]["FIELDS"].ToString() == dst.Tables[0].Columns[j].ToString())
- {
- DataRow[] dr = dtMain.Select("TableName='" + ucmbRTDTable.Value + "' and name='" + ds.Tables[0].Rows[i]["FIELDS"].ToString() + "'");
- dataSet1.Tables[0].Rows[i]["VALUE"] = dst.Tables[0].Rows[0][j].ToString();
- if (dr.Length> 0)
- dataSet1.Tables[0].Rows[i]["HELP"] = dr[0].ItemArray[6].ToString();
- }
- dataSet1.Tables[0].Rows[i]["TIME"] = dst.Tables[0].Rows[0]["TMSTMP"].ToString();
- }
-
- }
- if (ds == null && ds.Tables.Count <= 0)
- {
- dataSet1.Clear();
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- /// <加载临时表名>
- /// 加载临时表名
- /// </加载临时表名>
- private void proc_RTDTable()
- {
- try
- {
- string strErr = "";
- ArrayList arry = new ArrayList();
- arry.Add("proc_RTDTable.Query");
- CommonClientToServer ccs = new CommonClientToServer();
- ccs.ob = this.ob;
- DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr);
- if (strErr != "" || !(ds != null && ds.Tables.Count > 0))
- {
- MessageBox.Show("钢种加载失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
- if (MessageBox.Show("是否重新加载钢种?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
- proc_RTDTable();
- return;
- }
- ucmbRTDTable.Items.Clear();
- for (int i = 0; i < ds.Tables[0].Rows.Count; i++) //遍历所有行的信息
- {
- ucmbRTDTable.Items.Add(ds.Tables[0].Rows[i]["table_name"], GetTablesComments(ds.Tables[0].Rows[i]["table_name"].ToString()));
- }
- ucmbRTDTable.SelectedIndex = -1;
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- /// <summary>
- /// 菜单
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="ToolbarKey"></param>
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query":
- {
- proc_Query();
-
- break;
- }
- case "Update":
- {
- doEdit();
- break;
- }
- case "Exit":
- {
- this.Close();
- break;
- }
- }
- }
- //编辑各表字段信息值
- void doEdit()
- {
- string Fields = "", Vaules = "";
- Infragistics.Win.UltraWinGrid.UltraGridRow row = this.uGrdRTD.ActiveRow;
- if (row.Cells.Count > 0)
- {
- }
- Fields = row.Cells["FIELDS"].Text.Trim();
- Vaules = row.Cells["VALUE"].Text.Trim();
- ArrayList arry = new ArrayList();
- ArrayList sqlList = new ArrayList();
- arry.Add("RtdTableData_Update");
- sqlList.Add(ucmbRTDTable.Value);
- sqlList.Add(Fields);
- arry.Add(Vaules);
- CoreFS.CA06.FrmBase fr = new FrmBase();
- fr.ob = ob;
- CoreClientParam CCP_Query = new CoreClientParam();
- DataTable dt = new DataTable();
- CCP_Query.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
- CCP_Query.MethodName = "doSimpleQuery";
- CCP_Query.ServerParams = new object[] { arry, sqlList };
- CCP_Query.SourceDataTable = dt;
- fr.ExecuteQueryToDataTable(CCP_Query, CoreInvokeType.Internal);
- }
- private void frmRTDCons_Load(object sender, EventArgs e)
- {
- proc_RTDTable();
- dtMain.Columns.Add("TableName");
- dtMain.Columns.Add("Name");
- dtMain.Columns.Add("TYPE");
- dtMain.Columns.Add("FLAG");
- dtMain.Columns.Add("RDBNAME");
- dtMain.Columns.Add("SAVEFLAG");
- dtMain.Columns.Add("TEXT");
- string filename = System.Windows.Forms.Application.StartupPath + @"\hdbset.xml";
-
- XmlDocument xmldoc = new XmlDocument();
- xmldoc.Load(filename);
- GetOPCxml(xmldoc);
- }
- private void chkAutoRef_CheckedChanged(object sender, EventArgs e)
- {
- if (chkAutoRef.Checked == true)
- {
- nUpDTime.Interval = System.Convert.ToInt32(500);
- nUpDTime.Enabled = true;
- }
- else
- {
- nUpDTime.Enabled = false;
- }
- }
- /// <summary>
- /// 0.5秒刷新一次
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void nUpDTime_Tick(object sender, EventArgs e)
- {
- proc_Query();
- }
-
- /// <summary>
- /// 获取OPC配置文件
- /// </summary>
- /// <param name="xmlnode"></param>
- private void GetOPCxml(XmlNode xmlnode)
- {
- if (xmlnode.Attributes != null)
- {
- for (int i = 0; i < xmlnode.Attributes.Count; i++)
- {
- string dd3 = xmlnode.Attributes[i].Value;
- if (xmlnode.Attributes[i].Value.Length > 3 && xmlnode.Attributes[i].Value.Substring(0, 4) == "RTD_")
- {
- dsMain.Tables.Add(xmlnode.Attributes[i].Value);
- strTableName = xmlnode.Attributes[i].Value;
- continue;
- }
- if (xmlnode.ParentNode.Attributes.Count > 0 && xmlnode.ParentNode.Attributes[0].Value == strTableName)
- {
- DataRow dr = dtMain.NewRow();
- dr["TABLENAME"] = xmlnode.ParentNode.Attributes[0].Value;
- dr["NAME"] = xmlnode.Attributes[0].Value;
- dr["TYPE"] = xmlnode.Attributes[1].Value;
- dr["FLAG"] = xmlnode.Attributes[2].Value;
- dr["RDBNAME"] = xmlnode.Attributes[3].Value;
- dr["SAVEFLAG"] = xmlnode.Attributes[4].Value;
- dr["TEXT"] = xmlnode.Attributes[5].Value;
- dtMain.Rows.Add(dr);
- break;
- }
- }
- }
- //递归调用
- foreach (XmlNode xmlChild in xmlnode.ChildNodes)
- {
- GetOPCxml(xmlChild);
- }
- }
- /// <summary>
- /// 根据表名返回表说明
- /// </summary>
- /// <param name="strTables">名称</param>
- /// <returns>表说明</returns>
- private string GetTablesComments(string strTables)
- {
- string strPos =strTables.Substring(9,4);
- string strTabType = strTables.Substring(strTables.Length - 1, 1);
- string strTabComments = "";
- switch (strPos)
- {
- case "MIS1":
- strTabComments = "1#混铁炉";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- break;
- case "MIS2":
- strTabComments = "2#混铁炉";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- break;
- case "HMP1":
- strTabComments = "1#脱硫站";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- break;
- case "HMP2":
- strTabComments = "2#脱硫站";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- break;
- case "BOF1":
- strTabComments = "1#转炉";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "BOF2":
- strTabComments = "2#转炉";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "BOF3":
- strTabComments = "3#转炉";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "CAS1":
- strTabComments = "1#吹氩站";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "CAS2":
- strTabComments = "2#吹氩站";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "CAS3":
- strTabComments = "3#吹氩站";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "LFS1":
- strTabComments = "1#LF炉";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "LFS2":
- strTabComments = "2#LF炉";
- if (strTabType == "1")
- strTabComments += "主要信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "LFS3":
- strTabComments = "3#LF炉";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "RHS1":
- strTabComments = "1#RH炉";
- if (strTabType =="1")
- strTabComments += "业务驱动信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "RHS2":
- strTabComments = "2#RH炉";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "VDS1":
- strTabComments = "1#VD炉";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "VDS2":
- strTabComments = "2#VD炉";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else
- strTabComments += "料仓自动加料信号表";
- break;
- case "CCM1":
- strTabComments = "1#连铸机";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else if(strTabType == "2")
- strTabComments += "二冷水信号表";
- else if (strTabType == "3")
- strTabComments += "坯料切割信号表";
- break;
- case "CCM2":
- strTabComments = "2#连铸机";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else if (strTabType == "2")
- strTabComments += "二冷水信号表";
- else if (strTabType == "3")
- strTabComments += "坯料切割信号表";
- break;
- case "CCM3":
- strTabComments = "3#连铸机";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else if (strTabType == "2")
- strTabComments += "二冷水信号表";
- else if (strTabType == "3")
- strTabComments += "坯料切割信号表";
- break;
- case "CCM4":
- strTabComments = "4#连铸机";
- if (strTabType == "1")
- strTabComments += "业务驱动信号表";
- else if (strTabType == "2")
- strTabComments += "二冷水信号表";
- else if (strTabType == "3")
- strTabComments += "坯料切割信号表";
- break;
- default:
- if (strTables == "RTD_POINTLYJZ1")
- strTabComments = "能源介质信号表";
- else if(strTables == "RTD_POINTCCMBILLWEIGHT")
- strTabComments = "连铸切割坯料称重信号表";
- break;
- }
- return strTabComments;
- }
- }
- }
|