using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Core.StlMes.Client.YdmStuffReport { public partial class FrmLgProcess : FrmBase { public FrmLgProcess() { InitializeComponent(); } private void FrmLgProcess_Load(object sender, EventArgs e) { DateTime now = DateTime.Now; DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天 DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天 this.RegStartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00"); this.RegEndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59"); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": if (!CheckQuery()) return; doQueryDataStoveNo(); break; case"exportExcel": doExcel(); break; case "Close": close(); break; } } /// /// 导出 /// private void doExcel() { GridHelper.ulGridToExcel(this.ultraGrid2, "管坯进程汇总"); } /// /// 查询 /// private void doQueryDataStoveNo() { string strRegStart = ""; string strRegEnd = ""; string stoveNo = ""; var plineCode = chkPline.Checked ? txtPlineCode.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : new string[] { "C001", "C003", "C006" }; if (chkRegTime.Checked) { strRegStart = RegStartTime.Value.ToString(); strRegEnd = RegEndTime.Value.ToString(); } if (this.chkFurnace.Checked && this.txtFurnace.Text != "") { stoveNo = this.txtFurnace.Text.Trim(); } DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmLgProcess.doQueryDataStoveNo", new Object[] { strRegStart, strRegEnd, stoveNo, plineCode }, this.ob); GridHelper.CopyDataToDatatable(dt, this.dataTable2, true); GridHelper.RefreshAndAutoSize(this.ultraGrid2); } private void close() { this.Close(); } /// /// 查询 /// private void doQueryData(string funcNo,string stoveNo) { string strRegStart = ""; string strRegEnd = ""; string heatNo = ""; string czFlag = ""; //if (this.chkCz.Checked) //{ // czFlag = "1"; //} //var staus = chkState.Checked ? uceCutStatus.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : new string[] { "10", "20", "30", "40" }; var plineCode = chkPline.Checked ? txtPlineCode.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : new string[] { "C001","C003","C006"}; ArrayList parm = new ArrayList(); if (chkRegTime.Checked) { strRegStart = RegStartTime.Value.ToString(); strRegEnd = RegEndTime.Value.ToString(); } if (chkFurnace.Checked) { heatNo = this.txtFurnace.Text.Trim(); } parm.Add(heatNo); parm.Add(czFlag); DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmLgProcess.doQueryData", new Object[] { funcNo,stoveNo }, this.ob); //DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmLgProcess.doQueryData", new Object[] { strRegStart, strRegEnd, parm, staus,plineCode }, this.ob); GridHelper.CopyDataToDatatable(dt, this.dataTable1, true); GridHelper.RefreshAndAutoSize(this.ultraGrid1); this.ultraGrid1.DisplayLayout.Bands[0].Columns["STOVE_NO"].MergedCellStyle = Infragistics.Win.UltraWinGrid.MergedCellStyle.Always; ultraGrid1.DisplayLayout.Bands[0].Columns["MOULDBALEWGT"].MergedCellEvaluator = new CustomMergedCellEvaluator("STOVE_NO"); this.ultraGrid1.DisplayLayout.Bands[0].Columns["MOULDBALEWGT"].MergedCellStyle = Infragistics.Win.UltraWinGrid.MergedCellStyle.Always; } /// /// 合并单元格 /// /// /// private void MergedCell(UltraGrid ug, string[] columnKeys) { if (columnKeys.Length == 0) { return; } ug.DisplayLayout.Override.MergedCellStyle = MergedCellStyle.Never; for (int i = 0; i < columnKeys.Length; i++) { ug.DisplayLayout.Bands[0].Columns[columnKeys[i]].MergedCellStyle = MergedCellStyle.Always; } } private bool CheckQuery() { if (DataTimeUtil.JudgeTime(DateTime.Parse(RegStartTime.Value.ToString()), DateTime.Parse(RegEndTime.Value.ToString())) == 0) { MessageUtil.ShowTips("开始时间不能大于结束时间!"); return false; } if (chkFurnace.Checked && string.IsNullOrEmpty(txtFurnace.Text.Trim())) { MessageBox.Show("请输入炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } return true; } private void chkFurnace_CheckedChanged(object sender, EventArgs e) { txtFurnace.Enabled = this.chkFurnace.Checked; } private void chkRegTime_CheckedChanged(object sender, EventArgs e) { this.RegStartTime.Enabled = this.RegEndTime.Enabled = this.chkRegTime.Checked; } private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e) { if (!e.Row.Cells["MAT_COUNT"].Text.Equals("0")) { e.Row.RowSelectorAppearance.BackColor = Color.Red; } } private void txtFurnace_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 13) { //doQueryData(); } } private void chkPline_CheckedChanged(object sender, EventArgs e) { this.txtPlineCode.Enabled = this.chkPline.Checked; } private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { UltraGridRow uRow = this.ultraGrid2.ActiveRow; if (uRow == null) return; doQueryData(uRow.Cells["FURNACENO"].Text.Trim(), uRow.Cells["STOVE_NO"].Text.Trim()); } private void chkNoOk_CheckedChanged(object sender, EventArgs e) { ultraGrid2.DataSource = dataTable2.DefaultView; if (chkNoOk.Checked) { dataTable2.DefaultView.RowFilter = "PH IS NULL"; } else { dataTable2.DefaultView.RowFilter = ""; } ultraGrid2.Refresh(); ultraGrid2.Update(); } } public class CustomMergedCellEvaluator : Infragistics.Win.UltraWinGrid.IMergedCellEvaluator { private string groupKey = ""; public CustomMergedCellEvaluator(string GroupbyKey) { groupKey = GroupbyKey; } public bool ShouldCellsBeMerged(UltraGridRow row1, UltraGridRow row2, UltraGridColumn column) { // Test to make sure the Type is not DBNull since we allow the ShippedDate to be null if (row1.GetCellValue(groupKey).ToString() == row2.GetCellValue(groupKey).ToString() && row1.GetCellValue(column).ToString() == row2.GetCellValue(column).ToString()) { return true; } else return false; } } }