| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.IO;
- using System.Diagnostics;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- using CoreFS.CA06;
- using System.Collections;
- using Core.Mes.Client.Common;
- namespace Core.LgMes.Client.LgIntegrationQuery
- {
- public partial class frmBaseInfo : Core.Mes.Client.Common.frmStyleBase
- {
- public frmBaseInfo()
- {
- InitializeComponent();
- }
- string sCurrNode = "";
- bool blCheckChange = false;
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query":
- BandTreeData();
- break;
- case "Update":
- doEdit();
- break;
- case "Add":
- doAdd();
- break;
- case "Delete":
- doDel();
- break;
- case "Exit":
- Close();
- break;
- }
- }
- private void frmBaseInfo_Load(object sender, EventArgs e)
- {
- if (this.QueryStrings.Length > 1)
- {
- setCondition(QueryStrings[1]);
- }
- BandTreeData();
- blCheckChange = true;
- }
- void setCondition(string sKey)
- {
- foreach (Control ctl in ultraGroupBox1.Controls)
- {
- if (ctl is CheckBox)
- {
- ((CheckBox)ctl).Checked = false;
- ((CheckBox)ctl).Enabled = false;
- }
- }
- switch (sKey)
- {
- case "质量":
- chbxZL.Enabled = true;
- chbxZL.Checked = true;
- break;
- case "工器具":
- chbxDM.Enabled = true;
- chbxDM.Checked = true;
- break;
- case "计划":
- chbxJH.Enabled = true;
- chbxJH.Checked = true;
- break;
- case "炼钢":
- chbxLG.Enabled = true;
- chbxLG.Checked = true;
- break;
- case "轧钢":
- chbxZG.Enabled = true;
- chbxZG.Checked = true;
- break;
- case "库存":
- chbxKC.Checked = true;
- chbxKC.Enabled = true;
- break;
- default:
- foreach (Control ctl in ultraGroupBox1.Controls)
- {
- if (ctl is CheckBox)
- {
- ((CheckBox)ctl).Checked = true;
- ((CheckBox)ctl).Enabled = true;
- }
- }
- break;
- }
- }
- private void BandTreeData()
- {
- treeView1.Nodes.Clear();
- if (ulGridMain.Rows.Count > 0)
- ((DataSet)ulGridMain.DataSource).Tables[0].Rows.Clear();
- string[] sArgs = new string[8];
- int i = 0;
- #region 查询条件
- if (chbxLG.Checked)
- {
- sArgs[0] = " substr(basecode,1,1) ='1' "; //炼钢作业
- i++;
- }
- else
- sArgs[0] = "";
- if (chbxDM.Checked)
- {
- sArgs[1] = " substr(basecode,1,1) ='4' "; //工器具
- i++;
- }
- else
- sArgs[1] = "";
- if (chbxZG.Checked)
- {
- sArgs[2] = " substr(basecode,1,1) ='6' "; //轧钢作业
- i++;
- }
- else
- sArgs[2] = "";
- if (chbxZL.Checked)
- {
- sArgs[3] = " substr(basecode,1,1) ='2' "; //质量
- i++;
- }
- else
- sArgs[3] = "";
- if (chbxKC.Checked)
- {
- sArgs[4] = " substr(basecode,1,1) ='5' "; //库存
- i++;
- }
- else
- sArgs[4] = "";
- if (chbxQT.Checked)
- {
- sArgs[5] = " substr(basecode,1,1) ='8' or substr(basecode,1,1) ='9' "; //其它
- i++;
- }
- else
- sArgs[5] = "";
- if (chbxJH.Checked)
- {
- sArgs[6] = " substr(basecode,1,1) ='3' "; //炼钢作业
- i++;
- }
- else
- sArgs[6] = "";
- if (QueryStrings.Length > 1 && QueryStrings[1].Length > 0)
- {
- string[] strCode = QueryStrings[1].Split(',');
- for (int k = 0; k < strCode.Length; k++)
- {
- if (strCode[k].Trim().Length > 0)
- {
- if (k == 0)
- sArgs[7] += " ('" + strCode[k].ToString() + "' ";
- else
- sArgs[7] += " , '" + strCode[k].ToString() + "' ";
- }
- }
- sArgs[7] += ") ";
- }
- else
- {
- sArgs[7] = "";
- }
- #endregion
- //取基本数据表记录
- string strWhere = "";
- int jj = 0;
- for (int ii = 0; ii < sArgs.Length; ii++)
- {
- if (sArgs[ii].Trim().Length > 0)
- {
- if (jj == 0)
- strWhere += " and (";
- else
- strWhere += " or ";
- strWhere += sArgs[ii];
- jj++;
- }
- }
- if (jj > 0)
- {
- strWhere += " ) ";
- }
- if (i > 0)
- {
- DataSet ds = new DataSet();
- //定义一个ArrayList集合存储变量[参数]值
- ArrayList arry = new ArrayList();
- ArrayList sqlList = new ArrayList();
- arry.Add("frmBaseInfo.select");
- sqlList.Add(strWhere);
- //调用服务端方法
- CoreClientParam CCP_BSInfo = new CoreClientParam();
- DataTable dt = new DataTable();
- CCP_BSInfo.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
- CCP_BSInfo.MethodName = "doQuery";
- CCP_BSInfo.ServerParams = new object[] { arry, sqlList };
- CCP_BSInfo.SourceDataTable = dt;
- this.ExecuteQueryToDataTable(CCP_BSInfo, CoreInvokeType.Internal);
- ds.Tables.Add(dt);
- if (ds != null)
- {
- if (ds.Tables[0].Rows.Count > 0 )
- {
- for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
- {
- if (ds.Tables[0].Rows[j]["pid"].ToString().Length > 0)
- {
- if (ds.Tables[0].Rows[j]["pid"].ToString().Length == 1)
- treeView1.Nodes.Add(ds.Tables[0].Rows[j]["basecode"].ToString(), ds.Tables[0].Rows[j]["basecode"].ToString() + "-" + ds.Tables[0].Rows[j]["basename"].ToString());
- else
- {
- findParentNode(treeView1.Nodes[ds.Tables[0].Rows[j]["basecode"].ToString().Substring(0, 4)], ds.Tables[0].Rows[j]["pid"].ToString()).Nodes.Add(ds.Tables[0].Rows[j]["basecode"].ToString(), ds.Tables[0].Rows[j]["basecode"].ToString() + "-" + ds.Tables[0].Rows[j]["basename"].ToString());
-
- }
- }
- }
- }
- }
- if (ulGridMain.Rows.Count > 0)
- ((DataSet)ulGridMain.DataSource).Tables[0].Rows.Clear();
- }
- }
- TreeNode findParentNode(TreeNode preLvlNode,string parentKey)
- {
- if(preLvlNode.Name == parentKey) return preLvlNode;
- foreach (TreeNode node in preLvlNode.Nodes)
- {
- if (node.Name.Length <= parentKey.Length)
- {
- if (node.Nodes.Count > 0)
- {
- TreeNode tNode = findParentNode(node, parentKey);
- if (tNode != null)
- return tNode;
- }
- else
- if (node.Name == parentKey)
- return node;
- }
- else
- return null;
- }
- return null;
- }
- void doEdit()
- {
- string strError = "";
- Infragistics.Win.UltraWinGrid.UltraGridRow row = this.ulGridMain.ActiveRow;
- if (row != null && !row.IsFilteredOut)
- {
- string err = "";
- string[] sArgs = new string[10];
- sArgs[0] = row.Cells["BASECODE"].Text.Trim();
- sArgs[1] = this.txtName.Text.Trim();
- sArgs[2] = this.txtCE.Text.Trim();
- sArgs[3] = this.txtMemo.Text.Trim();
- sArgs[4] = this.UserInfo.GetUserName();
- sArgs[5] = (checkBox1.Checked ? "1" : "0");
- sArgs[6] = row.Cells["sortcode"].Text.Trim();
- sArgs[7] = (row.Cells["flag"].Text.Trim() == "是" ? "1" : "0");
- sArgs[8] = row.Cells["basename"].Text.Trim();
- sArgs[9] = txtSEQ.Text;
- if (sArgs[1] == "")
- {
- MessageBox.Show("名称未输入", "提示");
- this.txtName.Focus();
- return;
- }
-
- if (this.txtSCode.Text.Trim() == "1005" && sArgs[2] == "")
- {
- MessageBox.Show("复合元素必须输入计算公式", "提示");
- this.txtCE.Focus();
- return;
- }
- //存储过程实现基础信息的添加
- string strSqlID = "SaveBaseData.Update";
- 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("I9", sArgs[8]);
- hashtb.Add("I10", sArgs[9]);
- 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 strError);
- if (strError=="")
- {
- //if (sArgs[7] == "1")
- //{
- // if (sArgs[5] == "1")
- // {
- // findParentNode(treeView1.Nodes[sArgs[0].Substring(0, 4)], sArgs[6]).Nodes[sArgs[0]].Text = sArgs[0] + "-" + sArgs[1];
- // }
- // else
- // {
- // findParentNode(treeView1.Nodes[sArgs[0].Substring(0, 4)], sArgs[6]).Nodes[sArgs[0]].Remove();
- // }
- //}
- //else
- //{
- // if (sArgs[5] == "1")
- // {
- // findParentNode(treeView1.Nodes[sArgs[0].Substring(0, 4)], sArgs[6]).Nodes.Add(sArgs[0], sArgs[0] + "-" + sArgs[8]);
- // }
- //}
- BandTreeData();
- string[] sArg = new string[1];
- sArg[0] = sCurrNode;
- getNodeChileData(sArg);
- for (int i = 0; i < this.ulGridMain.Rows.Count; i++)
- {
- if (ulGridMain.Rows[i].Cells["BASENAME"].Text == sArgs[1])
- {
- ulGridMain.ActiveRow = ulGridMain.Rows[i];
- i = ulGridMain.Rows.Count;
- }
- }
- }
- else
- {
- MessageBox.Show(err,"提示");
- }
- }
- else
- {
- MessageBox.Show("请选择一行数据!", "提示");
- }
- }
- void doDel()
- {
- string strError = "";
- Infragistics.Win.UltraWinGrid.UltraGridRow row = this.ulGridMain.ActiveRow;
- if (row != null && !row.IsFilteredOut)
- {
- if (row.Cells["ISVISIBLE"].Text == "是")
- {
- MessageBox.Show("系统默认,不允许删除","提示");
- return;
- }
- if (MessageBox.Show("你确定要删除此行数据吗?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
- {
- string strSqlID = "SaveBaseData.Del";
- ;
- Hashtable hashtb = new Hashtable();
- hashtb.Add("I1", row.Cells["BASECODE"].Text); //编码
- hashtb.Add("I2", row.Cells["SORTCODE"].Text); //编码分类
- hashtb.Add("I3", row.Cells["FLAG"].Text); //是否允许添加子集
- hashtb.Add("I4", this.UserInfo.GetUserName()); //维护人
- 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 strError);
- if (strError=="")
- {
- string[] sArgs = new string[4];
- sArgs[0] = row.Cells["BASECODE"].Text;//编码
- sArgs[1] = row.Cells["SORTCODE"].Text;//编码分类
- sArgs[2] = row.Cells["FLAG"].Text;//是否允许添加子集
- sArgs[3] = this.UserInfo.GetUserName();//维护人
- ulGridMain.ActiveRow.Delete(false);
- ulGridMain.UpdateData();
- if (sArgs[2] == "是")
- findParentNode(treeView1.Nodes[sArgs[0].Substring(0, 4)], sArgs[1]).Nodes[sArgs[0]].Remove();
- activeRightRow();
- }
- else
- {
- MessageBox.Show(strError, "提示");
- }
- }
- }
- else
- {
- MessageBox.Show("请选择一行数据!", "提示");
- }
- }
- void doAdd()
- {
- string strError = "";
- string[] sArgs = new string[8];
- sArgs[0] = this.txtSCode.Text.Trim() + this.txtCodePart2.Text.Trim();
- sArgs[1] = this.txtName.Text.Trim();
- sArgs[2] = this.txtSCode.Text.Trim();
- sArgs[3] = this.txtMemo.Text.Trim();
- sArgs[4] = this.UserInfo.GetUserName();
- sArgs[5] = (checkBox1.Checked ? "1" : "0");
- sArgs[6] = txtCE.Text.Trim();
- sArgs[7] = txtSEQ.Text.Trim();
- if (sArgs[0] == "")
- {
- MessageBox.Show("编号未输入", "提示");
- this.txtCodePart1.Focus();
- return;
- }
- if (sArgs[0].Length <= sArgs[2].Length )//|| !IsNumeric(sArgs[0]))
- {
- MessageBox.Show("编号应为" + sArgs[2].Length + "位以上的数字", "提示");
- this.txtCodePart1.Focus();
- return;
- }
- if (sArgs[0].Substring(0, sArgs[2].Length) != sArgs[2])
- {
- MessageBox.Show("编号前" + sArgs[2].Length + "位数字应与对应的编码分类保持一致,应为:" + sArgs[2], "提示");
- this.txtCodePart1.Focus();
- return;
- }
- if (sArgs[1] == "")
- {
- MessageBox.Show("名称未输入", "提示");
- this.txtName.Focus();
- return;
- }
- if (this.txtSCode.Text.Trim() == "1005" && sArgs[6] == "")
- {
- MessageBox.Show("复合元素必须输入计算公式", "提示");
- this.txtCE.Focus();
- return;
- }
-
- //存储过程实现基础信息的添加
- string strSqlID = "SaveBaseData.Add";
- 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 strError);
- if (strError=="")
- {
- if (sArgs[5] == "1")
- findParentNode(treeView1.Nodes[sArgs[2].Substring(0, 4)], sArgs[2]).Nodes.Add(sArgs[0], sArgs[0] + "-" + sArgs[1]);
- string[] sArg = new string[1];
- sArg[0] = sCurrNode;
- getNodeChileData(sArg);
- for (int i = 0; i < ulGridMain.Rows.Count; i++)
- {
- if (ulGridMain.Rows[i].Cells["BASECODE"].Text == sArgs[0])
- {
- if (!ulGridMain.Rows[i].Activated)
- {
- ulGridMain.Rows[i].Activated = true;
- ulGridMain.Rows[i].Selected = true;
- }
- break;
- }
- }
- }
- else
- {
- MessageBox.Show(strError, "提示");
- }
- }
- void checkChk()
- {
- activeRow();
- checkLeftActiveRow();
- }
- private void ultraLeftGrid_AfterRowActivate(object sender, EventArgs e)
- {
- checkLeftActiveRow();
- activeRightRow();
- }
- private void checkLeftActiveRow()
- {
- checkRightActiveRow();
- }
- private void checkRightActiveRow()
- {
- Infragistics.Win.UltraWinGrid.UltraGridRow row = ulGridMain.ActiveRow;
- if (row != null && !row.IsFilteredOut)
- {
- this.txtCodePart2.Text = row.Cells["BASECODE"].Text.Substring(row.Cells["SORTCODE"].Text.Trim().Length);
- this.txtMemo.Text = row.Cells["MEMO"].Text;
- this.txtCE.Text = row.Cells["MEMO1"].Text;
- this.txtName.Text = row.Cells["BASENAME"].Text;
- this.txtSCode.Text = row.Cells["SORTCODE"].Text;
- this.txtSEQ.Text = row.Cells["SEQ"].Text;
- if (row.Cells["flag"].Text == "否")
- checkBox1.Checked = false;
- else
- checkBox1.Checked = true;
- }
- else
- {
- this.txtMemo.Text = "";
- this.txtName.Text = "";
- checkBox1.Checked = false;
- if (row != null)
- row.Activated = false;
- }
- }
- private void activeRow()
- {
- activeRightRow();
- }
- private void activeRightRow()
- {
- foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in this.ulGridMain.Rows)
- {
- row.Selected = false;
- row.Activated = false;
- }
- if (ulGridMain.Rows.VisibleRowCount > 0)
- {
- ulGridMain.Rows.GetRowAtVisibleIndex(0).Activate();
- ulGridMain.Rows.GetRowAtVisibleIndex(0).Selected = true;
- }
- else
- {
- //this.txtCode = "";
- this.txtMemo.Text = "";
- this.txtName.Text = "";
- //this.txtSCode = "";
- if (ulGridMain.ActiveRow != null)
- ulGridMain.ActiveRow.Activated = false;
- checkRightActiveRow();
- }
- }
- private void ultraRightGrid_AfterRowActivate(object sender, EventArgs e)
- {
- checkRightActiveRow();
- }
- private bool IsNumeric(string str)
- {
- if (str == null || str.Length == 0)
- return false;
- System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();
- byte[] bytestr = ascii.GetBytes(str);
- foreach (byte c in bytestr)
- {
- if (c < 48 || c > 57)
- {
- return false;
- }
- }
- return true;
- }
- private void txtCode_KeyPress(object sender, KeyPressEventArgs e)
- {
- if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8)
- {
- e.Handled = true;
- }
- }
- TreeNode tNode = new TreeNode();//保存上次选择的Node
- private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
- {
- string[] sArgs = e.Node.Text.Split('-');
- sCurrNode = sArgs[0];//节点代码
- //设置当前选中的节点变为粗体,上次选中的节点恢复未选中的字体
- if (tNode.Text.Trim() != "")
- tNode.NodeFont = new Font("宋体", 9F, System.Drawing.FontStyle.Regular);
- e.Node.NodeFont = new Font("宋体", 9F, System.Drawing.FontStyle.Bold);
- //指定编辑区域,编号,前半部分
- this.txtCodePart1.Text = sArgs[0];
- getNodeChileData(sArgs);
- tNode = e.Node;//保存所选节点
- }
- private void getNodeChileData(string[] sArgs)
- {
- ArrayList arry = new ArrayList();
- string err = "";
- DataSet ds = new DataSet();
- arry.Add("frmBaseInfo_Children.select");//此ID为XML文件ID
- arry.Add(sArgs[0]);
- //调用服务端方法
- CoreClientParam CCP_Children = new CoreClientParam();
- DataTable dt = new DataTable();
- CCP_Children.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
- CCP_Children.MethodName = "doSimpleQuery";
- CCP_Children.ServerParams = new object[] { arry };
- CCP_Children.SourceDataTable = dt;
- this.ExecuteQueryToDataTable(CCP_Children, CoreInvokeType.Internal);
- ds.Tables.Add(dt);
- if (err == "")
- {
- if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
- {
- ulGridMain.DataSource = ds;
- ulGridMain.DataBind();
- }
- else
- {
- DataSet dsgrid = (DataSet)ulGridMain.DataSource;
- dsgrid.Tables[0].Rows.Clear();
- ulGridMain.DataSource = dsgrid;
- ulGridMain.DataBind();
- // ulGridMain
- }
-
-
- }
- if (ulGridMain.Rows.Count == 0)
- {
- txtCodePart2.Text = "";
- txtName.Text = "";
- txtSCode.Text = sCurrNode;
- txtMemo.Text = "";
- checkBox1.Checked = false;
- }
- }
- private void txtSEQ_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (!(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b'))
- {
- e.Handled = true;
- }
- }
- private void chbx_CheckedChanged(object sender, EventArgs e)
- {
- if (blCheckChange)
- BandTreeData();
- }
- }
- }
|