using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.LgResMgt.Mcms.entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.LgResMgt.Mcms { public partial class FrmLocalTruckScaleQueryDetails : FrmBase { public FrmLocalTruckScaleQueryDetails() { InitializeComponent(); } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "DoQuery": Query(); break; case "Export": GridHelper.ulGridToExcel(ugData, "磅单记录",true); break; case "DoClose": Close(); break; } } protected override void OnLoad(EventArgs e) { base.OnLoad(e); //EntityHelper.ShowGridCaption(ugData.DisplayLayout.Bands[0]); List list = EntityHelper.GetData( "com.steering.Mcms.PoundBaseServer.getPoudInfo", new object[] { new string[] { } }, ob); EntityHelper.ShowGridCaption(ugData.DisplayLayout.Bands[0]); GridHelper.SetAllColumnsActive(ugData); cmbPoundNo.DataSource = list; cmbPoundNo.DisplayMember = "PoundNo"; matInfo1.ini(ob); matInfo2.ini(ob); cmmWeightResultEntityBindingSource1.DataSource = new List() { new CmmWeightResultEntity() }; cmmWeightResultEntityBindingSource2.DataSource = new List() { new CmmWeightResultEntity() }; RegStartTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 07:00:00")); RegEndTime.Value = DateTime.Parse(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd 07:00:00")); dtpUpdateTime1.Value = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 00:00:00")); dtpUpdateTime2.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59")); ugData.DisplayLayout.Bands[0].Columns["ResultNo"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["MatName"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["MatName"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["RecoderLocation2"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["RecoderLocation2"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["MatNum"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["MatNum"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["TareWt"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["TareWt"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["GrossWt"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["GrossWt"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["NetWt"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["NetWt"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["CarNo"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["CarNo"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["MatType"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["MatType"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["RecordDate2"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["RecordDate2"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["RecordDate1"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["RecordDate1"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["Recoder2"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["Recoder2"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["Memo"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["Memo"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["ReceiveName"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["ReceiveName"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["OrderName"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["OrderName"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["ShippersName"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["ShippersName"].MergedCellStyle = MergedCellStyle.Always; ugData.DisplayLayout.Bands[0].Columns["TransportName"].MergedCellEvaluator = new CustomMergedCellEvaluator(new[] { "ResultNo" }); ugData.DisplayLayout.Bands[0].Columns["TransportName"].MergedCellStyle = MergedCellStyle.Always; ugResulteBefore.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; ugResulteBefore.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default; ugResulteBefore.DisplayLayout.Override.HeaderAppearance.FontData.SizeInPoints = 11; ugResulteAfter.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; ugResulteAfter.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default; ugResulteAfter.DisplayLayout.Override.HeaderAppearance.FontData.SizeInPoints = 11; Query1(); Query2(); } public class CustomMergedCellEvaluator : IMergedCellEvaluator { private readonly string[] keys; public CustomMergedCellEvaluator(string[] GroupKey) { keys = GroupKey; } public bool ShouldCellsBeMerged(UltraGridRow row1, UltraGridRow row2, UltraGridColumn column) //控件自带的方法,会自动进行调用,column为初始化中设置的行 { foreach (var key in keys) if (row2.Cells[column].Value == null) { return false; } else { if (row1.Cells[key].Value.ToString() != row2.Cells[key].Value.ToString() || !row1.Cells[column].Value.ToString().Equals(row2.Cells[column].Value.ToString())) return false; } return row1.Cells[column].Value.ToString() == row2.Cells[column].Value.ToString() || row1.Cells[column].Value.ToString().Equals(row2.Cells[column].Value.ToString()); } } /// /// 合并单元格 /// /// /// 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 void Query() { if(tabMain.ActiveTab==null) return; if (tabMain.ActiveTab.Key == "1") { Query1(); } else if (tabMain.ActiveTab.Key == "2") { Query2(); } } private void Query2() { var Message = ""; var wf = new WaitingForm2("正在查询,请稍候...."); try { Cursor = Cursors.WaitCursor; var dic = new Dictionary(); if (chkUpdateTime.Checked) { dic.Add("time", dtpUpdateTime1.Value.ToString("yyyy-MM-dd HH:mm:ss")); dic.Add("time1", dtpUpdateTime2.Value.ToString("yyy-MM-dd HH:mm:ss")); } if (chkResultNo.Checked) dic.Add("resultNo", txtResultNo.Text); matInfo1.SetDefault(null); matInfo2.SetDefault(null); cmmWeightResultEntityBindingSource1.DataSource = new List() { new CmmWeightResultEntity() }; cmmWeightResultEntityBindingSource2.DataSource = new List() { new CmmWeightResultEntity() }; cmmWeightResultUpdateEntityBindingSource.DataSource = EntityHelper.GetData( "com.steering.Mcms.ResultLogServer.doQuery", new object[] { dic }, ob); GridHelper.RefreshAndAutoSizeExceptColumns(ugLog, ""); } catch (Exception ex) { if (ex.Message.ToString2() != "") Message = ex.Message; } finally { wf.Close(); Cursor = Cursors.Default; } if (!string.IsNullOrWhiteSpace(Message)) MessageBox.Show(Message); } private void Query1() { var Message = ""; var wf = new WaitingForm2("正在查询,请稍候...."); try { Cursor = Cursors.WaitCursor; var dic = new Dictionary(); if (chkTim.Checked) { dic.Add("time", RegStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss")); dic.Add("time1", RegEndTime.Value.ToString("yyy-MM-dd HH:mm:ss")); } if (chkPoundNo.Checked) dic.Add("poundNo", cmbPoundNo.Text); if (chbQueryCarType.Checked) dic.Add("matType", uceQueryCarType.CheckedItems.Select(p => p.DisplayText.ToString()).ToList()); if (chkCarNo.Checked) dic.Add("carNo", uteCarNo.Text); dic.Add("validflag", new List() { "1" }); QueryBS.DataSource = EntityHelper.GetData( "com.steering.Mcms.ResultServer.doQueryDetails", new object[] { dic }, ob); GridHelper.RefreshAndAutoSizeExceptColumns(ugData, ""); } catch (Exception ex) { if (ex.Message.ToString2() != "") Message = ex.Message; } finally { wf.Close(); Cursor = Cursors.Default; } if (!string.IsNullOrWhiteSpace(Message)) MessageBox.Show(Message); } private void ugLog_AfterRowActivate(object sender, EventArgs e) { CmmWeightResultUpdateEntity update = ugLog.ActiveRow.ListObject as CmmWeightResultUpdateEntity; if(update==null) return; Dictionary dic = new Dictionary(); dic.Add("logNo", update.LogNo); dic.Add("logType", "0"); List datas1 = EntityHelper.GetData( "com.steering.Mcms.ResultLogServer.doQueryRecordLog", new object[] { dic }, ob); List result1 = EntityHelper.GetData( "com.steering.Mcms.ResultLogServer.doQueryResultLog", new object[] { dic }, ob); cmmWeightResultEntityBindingSource1.DataSource = result1; if (datas1 != null && datas1.Any()) { CmmWeightRecordEntityFull data1 = datas1[0]; data1.MatInfos = EntityHelper.GetData( "com.steering.Mcms.ResultLogServer.doQueryMatLog", new object[] {dic}, ob); matInfo1.SetDefault(data1,"",true); } else { matInfo1.SetDefault(null); } dic = new Dictionary(); dic.Add("logNo", update.LogNo); dic.Add("logType", "1"); List datas2 = EntityHelper.GetData( "com.steering.Mcms.ResultLogServer.doQueryRecordLog", new object[] { dic }, ob); List result2 = EntityHelper.GetData( "com.steering.Mcms.ResultLogServer.doQueryResultLog", new object[] { dic }, ob); cmmWeightResultEntityBindingSource2.DataSource = result2; if (datas2 != null && datas2.Any()) { CmmWeightRecordEntityFull data2 = datas2[0]; data2.MatInfos = EntityHelper.GetData( "com.steering.Mcms.ResultLogServer.doQueryMatLog", new object[] { dic }, ob); matInfo2.SetDefault(data2, "", true); } else { matInfo2.SetDefault(null); } } } }