using Core.Mes.Client.Comm.Control; using Core.StlMes.Client.Judge.Commons; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Windows.Forms; namespace Core.StlMes.Client.Judge.Forms { public partial class RolledTubePhyFailQueryFrm : FrmBase { private Dal _d; public RolledTubePhyFailQueryFrm() { InitializeComponent(); } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query": Query(); break; case "Export": Export(); break; case "Close": this.Close(); break; } } private void Export() { GridHelper.ulGridToExcel(ultraGrid1, "理化不合信息"); } private void RolledTubePhyFailQueryFrm_Load(object sender, EventArgs e) { _d = new Dal(ob); for (int i = DateTime.Now.Year - 10; i <= DateTime.Now.Year + 10; i++) { ultraComboEditor1.Items.Add(i); ultraComboEditor3.Items.Add(i); } ultraComboEditor1.Value = DateTime.Now.Year; ultraComboEditor2.Value = DateTime.Now.Month.ToString().PadLeft(2, '0'); ultraComboEditor3.Value = DateTime.Now.Year; ultraComboEditor4.Value = DateTime.Now.Month.ToString().PadLeft(2, '0'); JudgeBaseInfo.LoadPlineName(labelComboBox1.ComboBox, ob, false, CustomInfo); labelComboBox1.ComboBox.DropDownListWidth = -1; foreach (var item in labelComboBox1.ComboBox.Items) { item.CheckState = CheckState.Checked; } labelComboBox1.Checked = true; } private void Query() { string[] plines; if (!labelComboBox1.Checked) { plines = new string[labelComboBox1.ComboBox.Items.Count]; for (int i = 0; i < labelComboBox1.ComboBox.Items.Count; i++) { plines[i] = labelComboBox1.ComboBox.Items[i].DataValue.ToString2(); } if (plines.Length == 0) { plines = new string[] { "1" }; } } else if (labelComboBox1.ComboBox.Value == null) { plines = new string[] { "1" }; } else { plines = ((List)labelComboBox1.ComboBox.Value).Select(a => a.ToString()).ToArray(); } string yearMonth = ultraComboEditor1.Value.ToString2() + ultraComboEditor2.Value.ToString2(); string yearMonth2 = ultraComboEditor3.Value.ToString2() + ultraComboEditor4.Value.ToString2(); DataTable dt1 = _d.GetTableByXmlId("QcmZgJugdeApplyDAL.PhyFailQuery1", plines.Length, plines, yearMonth, yearMonth2); DataTable dt2 = _d.GetTableByXmlId("QcmZgJugdeApplyDAL.PhyFailQuery2", plines.Length, plines, yearMonth, yearMonth2); DataTable dt3 = _d.GetTableByXmlId("QcmZgJugdeApplyDAL.PhyFailQuery3", plines.Length, plines, yearMonth, yearMonth2); DataTable dt4 = _d.GetTableByXmlId("QcmZgJugdeApplyDAL.PhyFailQuery4", plines.Length, plines, yearMonth, yearMonth2); DataTable dt5 = _d.GetTableByXmlId("QcmZgJugdeApplyDAL.PhyFailQuery5", plines.Length, plines, yearMonth, yearMonth2); DataTable dt = dt1.Clone(); foreach (DataColumn dc in dt2.Columns) { if (dt.Columns.Contains(dc.ColumnName)) continue; dt.Columns.Add(new DataColumn() { ColumnName = dc.ColumnName }); } foreach (DataColumn dc in dt3.Columns) { if (dt.Columns.Contains(dc.ColumnName)) continue; dt.Columns.Add(new DataColumn() { ColumnName = dc.ColumnName }); } foreach (DataColumn dc in dt4.Columns) { if (dt.Columns.Contains(dc.ColumnName)) continue; dt.Columns.Add(new DataColumn() { ColumnName = dc.ColumnName }); } foreach (DataColumn dc in dt5.Columns) { if (dt.Columns.Contains(dc.ColumnName)) continue; dt.Columns.Add(new DataColumn() { ColumnName = dc.ColumnName }); } foreach (DataRow dr1 in dt1.Rows) { DataRow drNew = dt.NewRow(); DataRow[] aryDr2 = dt2.Select("判定炉号='" + dr1["判定炉号"].ToString() + "' AND 性能批号='" + dr1["性能批号"].ToString() + "'"); DataRow dr2 = aryDr2.Length > 0 ? aryDr2[0] : null; DataRow[] aryDr3 = dt3.Select("判定炉号='" + dr1["判定炉号"].ToString() + "' AND 性能批号='" + dr1["性能批号"].ToString() + "'"); DataRow dr3 = aryDr3.Length > 0 ? aryDr3[0] : null; DataRow[] aryDr4 = dt4.Select("判定炉号='" + dr1["判定炉号"].ToString() + "' AND 性能批号='" + dr1["性能批号"].ToString() + "'"); DataRow dr4 = aryDr4.Length > 0 ? aryDr4[0] : null; DataRow[] aryDr5 = dt5.Select("判定炉号='" + dr1["判定炉号"].ToString() + "' AND 性能批号='" + dr1["性能批号"].ToString() + "'"); DataRow dr5 = aryDr5.Length > 0 ? aryDr5[0] : null; if (dr2 == null && dr3 == null && dr4 == null && dr5 == null) continue; foreach (DataColumn dc in dt.Columns) { if (dt1.Columns.Contains(dc.ColumnName)) { drNew[dc.ColumnName] = dr1[dc.ColumnName].ToString(); } else if (dt2.Columns.Contains(dc.ColumnName)) { if (dr2 == null) continue; drNew[dc.ColumnName] = dr2[dc.ColumnName].ToString(); } else if (dt3.Columns.Contains(dc.ColumnName)) { if (dr3 == null) continue; drNew[dc.ColumnName] = dr3[dc.ColumnName].ToString(); } else if (dt4.Columns.Contains(dc.ColumnName)) { if (dr4 == null) continue; drNew[dc.ColumnName] = dr4[dc.ColumnName].ToString(); } else if (dt5.Columns.Contains(dc.ColumnName)) { if (dr5 == null) continue; drNew[dc.ColumnName] = dr5[dc.ColumnName].ToString(); } } dt.Rows.Add(drNew); } ultraGrid1.DataSource = dt; foreach (UltraGridColumn cl in ultraGrid1.DisplayLayout.Bands[0].Columns) { bool existsData = false; foreach (UltraGridRow row in ultraGrid1.Rows) { if (row.Cells[cl.Key].Value.ToString() != "") { existsData = true; } } if (!existsData) { cl.Hidden = true; } else { cl.Hidden = false; } } ultraGrid1.DisplayLayout.Bands[0].Override.SummaryDisplayArea = SummaryDisplayAreas.BottomFixed; ultraGrid1.DisplayLayout.Bands[0].Override.AllowDelete = Infragistics.Win.DefaultableBoolean.False; ultraGrid1.DisplayLayout.Bands[0].Override.AllowUpdate = Infragistics.Win.DefaultableBoolean.False; if (ultraGrid1.DisplayLayout.Bands[0].Summaries.Count == 0) { SummarySettings set = ultraGrid1.DisplayLayout.Bands[0].Summaries.Add(SummaryType.Sum, ultraGrid1.DisplayLayout.Bands[0].Columns["判定吨"]); set.SummaryType = SummaryType.Sum; set.SummaryPositionColumn = ultraGrid1.DisplayLayout.Bands[0].Columns["判定吨"]; set.DisplayFormat = "总吨数:{0}"; SummarySettings set2 = ultraGrid1.DisplayLayout.Bands[0].Summaries.Add(SummaryType.Sum, ultraGrid1.DisplayLayout.Bands[0].Columns["判定支"]); set2.SummaryType = SummaryType.Sum; set2.SummaryPositionColumn = ultraGrid1.DisplayLayout.Bands[0].Columns["判定支"]; set2.DisplayFormat = "总支数:{0}"; } GridHelper.RefreshAndAutoSize(ultraGrid1); } } }