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 Infragistics.Win; using System.Collections; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; namespace Core.LZMes.Client.QCM { public partial class QCM030306 : FrmBase { public QCM030306() { InitializeComponent(); } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": this.DoQuery(); break; case "Export": this.DoExport(); break; } } private void DoQuery() { if (this.ultraTabControl1.Tabs[0].Selected) //待判信息 { DoQueryMe(); } if (this.ultraTabControl1.Tabs[1].Selected) //判定记录 { DoQueryRe(); } } //查询待判信息 private void DoQueryMe() { try { this.dataSet2.Clear(); string starttime = ""; string endtime = ""; if (checkBox2.Checked) { starttime = this.dateTimePicker1.Value.ToString("yyyyMMdd"); endtime = this.dateTimePicker2.Value.AddDays(1).ToString("yyyyMMdd"); } string material_no = textBox1.Text.ToString(); if (!checkBox2.Checked && !checkBox3.Checked) { MessageBox.Show("时间与产品序号必须选择其中一个条件!"); return; } string orderno = this.textBox3.Text.Trim();// 订单号 string prodline = this.comboBox3.Text.ToString(); string processes = this.comboBox2.Text.ToString(); string isjudge = comboBox4.Text.ToString(); if (processes == "") { MessageBox.Show("请选择工序!"); return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl"; ccp.MethodName = "doQueryMaterialDetailsY"; ccp.ServerParams = new object[] { starttime, endtime, material_no, orderno, "M", prodline, isjudge, processes }; ccp.SourceDataTable = this.dataSet2.Tables[0]; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); MessageBox.Show("系统出错,请联系管理人员", "警告"); } } //查询判定记录 private void DoQueryRe() { try { this.dataSet5.Clear(); string starttime = ""; string endtime = ""; if (checkBox2.Checked) { starttime = this.dateTimePicker1.Value.ToString("yyyyMMdd"); endtime = this.dateTimePicker2.Value.ToString("yyyyMMdd"); } string material_no = textBox1.Text.ToString(); if (!checkBox2.Checked && !checkBox3.Checked) { MessageBox.Show("时间与产品序号必须选择其中一个条件!"); return; } string orderno = this.textBox3.Text.Trim();// 订单号 string prodline = this.comboBox3.Text.ToString(); string processes = this.comboBox2.Text.ToString(); if (processes == "") { MessageBox.Show("请选择工序!"); return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl"; ccp.MethodName = "GetMeasureInfoY"; ccp.ServerParams = new object[] { starttime, endtime, material_no, orderno, prodline,processes }; ccp.SourceDataTable = this.dataSet5.Tables[0]; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); MessageBox.Show("系统出错,请联系管理人员", "警告"); } } private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { try { UltraGridRow ugr = this.ultraGrid2.ActiveRow; if (ugr == null) return; this.dataSet3.Clear(); string design_key = ugr.Cells["DESIGN_KEY"].Value.ToString(); string material_no = ugr.Cells["MATERIAL_NO"].Value.ToString(); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl"; ccp.MethodName = "getToleranceNewY"; ccp.ServerParams = new object[] { design_key, material_no }; ccp.SourceDataTable = this.dataSet3.Tables[0]; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); this.dataSet4.Clear(); string sic_id = ugr.Cells["SIZEID"].Value.ToString(); if (sic_id != "") { ccp = new CoreClientParam(); ccp.ServerName = "QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl"; ccp.MethodName = "getQcmJudgeMeasure"; ccp.ServerParams = new object[] { sic_id }; ccp.SourceDataTable = this.dataSet7.Tables[0]; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); } if (design_key != "") { ccp = new CoreClientParam(); ccp.ServerName = "QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl"; ccp.MethodName = "GetMemo"; ccp.ServerParams = new object[] { design_key }; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); if (ccp.SourceDataTable.Rows.Count == 0) { this.textBox6.Text = ""; } else { this.textBox6.Text = ccp.SourceDataTable.Rows[0]["MEMO"].ToString(); } } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); MessageBox.Show("系统出错,请联系管理人员", "警告"); } } private void QCM0303_Load(object sender, EventArgs e) { this.comboBox3.SelectedIndex = 0; this.comboBox4.SelectedIndex = 0; this.ultraGrid2.DisplayLayout.Override.FilterUIType = FilterUIType.HeaderIcons; this.ultraGrid4.DisplayLayout.Override.FilterUIType = FilterUIType.HeaderIcons; this.dateTimePicker1.Value = System.DateTime.Now.AddDays(-7); this.ultraGrid3.DisplayLayout.Bands[0].Columns["val"].CellAppearance.BackColor = Color.Yellow; string userid = this.UserInfo.GetUserID(); if (userid.Equals("X15797") || userid.Equals("X15798") || userid.Equals("X15801") || userid.Equals("X15804") || userid.Equals("X15805") || userid.Equals("X15815") || userid.Equals("X15806") || userid.Equals("X15795")) { for (int i=0; comboBox2.Items.Count > 0;) { comboBox2.Items.RemoveAt(0); } comboBox2.Items.Add("酸洗机组"); } else if (userid.Equals("X15724") || userid.Equals("X15833") || userid.Equals("X15816") || userid.Equals("X15734") || userid.Equals("X15827") || userid.Equals("X15830")) { for (int i = 0; comboBox2.Items.Count > 0; ) { comboBox2.Items.RemoveAt(0); } comboBox2.Items.Add("轧机机组"); } else if (userid.Equals("X15824") || userid.Equals("X15818") || userid.Equals("X15825") || userid.Equals("X15826") || userid.Equals("X15817")) { for (int i = 0; comboBox2.Items.Count > 0; ) { comboBox2.Items.RemoveAt(0); } comboBox2.Items.Add("退火炉宝信"); comboBox2.Items.Add("退火炉南方D"); comboBox2.Items.Add("退火炉艾伯纳"); comboBox2.Items.Add("退火炉南方G"); } else if (userid.Equals("X15763") || userid.Equals("X15764") || userid.Equals("X15760") || userid.Equals("X15736")) { for (int i = 0; comboBox2.Items.Count > 0; ) { comboBox2.Items.RemoveAt(0); } comboBox2.Items.Add("平整机组"); } else if (userid.Equals("X15720") || userid.Equals("X15719") || userid.Equals("X15726") || userid.Equals("X15743")) { for (int i = 0; comboBox2.Items.Count > 0; ) { comboBox2.Items.RemoveAt(0); } comboBox2.Items.Add("4mm分条机组"); comboBox2.Items.Add("12mm分条机组"); comboBox2.Items.Add("3mm横剪机组"); } //DoQuery(); } private void ultraGrid4_AfterRowActivate(object sender, EventArgs e) { try { UltraGridRow ugr = this.ultraGrid4.ActiveRow; if (ugr == null) return; this.dataSet6.Clear(); string sic = ugr.Cells["SIC_ID"].Value.ToString(); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl"; ccp.MethodName = "getToleranceInfoNewY"; ccp.ServerParams = new object[] { sic }; ccp.SourceDataTable = this.dataSet6.Tables[0]; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); this.dataSet7.Clear(); ccp = new CoreClientParam(); ccp.ServerName = "QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl"; ccp.MethodName = "getQcmJudgeMeasure"; ccp.ServerParams = new object[] { sic }; ccp.SourceDataTable = this.dataSet7.Tables[0]; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); MessageBox.Show("系统出错,请联系管理人员", "警告"); } } private void button1_Click(object sender, EventArgs e) { try { int count = 0; foreach (UltraGridRow ugr in this.ultraGrid2.Rows) { if (ugr.Cells["CHECK"].Text.ToString() == "True") { count++; } } List lists = new List(); foreach (UltraGridRow ugr in this.ultraGrid2.Rows) { if (ugr.Cells["CHECK"].Text.ToString() == "True") { if (count == 1) { ArrayList list1 = new ArrayList(); List list2 = new List(); list1.Add(ugr.Cells["DESIGN_KEY"].Value.ToString()); list1.Add(ugr.Cells["MATERIAL_NO"].Value.ToString()); if (comboBox1.Text.ToString() == "合格") { list1.Add("1"); list1.Add("合格"); } else if (comboBox1.Text.ToString() == "不合格") { list1.Add("2"); list1.Add("不合格"); } else { list1.Add(""); list1.Add(""); } list1.Add(textBox5.Text.Trim().ToString()); list1.Add(this.UserInfo.GetUserName()); list1.Add(this.UserInfo.GetUserOrderText()); list1.Add(this.UserInfo.GetUserGroupText()); list1.Add(this.comboBox5.Text.ToString()); foreach (UltraGridRow ugrs in this.ultraGrid3.Rows) { ArrayList list = new ArrayList(); list.Add(ugrs.Cells["bias_code"].Text.ToString()); if (ugrs.Cells["val"].Text.ToString() == "") { MessageBox.Show("请录入公差实绩!"); return; } list.Add(ugrs.Cells["val"].Text.ToString()); list.Add(ugrs.Cells["bias_name"].Text.ToString()); list.Add(ugrs.Cells["plan"].Text.ToString()); list.Add(ugrs.Cells["stdmemo"].Text.ToString()); list2.Add(list); } if (list2.Count == 0) { MessageBox.Show("请录入公差实绩!"); return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl"; ccp.MethodName = "judgeByHumanY"; ccp.ServerParams = new object[] { list1, list2 }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } lists.Add(ugr); } else { ArrayList list1 = new ArrayList(); List list2 = new List(); List list3 = new List(); list1.Add(ugr.Cells["DESIGN_KEY"].Value.ToString()); list1.Add(ugr.Cells["MATERIAL_NO"].Value.ToString()); if (comboBox1.Text.ToString() == "合格") { list1.Add("1"); list1.Add("合格"); } else if (comboBox1.Text.ToString() == "不合格") { list1.Add("2"); list1.Add("不合格"); } else { list1.Add(""); list1.Add(""); } list1.Add(textBox5.Text.Trim().ToString()); list1.Add(this.UserInfo.GetUserName()); list1.Add(this.UserInfo.GetUserOrderText()); list1.Add(this.UserInfo.GetUserGroupText()); list1.Add(this.comboBox5.Text.ToString()); foreach (UltraGridRow ugrs in this.ultraGrid3.Rows) { ArrayList list = new ArrayList(); list.Add(ugrs.Cells["bias_code"].Text.ToString()); if (ugrs.Cells["val"].Text.ToString() == "") { MessageBox.Show("请录入公差实绩!"); return; } list.Add(ugrs.Cells["val"].Text.ToString()); list.Add(ugrs.Cells["bias_name"].Text.ToString()); list.Add(ugrs.Cells["plan"].Text.ToString()); list.Add(ugrs.Cells["stdmemo"].Text.ToString()); list2.Add(list); } if (list2.Count == 0) { MessageBox.Show("请录入公差实绩!"); return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl"; ccp.MethodName = "judgeByHumanY"; ccp.ServerParams = new object[] { list1,list2}; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) { return; } lists.Add(ugr); } } } for (int i = 0; i < lists.Count; i++) { lists[i].Delete(false); } MessageBox.Show("检验登记成功!"); } catch (Exception EX) { MessageBox.Show(EX.ToString()); } // DoQuery(); } private void checkBox1_CheckedChanged(object sender, EventArgs e) { foreach (UltraGridRow ugr in this.ultraGrid2.Rows.Where(p => p.IsFilteredOut == false).ToList()) { if (checkBox1.Checked) { ugr.Cells["CHECK"].Value = "True"; } else { ugr.Cells["CHECK"].Value = "False"; } } } private void ultraGrid3_KeyDown(object sender, KeyEventArgs e) { } private void ultraTabControl1_Click(object sender, EventArgs e) { if (this.ultraTabControl1.Tabs[1].Selected) //判定记录 { this.label11.Visible = false; this.comboBox4.Visible = false; this.label12.Text = "判定时间"; } if (this.ultraTabControl1.Tabs[0].Selected) //判定记录 { this.label11.Visible = true; this.comboBox4.Visible = true; this.label12.Text = "生产时间"; } } private void DoExport() { try { if (this.ultraGrid4.Rows.Count == 0) { MessageBox.Show("没有可以导出的数据", "提示"); return; } if (this.saveFileDialog1.ShowDialog(this) == DialogResult.OK) { string fName = this.saveFileDialog1.FileName; this.ultraGridExcelExporter1.Export(this.ultraGrid4, fName); Process.Start(fName); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); } } public static bool IsNumberal(string input) { bool flag = true; int count = 0; int count1 = 0; if (input.Length == 0) { flag = false; } else { char[] x = input.ToCharArray(); for (int i = 0; i < input.Length; i++) { if (!char.IsNumber(x[i]) && x[i] != '.' && x[i] != '-') { flag = false; break; } if (x[i] == '.') { count++; if (i == 0 || i == input.Length - 1) flag = false; } if (x[i] == '-') { count1++; if (i > 1) flag = false; } } if (count > 1 || count1 > 1) flag = false; } return flag; } private void ultraGrid3_CellChange(object sender, CellEventArgs e) { //UltraGrid grid = (UltraGrid)sender; ////Go down one row //grid.PerformAction(UltraGridAction.EnterEditMode); //grid.PerformAction(UltraGridAction.BelowCell); foreach (UltraGridRow ugrs in this.ultraGrid3.Rows) { ugrs.Cells["val"].Appearance.BackColor = Color.White; double val1 = 0; ArrayList list = new ArrayList(); ugrs.Appearance.BackColor = Color.White; if (ugrs.Cells["val"].Text.ToString() == "") { continue; } if (!IsNumberal(ugrs.Cells["val"].Text.ToString())) { continue; } else if (ugrs.Cells["plan"].Text.ToString() != "") { val1 = Convert.ToDouble(ugrs.Cells["val"].Text.ToString()) - Convert.ToDouble(ugrs.Cells["plan"].Text.ToString()); } else { val1 = Convert.ToDouble(ugrs.Cells["val"].Text.ToString()); } if (ugrs.Cells["std_min_val"].Text.ToString() != "" && ugrs.Cells["std_min_val"].Text.ToString() != "null" && Convert.ToDouble(ugrs.Cells["std_min_val"].Text.ToString()) - val1 > 0) { ugrs.Cells["val"].Appearance.BackColor = Color.Red; //this.comboBox1.SelectedIndex = 0; } if (ugrs.Cells["std_max_val"].Text.ToString() != "" && ugrs.Cells["std_max_val"].Text.ToString() != "null" && Convert.ToDouble(ugrs.Cells["std_max_val"].Text.ToString()) - val1 < 0) { ugrs.Cells["val"].Appearance.BackColor = Color.Red; //this.comboBox1.SelectedIndex = 0; } if (ugrs.Cells["std_min_val_k"].Text.ToString() != "" && ugrs.Cells["std_min_val_k"].Text.ToString() != "null" && Convert.ToDouble(ugrs.Cells["std_min_val_k"].Text.ToString()) - val1 > 0) { ugrs.Cells["val"].Appearance.BackColor = Color.Red; //this.comboBox1.SelectedIndex = 0; } if (ugrs.Cells["std_max_val_k"].Text.ToString() != "" && ugrs.Cells["std_max_val_k"].Text.ToString() != "null" && Convert.ToDouble(ugrs.Cells["std_max_val_k"].Text.ToString()) - val1 < 0) { ugrs.Cells["val"].Appearance.BackColor = Color.Red; //this.comboBox1.SelectedIndex = 0; } if (ugrs.Cells["std_min_val_n"].Text.ToString() != "" && ugrs.Cells["std_min_val_n"].Text.ToString() != "null" && Convert.ToDouble(ugrs.Cells["std_min_val_n"].Text.ToString()) - val1 > 0) { ugrs.Cells["val"].Appearance.BackColor = Color.Red; //this.comboBox1.SelectedIndex = 0; } if (ugrs.Cells["std_max_val_n"].Text.ToString() != "" && ugrs.Cells["std_max_val_n"].Text.ToString() != "null" && Convert.ToDouble(ugrs.Cells["std_max_val_n"].Text.ToString()) - val1 < 0) { ugrs.Cells["val"].Appearance.BackColor = Color.Red; //this.comboBox1.SelectedIndex = 0; } } } } }