using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Collections; using Core.Mes.Client.Common; namespace Core.LgMes.Client.LgIntegrationQuery { public partial class frmProcess_Items : Core.Mes.Client.Common.frmStyleBase { string err = ""; string sSelectNodeName = ""; //保存最后一次选中的工序编码 //string sSelectNodeTag = "";//保存最后一次选中的工序编码的Tag值 DataSet dsTabCols = new DataSet(); public frmProcess_Items() { InitializeComponent(); } void doQuery() { try { switch (ulTab.SelectedTab.Key) { case "ulTabProcess": ulGridProcess.DataSource = queryProcess(); break; case "ulTabItems": ulGridItems.DataSource = queryItems(); break; case "ulTabSet": getSetItems(treeView1.SelectedNode == null ? " " : treeView1.SelectedNode.Name,""); BandTreeData(); break; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } void BandTreeData() { treeView1.Nodes.Clear(); DataSet ds = queryProcess(); bool bl = false; if (ds != null) { if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { for (int j = 0; j < ds.Tables[0].Rows.Count; j++) { if (ds.Tables[0].Rows[j]["PROCESSID"].ToString().Length > 0) { if (ds.Tables[0].Rows[j]["PROCESSID"].ToString().Length == 2) { treeView1.Nodes.Add(ds.Tables[0].Rows[j]["PROCESSID"].ToString(), ds.Tables[0].Rows[j]["PROCESSID"].ToString() + "-" + ds.Tables[0].Rows[j]["NAME_"].ToString() + "(" + ds.Tables[0].Rows[j]["DESCRIPTION"].ToString() + ")"); treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString()].Tag = ds.Tables[0].Rows[j]["TABLE_NAME"].ToString(); if (ds.Tables[0].Rows[j]["ISHAVE"].ToString() != "0")//该工序维护有对应的工艺参数 treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString()].ForeColor = Color.Red; if (!bl) { if (sSelectNodeName == ds.Tables[0].Rows[j]["PROCESSID"].ToString()) { tNode = treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString()]; bl = true; } } } else { Core.Mes.Client.Common.Globals.findParentNode(treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, 2)], ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, ds.Tables[0].Rows[j]["PROCESSID"].ToString().Length - 2)).Nodes.Add(ds.Tables[0].Rows[j]["PROCESSID"].ToString(), ds.Tables[0].Rows[j]["PROCESSID"].ToString() + "-" + ds.Tables[0].Rows[j]["NAME_"].ToString() + "(" + ds.Tables[0].Rows[j]["DESCRIPTION"].ToString() + ")"); Core.Mes.Client.Common.Globals.findParentNode(treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, 2)], ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, ds.Tables[0].Rows[j]["PROCESSID"].ToString().Length - 2)).Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString()].Tag = ds.Tables[0].Rows[j]["TABLE_NAME"].ToString(); if (ds.Tables[0].Rows[j]["ISHAVE"].ToString() != "0")//该工序维护有对应的工艺参数 Core.Mes.Client.Common.Globals.findParentNode(treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, 2)], ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, ds.Tables[0].Rows[j]["PROCESSID"].ToString().Length - 2)).Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString()].ForeColor = Color.Red; if (!bl) { if (sSelectNodeName == ds.Tables[0].Rows[j]["PROCESSID"].ToString()) { tNode = Core.Mes.Client.Common.Globals.findParentNode(treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, 2)], ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, ds.Tables[0].Rows[j]["PROCESSID"].ToString().Length - 2)).Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString()]; bl = true; } } } } } treeView1.ExpandAll(); treeView1.HideSelection = true; if (!bl) treeView1.SelectedNode = treeView1.Nodes[0]; else treeView1.SelectedNode = tNode; } } } #region 查询 //查询工序与工艺参数对应关系页面的工艺参数信息 void getSetItems(string sNodeName,string sSelectItemCode) { string strErr = ""; try { ArrayList arry = new ArrayList(); arry.Add("GetSetItems.Query"); arry.Add(sNodeName); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr == "") { uldtsrcMain.Rows.Clear(); foreach (DataRow dr in ds.Tables[0].Rows) { uldtsrcMain.Rows.Add(new object[] {dr["CRAFTITEMID"].ToString(), dr["CRAFTITEMNAME"].ToString(), dr["ITEMCLASS"].ToString(), dr["CRAFTTYPE"].ToString(), dr["OPERATOR"].ToString(), dr["INPUTTIME"].ToString(), dr["ITEMNUM"].ToString() }); } //ulGridMain.DataSource = ds; for (int i = 0; i < ulGridMain.Rows.Count; i++) { if (ulGridMain.Rows[i].Cells["CRAFTITEMID"].Value.ToString() == sSelectItemCode) { ulGridMain.Rows[i].Activated = true; ulGridMain.Rows[i].Selected = true; break; } } } else { MessageBox.Show(err, "提示"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } //查询工序 DataSet queryProcess() { string strErr = ""; try { ArrayList arry = new ArrayList(); arry.Add("GetProcess.Query"); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (err == "") return ds; else { MessageBox.Show(err, "提示"); return null; } } catch (Exception ex) { MessageBox.Show(ex.Message); return null; } } //查询工艺参数 DataSet queryItems() { string strErr = ""; try { ArrayList arry = new ArrayList(); arry.Add("GetItems.Query"); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (err == "") return ds; else { MessageBox.Show(err, "提示"); return null; } } catch (Exception ex) { MessageBox.Show(ex.Message); return null; } } #endregion void doAdd() { try { string strErr = ""; string sSelectTab = ulTab.SelectedTab.Key; if (sSelectTab == "ulTabProcess") { #region 数据校验 if (txtBH.Text.Trim() == "") { MessageBox.Show("工序编码不允许为空!", "提示"); txtBH.Focus(); return; } if (txtName.Text.Trim() == "") { MessageBox.Show("工序名称不允许为空!", "提示"); txtName.Focus(); return; } //if (ulcmbTableName.SelectedRow == null) //{ // MessageBox.Show("工序对应的炼钢作业表名不允许为空!", "提示"); // ulcmbTableName.Focus(); // return; //} #endregion string strSqlID = "ZL_AddProcess"; object[] sArgs = new object[6]; sArgs[0] = txtBH.Text.Trim(); sArgs[1] = txtName.Text.Trim(); sArgs[2] = txtDescription.Text.Trim(); sArgs[3] = checkBox1.Checked ? "1" : "0"; sArgs[4] = this.UserInfo.GetUserName(); sArgs[5] = ulcmbTableName.Value == null ? "" : ulcmbTableName.Value.ToString().Trim(); Hashtable hashtb = new Hashtable(); hashtb.Add("I1", sArgs[0]); hashtb.Add("I2", sArgs[1]); hashtb.Add("I3", sArgs[2]); hashtb.Add("I4", sArgs[3]); hashtb.Add("I5", sArgs[4]); hashtb.Add("I6", sArgs[5]); hashtb.Add("O1", ""); hashtb.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog", "BaseDataManage", strSqlID, hashtb, out strErr); //sArgs[5] = ulcmeStyle_Process.Text.Trim(); //sArgs[6] = ulcmbTableName.Value == null ? "" : ulcmbTableName.Value.ToString().Trim(); ////sArgs[4] = (ulcmbTableName.SelectedRow == null?"":ulcmbTableName.SelectedRow.Cells["TABLE_NAME"].Value.ToString()); if (strErr=="") { DataRow dr = ((DataSet)ulGridProcess.DataSource).Tables[0].NewRow(); dr["PROCESSID"] = sArgs[0].ToString(); dr["NAME_"] = sArgs[1].ToString(); dr["DESCRIPTION"] = sArgs[2].ToString(); dr["FLAG"] = sArgs[3].ToString() == "1" ? "有效" : "无效"; dr["INPUTTIME"] = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); dr["RECORDER"] = sArgs[4].ToString(); //dr["PROCESSTYPE"] = sArgs[5].ToString(); dr["TABLE_NAME"] = sArgs[6].ToString(); ((DataSet)ulGridProcess.DataSource).Tables[0].Rows.Add(dr); ((DataSet)ulGridProcess.DataSource).Tables[0].AcceptChanges(); ulGridProcess.Rows[ulGridProcess.Rows.Count - 1].Selected = true; ulGridProcess.Rows[ulGridProcess.Rows.Count - 1].Activated = true; } else MessageBox.Show("操作失败!原因:" + err, "提示"); } else if (sSelectTab == "ulTabItems") { #region 数据校验 if (txtID.Text.Trim() == "") { MessageBox.Show("参数项编码不允许为空!", "提示"); txtID.Focus(); return; } if (txtItmeName.Text.Trim() == "") { MessageBox.Show("参数项名称不允许为空!", "提示"); txtItmeName.Focus(); return; } //if (ulcmeType.Text.Trim() == "") //{ // MessageBox.Show("参数项类型不允许为空!", "提示"); // ulcmeType.Focus(); // return; //} if (ultraComboEditor1.Text.Trim() == "") { MessageBox.Show("工艺类型不允许为空!", "提示"); ultraComboEditor1.Focus(); return; } #endregion string strSqlID = "ZL_AddItems"; object[] sArgs = new object[5]; sArgs[0] = txtID.Text.Trim();//工艺参数编码 sArgs[1] = txtItmeName.Text.Trim();//工艺参数说明 sArgs[2] = "";//ulcmeType.Value.ToString();//参数类型(成分类,温度类,基它类) sArgs[3] = ultraComboEditor1.Value.ToString();//工艺类型(炼钢或轧钢) sArgs[4] = this.UserInfo.GetUserName();//维护人 Hashtable hashtb = new Hashtable(); hashtb.Add("I1", sArgs[0]); hashtb.Add("I2", sArgs[1]); hashtb.Add("I3", sArgs[2]); hashtb.Add("I4", sArgs[3]); hashtb.Add("I5", sArgs[4]); hashtb.Add("O1", ""); hashtb.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog", "BaseDataManage", strSqlID, hashtb, out strErr); if (strErr=="") { DataRow dr = ((DataSet)ulGridItems.DataSource).Tables[0].NewRow(); dr["CRAFTITEMID"] = sArgs[0].ToString(); dr["CRAFTITEMNAME"] = sArgs[1].ToString(); dr["ITEMCLASS"] = sArgs[2].ToString(); dr["CRAFTTYPE"] = sArgs[3].ToString(); dr["RECORDER"] = sArgs[4].ToString(); dr["INPUTTIME"] = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); ((DataSet)ulGridItems.DataSource).Tables[0].Rows.Add(dr); ((DataSet)ulGridItems.DataSource).Tables[0].AcceptChanges(); ulGridItems.Rows[ulGridItems.Rows.Count - 1].Activated = true; ulGridItems.Rows[ulGridItems.Rows.Count - 1].Selected = true; } else MessageBox.Show("操作失败!原因:" + err, "提示"); } else if (sSelectTab == "ulTabSet") { if (treeView1.SelectedNode != null) { ArrayList arrItems = new ArrayList(); ArrayList arrNums = new ArrayList(); //ArrayList arrFormula = new ArrayList(); //ArrayList arrFormula_Memo = new ArrayList(); ulGridMain.UpdateData(); foreach (Infragistics.Win.UltraWinGrid.UltraGridRow drow in ulGridMain.Rows) { if (drow.Cells["UCCHOOSE"].Value.ToString().ToUpper() == "TRUE") { arrItems.Add(drow.Cells["CRAFTITEMID"].Value.ToString()); arrNums.Add(drow.Cells["ITEMNUM"].Value.ToString()); //arrFormula.Add(drow.Cells["FORMULA"].Text.Trim() == "" ? "Empty" : drow.Cells["FORMULA"].Text.Trim()); //arrFormula_Memo.Add(drow.Cells["FORMULA_MEMO"].Text.Trim() == "" ? "Empty" : drow.Cells["FORMULA_MEMO"].Text.Trim()); } } if (arrItems.Count == 0) return; string strSqlID = "ZL_AddSet"; object[] sArgs = new object[4]; sArgs[0] = treeView1.SelectedNode.Name; sArgs[1] = arrItems; sArgs[2] = arrNums; sArgs[3] = this.UserInfo.GetUserName(); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure", "ExecProcWithCollParam", strSqlID, sArgs, out strErr); if (strErr=="") BandTreeData(); else MessageBox.Show("操作失败!原因:" + err, "提示"); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } void doUpdate() { try { string strErr = ""; string sSelectTab = ulTab.SelectedTab.Key; if (sSelectTab == "ulTabProcess") { if (ulGridProcess.ActiveRow != null) { if (ulGridProcess.ActiveRow == null) return; #region 数据校验 if (txtBH.Text.Trim() == "") { MessageBox.Show("工序编码不允许为空!", "提示"); txtBH.Focus(); return; } if (txtName.Text.Trim() == "") { MessageBox.Show("工序名称不允许为空!", "提示"); txtName.Focus(); return; } #endregion string strSqlID = "ZL_UpdateProcess"; object[] sArgs = new object[8]; sArgs[0] = txtBH.Text.Trim();//工序编码 sArgs[1] = txtName.Text.Trim();//工序名称 sArgs[2] = txtDescription.Text.Trim();//工序说明 sArgs[3] = checkBox1.Checked ? "1" : "0";//有效标志 sArgs[4] = this.UserInfo.GetUserName();//维护人 sArgs[5] = ulcmeStyle_Process.Text;//工序类型(炼钢或轧钢) sArgs[6] = ulcmbTableName.SelectedIndex == -1 ? "" : ulcmbTableName.SelectedItem.DataValue.ToString();//炼钢作业表的表名 sArgs[7] = ulGridProcess.ActiveRow.Cells["PROCESSID"].Value.ToString();//工序编码(原) ////sArgs[5] = (ulcmbTableName.SelectedRow == null ? "" : ulcmbTableName.SelectedRow.Cells["TABLE_NAME"].Value.ToString()); Hashtable hashtb = new Hashtable(); hashtb.Add("I1", sArgs[0]); hashtb.Add("I2", sArgs[1]); hashtb.Add("I3", sArgs[2]); hashtb.Add("I4", sArgs[3]); hashtb.Add("I5", sArgs[4]); hashtb.Add("I6", sArgs[5]); hashtb.Add("I7", sArgs[6]); hashtb.Add("I8", sArgs[7]); hashtb.Add("O1", ""); hashtb.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog", "BaseDataManage", strSqlID, hashtb, out strErr); if (strErr =="") { ulGridProcess.ActiveRow.Cells["PROCESSID"].Value = sArgs[0].ToString(); ulGridProcess.ActiveRow.Cells["NAME_"].Value = sArgs[1].ToString(); ulGridProcess.ActiveRow.Cells["DESCRIPTION"].Value = sArgs[2].ToString(); if (sArgs[3].ToString() == "1") ulGridProcess.ActiveRow.Cells["FLAG"].Value = "有效"; else ulGridProcess.ActiveRow.Cells["FLAG"].Value = "无效"; ulGridProcess.ActiveRow.Cells["RECORDER"].Value = sArgs[4].ToString(); ulGridProcess.ActiveRow.Cells["INPUTTIME"].Value = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //ulGridProcess.ActiveRow.Cells["PROCESSTYPE"].Value = sArgs[5].ToString(); //ulGridProcess.ActiveRow.Cells["TABLE_NAME"].Value = sArgs[6].ToString(); ((DataSet)ulGridProcess.DataSource).Tables[0].AcceptChanges(); } else MessageBox.Show("操作失败!原因:" + err, "提示"); } } else if (sSelectTab == "ulTabItems") { if (ulGridItems.ActiveRow == null) return; #region 数据校验 if (txtID.Text.Trim() == "") { MessageBox.Show("参数项编码不允许为空!", "提示"); txtID.Focus(); return; } if (txtItmeName.Text.Trim() == "") { MessageBox.Show("参数项名称不允许为空!", "提示"); txtItmeName.Focus(); return; } /*if (ulcmeType.Text.Trim() == "") { MessageBox.Show("参数项类型不允许为空!", "提示"); ulcmeType.Focus(); return; }*/ #endregion string strSqlID = "ZL_UpdateItems"; object[] sArgs = new object[6]; sArgs[0] = txtID.Text.Trim();//工艺参数编码 sArgs[1] = txtItmeName.Text.Trim();//工艺参数说明 sArgs[2] = ulcmeType.Value.ToString();//参数类型(成分类,温度类,基它类) sArgs[3] = ultraComboEditor1.Value.ToString();//工艺类型(炼钢或轧钢) sArgs[4] = this.UserInfo.GetUserName();//维护人 sArgs[5] = ulGridItems.ActiveRow.Cells["CRAFTITEMID"].Value.ToString().Trim();//工艺参数编码(原) Hashtable hashtb = new Hashtable(); hashtb.Add("I1", sArgs[0]); hashtb.Add("I2", sArgs[1]); hashtb.Add("I3", sArgs[2]); hashtb.Add("I4", sArgs[3]); hashtb.Add("I5", sArgs[4]); hashtb.Add("I6", sArgs[5]); hashtb.Add("O1", ""); hashtb.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog", "BaseDataManage", strSqlID, hashtb, out strErr); if (strErr == "") { ulGridItems.ActiveRow.Cells["CRAFTITEMID"].Value = sArgs[0].ToString(); ulGridItems.ActiveRow.Cells["CRAFTITEMNAME"].Value = sArgs[1].ToString(); ulGridItems.ActiveRow.Cells["ITEMCLASS"].Value = sArgs[2].ToString(); ulGridItems.ActiveRow.Cells["CRAFTTYPE"].Value = sArgs[3].ToString(); ulGridItems.ActiveRow.Cells["RECORDER"].Value = sArgs[4].ToString(); ulGridItems.ActiveRow.Cells["INPUTTIME"].Value = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); ((DataSet)ulGridItems.DataSource).Tables[0].AcceptChanges(); } else MessageBox.Show("操作失败!原因:" + err, "提示"); } else if (sSelectTab == "ulTabSet") { if (treeView1.SelectedNode != null) { ArrayList arrItems = new ArrayList(); ArrayList arrNums = new ArrayList(); //ArrayList arrFormula = new ArrayList(); //ArrayList arrFormula_Memo = new ArrayList(); ulGridMain.UpdateData(); foreach (Infragistics.Win.UltraWinGrid.UltraGridRow drow in ulGridMain.Rows) { if (drow.Cells["UCCHOOSE"].Value.ToString().ToUpper() == "TRUE") { arrItems.Add(drow.Cells["CRAFTITEMID"].Value.ToString()); arrNums.Add(drow.Cells["ITEMNUM"].Value.ToString()); //arrFormula.Add(drow.Cells["FORMULA"].Text.Trim() == "" ? "Empty" : drow.Cells["FORMULA"].Text.Trim()); //arrFormula_Memo.Add(drow.Cells["FORMULA_MEMO"].Text.Trim() == "" ? "Empty" : drow.Cells["FORMULA_MEMO"].Text.Trim()); } } if (arrItems.Count == 0) return; string strSqlID = "ZL_AddSet"; object[] sArgs = new object[4]; sArgs[0] = treeView1.SelectedNode.Name; sArgs[1] = arrItems; sArgs[2] = arrNums; sArgs[3] = this.UserInfo.GetUserName(); //sArgs[4] = arrFormula; //sArgs[5] = arrFormula_Memo; CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure", "ExecProcWithCollParam", strSqlID, sArgs, out strErr); if (strErr =="") BandTreeData(); else MessageBox.Show("操作失败!原因:" + err, "提示"); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } void doDel() { try { string strErr = ""; string sSelectTab = ulTab.SelectedTab.Key; if (sSelectTab == "ulTabProcess") { if (ulGridProcess.ActiveRow == null) return; if (MessageBox.Show("你确定要删除此行数据吗?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) return; string strSqlID = "ZL_DelProcess"; object[] sArgs = new object[1]; sArgs[0] = ulGridProcess.ActiveRow.Cells["PROCESSID"].Value.ToString(); Hashtable hashtb = new Hashtable(); hashtb.Add("I1", sArgs[0]); hashtb.Add("O1", ""); hashtb.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog", "BaseDataManage", strSqlID, hashtb, out strErr); if (strErr == "") { ulGridProcess.ActiveRow.Delete(false); ((DataSet)ulGridProcess.DataSource).Tables[0].AcceptChanges(); } else MessageBox.Show("操作失败!原因:" + err, "提示"); } else if (sSelectTab == "ulTabItems") { if (ulGridItems.ActiveRow == null) return; if (MessageBox.Show("你确定要删除此行数据吗?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) return; string strSqlID = "ZL_DelItems"; object[] sArgs = new object[1]; sArgs[0] = ulGridItems.ActiveRow.Cells["CRAFTITEMID"].Value.ToString(); Hashtable hashtb = new Hashtable(); hashtb.Add("I1", sArgs[0]); hashtb.Add("O1", ""); hashtb.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog", "BaseDataManage", strSqlID, hashtb, out strErr); if (strErr == "") { ulGridItems.ActiveRow.Delete(false); ((DataSet)ulGridItems.DataSource).Tables[0].AcceptChanges(); } else MessageBox.Show("操作失败!原因:" + err, "提示"); } else if (sSelectTab == "ulTabSet") { if (treeView1.SelectedNode != null) { if (MessageBox.Show("你确定要删除选中数据吗?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) return; ArrayList arrItems = new ArrayList(); ulGridMain.UpdateData(); foreach (Infragistics.Win.UltraWinGrid.UltraGridRow drow in ulGridMain.Rows) { if (drow.Cells["UCCHOOSE"].Value.ToString().ToUpper() == "TRUE") arrItems.Add(drow.Cells["CRAFTITEMID"].Value.ToString()); } if (arrItems.Count == 0) return; string strSqlID = "ZL_DelProcessItems"; object[] sArgs = new object[2]; sArgs[0] = treeView1.SelectedNode.Name; sArgs[1] = arrItems; CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure", "ExecProcWithCollParam", strSqlID, sArgs, out strErr); if (strErr == "") BandTreeData(); else MessageBox.Show("操作失败!原因:" + err, "提示"); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } int doExecute(string sMethodName, object[] sArgs) { try { return 1; //return ((int)ClientCommon._RemotingHelp.ExecuteMethod("标准管理", "Core.ZLMes.Server.Gfgl.Process_Items", sMethodName, new object[] { sArgs }, out err)); } catch (Exception ex) { MessageBox.Show(ex.Message); return 0; } } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": doQuery(); break; case "Update": doUpdate(); break; case "Add": doAdd(); break; case "Delete": doDel(); break; case "Export": #region 导出Excel switch (ulTab.SelectedTab.Key) { case "ulTabProcess": Core.Mes.Client.Common.Globals.ulGridToExcel(ulGridProcess, ulTab.SelectedTab.Text); break; case "ulTabItems": Core.Mes.Client.Common.Globals.ulGridToExcel(ulGridItems, ulTab.SelectedTab.Text); break; case "ulTabSet": Core.Mes.Client.Common.Globals.ulGridToExcel(ulGridMain, ulTab.SelectedTab.Text); break; } #endregion break; case "Exit": Close(); break; } } TreeNode tNode = new TreeNode();//保存上次选择的Node private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (tNode.Text.Trim() != "") tNode.NodeFont = new Font("宋体", 9F, System.Drawing.FontStyle.Regular); treeView1.SelectedNode.NodeFont = new Font("宋体", 9F, System.Drawing.FontStyle.Bold); tNode = treeView1.SelectedNode; sSelectNodeName = e.Node.Name; //sSelectNodeTag = e.Node.Tag.ToString(); getSetItems(e.Node.Name,""); } private void ulGrid_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e) { if (e.Row.Cells["OPERATOR"].Value.ToString() != "") e.Row.Appearance.BackColor = Color.MistyRose; else e.Row.Appearance.BackColor = Color.Empty; } private void ulGridItems_AfterRowActivate(object sender, EventArgs e) { ultraComboEditor1.Value = ulGridItems.ActiveRow.Cells["CRAFTTYPE"].Value.ToString();//工艺类型 txtID.Text = ulGridItems.ActiveRow.Cells["CRAFTITEMID"].Value.ToString();//参数项编码 txtItmeName.Text = ulGridItems.ActiveRow.Cells["CRAFTITEMNAME"].Value.ToString();//参数名称 ulcmeType.Value = ulGridItems.ActiveRow.Cells["ITEMCLASS"].Value.ToString(); } private void frmProcess_Items_Load(object sender, EventArgs e) { ulcmeStyle_Process.SelectedIndex = 1; ultraComboEditor1.SelectedIndex = 1; this.treeView1.ExpandAll(); Init(); } private void ulTab_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { doQuery(); } void Init() { try { string strErr = ""; DataSet ds; ds = null;//(DataSet)ClientCommon._RemotingHelp.ExecuteMethod("标准管理", "Core.ZLMes.Server.Gfgl.Common", "getBaseInfo", new object[] { "1015" }, out err); if (ds != null)//参数项类型 { ulcmeType.Items.Clear(); Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeType, ds); } //查询炼钢作业表的表名与字段名 ds[0] :表名,ds[1] :字段名 ArrayList arry = new ArrayList(); arry.Add("GetTableInfo.Query"); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; DataSet dsTableInfo = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr == "") { ulcmbTableName.Items.Clear(); Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmbTableName, dsTableInfo); ulcmeTableName.Items.Clear(); Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeTableName, dsTableInfo); } else MessageBox.Show(err, "提示"); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void ulGridProcess_AfterRowActivate_1(object sender, EventArgs e) { txtBH.Text = ulGridProcess.ActiveRow.Cells["PROCESSID"].Text; txtName.Text = ulGridProcess.ActiveRow.Cells["NAME_"].Text; checkBox1.Checked = ulGridProcess.ActiveRow.Cells["FLAG"].Text == "有效" ? true : false; txtDescription.Text = ulGridProcess.ActiveRow.Cells["DESCRIPTION"].Text; ulcmbTableName.Value = ulGridProcess.ActiveRow.Cells["TABLE_NAME"].Text; } private void ulcmeStyle_Process_ValueChanged(object sender, EventArgs e) { if (ulcmeStyle_Process.Value != null && ulcmeStyle_Process.Value.ToString() == "轧钢") { ulcmbTableName.Value = null; ulcmbTableName.Enabled = false; } else { ulcmbTableName.Enabled = true; } } private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { switch (e.ClickedItem.Name) { case "Add": //frmProcessEdit process = new frmProcessEdit(); //process.sOperator = "增加"; //process.sProcessID = sSelectNodeName; //if (process.ShowDialog() == DialogResult.Yes) //{ // sSelectNodeName = process.sProcessID; // BandTreeData(); //} break; case "Update": if (sSelectNodeName == "") { MessageBox.Show("请选择需要修改的工序!", "提示"); return; } //frmProcessEdit processUpdate = new frmProcessEdit(); //processUpdate.sOperator = "修改"; //processUpdate.sProcessID = sSelectNodeName; //if (processUpdate.ShowDialog() == DialogResult.Yes)//操作成功 //{ // sSelectNodeName = processUpdate.sProcessID; // BandTreeData(); //} break; case "Del": contextMenuStrip1.Visible = false; if (sSelectNodeName == "") { MessageBox.Show("请选择工序!","提示"); return; } if (MessageBox.Show("你确定要删除工序(" + sSelectNodeName + ")?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) return; object[] sArgs = new object[1]; sArgs[0] = sSelectNodeName; if (doExecute("DelProcess", sArgs) > 0) { BandTreeData(); } else MessageBox.Show("操作失败!原因:" + err, "提示"); break; } } private void contextMenuStrip2_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { switch (e.ClickedItem.Name) { case "AddItem": //frmItemEdit itemAdd = new frmItemEdit(); //itemAdd.sOperator = "增加"; //if (itemAdd.ShowDialog() == DialogResult.Yes) //{ // getSetItems(sSelectNodeName, itemAdd.sItemID); //} break; case "UpdateItem": if (ulGridMain.ActiveRow == null) { MessageBox.Show("请选择需要修改的工艺参数!", "提示"); return; } //frmItemEdit itemUpdate = new frmItemEdit(); //itemUpdate.sOperator = "修改"; //itemUpdate.sItemID = ulGridMain.ActiveRow.Cells["CRAFTITEMCODE"].Value.ToString(); //if (itemUpdate.ShowDialog() == DialogResult.Yes)//操作成功 //{ // getSetItems(sSelectNodeName, itemUpdate.sItemID); //} break; case "DelItem": contextMenuStrip2.Visible = false; if (ulGridMain.ActiveRow == null) { MessageBox.Show("请选择工艺参数!", "提示"); return; } if (MessageBox.Show("你确定要删除工艺参数(" + ulGridMain.ActiveRow.Cells["CRAFTITEMNAME"].Value.ToString() + ")?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) return; object[] sArgs = new object[1]; sArgs[0] = ulGridMain.ActiveRow.Cells["CRAFTITEMCODE"].Value.ToString(); if (doExecute("DelItems", sArgs) > 0) { ulGridMain.ActiveRow.Delete(false); } else MessageBox.Show("操作失败!原因:" + err, "提示"); break; } } } }