using System; using System.Collections.Generic; using System.Drawing; using System.Data; using System.Linq; using System.Windows.Forms; using Infragistics.Win.UltraWinGrid; using com.steering.mes.mcp.entity; using Core.Mes.Client.Comm.Server; using CoreFS.CA06; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Control.Entity; using Infragistics.Win; namespace Core.StlMes.Client.Mcp.Control { public partial class CrackUserNameControl : UserControl { private OpeBase ob; public OpeBase Ob { get { return ob; } set { ob = value; } } public string gx { get; set; } public void DisableFiltering() { ultraGrid1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; foreach (var ugc in ultraGrid1.DisplayLayout.Bands[0].Columns) ugc.SortIndicator = SortIndicator.Disabled; } public void BandName(List names) { name.DataSource = names; name.DisplayMember = "userName"; name.ValueMember = "userName"; name.DataBind(); } public void setBatchNo(List datas) { ucBatchs.DataSource = datas; ucBatchs.DataBind(); } public List PortHttBatchSampleResultEntitys { get; set; } public List ListAll { get; set; } public HttCrackDetectionEtEntity Value { get { ultraGrid1.UpdateData(); List list = httCrackDetectionEtEntityBindingSource.DataSource as List; if (list != null && list.Any()) { list[0].ColTime = ultraGrid1.Rows[0].Cells["ColTime"].Text; list[0].ColEndTime = ultraGrid1.Rows[0].Cells["ColEndTime"].Text; } return list==null || !list.Any()?new HttCrackDetectionEtEntity(): list.FirstOrDefault(); } set { if (value == null) { httCrackDetectionEtEntityBindingSource.DataSource = new List() { new HttCrackDetectionEtEntity() }; } else { httCrackDetectionEtEntityBindingSource.DataSource = new List() { value }; if (ob == null || ob.MainUrl == "") return; /* DataTable dt1 = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMcpLoading.getPerson", new object[] {ultraGrid1.Rows[0].Cells["LoadGroup"].Text, Value.PlineName}, this.ob); //如果是“”里面添加的是条件 name.DataSource = dt1; name.DisplayMember = "NAME"; //name.ValueMember = "ID"; YdmBaseClass.SetComboItemHeight(name);*/ SetWeight(); } ultraGrid1.Refresh(); } } private void SetWeight() { if (PortHttBatchSampleResultEntitys == null || !PortHttBatchSampleResultEntitys.Any()) return; List OkList = PortHttBatchSampleResultEntitys.Where( p => (p.ProcessSeq == Value.ProcessSeq && (p.MatStatus == "00" || p.MatStatus == "合格") || String.CompareOrdinal(p.OpProcessCode, gx) >= 0) || (p.ProcessSeq > Value.ProcessSeq)).ToList(); if (!OkList.Any()) return; int Count1 = ListAll.Where(p => p.ProcessSeq == Value.ProcessSeq).Sum(p => (int)(p.TestingNum ?? 0)); decimal AllWeight = (decimal)OkList.Sum(p => p.ActWeight); decimal Weight1 = (decimal)((int)Value.TestingNum % OkList.Count > (OkList.Count - Count1 % OkList.Count) ? (OkList.Skip(Count1 % OkList.Count).Take(OkList.Count - Count1 % OkList.Count).Sum(p => p.ActWeight) + OkList.Take((int)Value.TestingNum % OkList.Count - (OkList.Count - Count1 % OkList.Count)) .Sum(p => p.ActWeight)) : OkList.Skip(Count1 % OkList.Count).Take((int)Value.TestingNum % OkList.Count).Sum(p => p.ActWeight)); Value.TestingWt = AllWeight * ((int)Value.TestingNum / OkList.Count) + Weight1; } public void SetFont(Font f1) { ultraGrid1.Font = f1; foreach (UltraGridColumn UltraGridColumn in ultraGrid1.DisplayLayout.Bands[0].Columns) { UltraGridColumn.Header.Appearance.FontData.Bold = f1.Bold ? DefaultableBoolean.True : DefaultableBoolean.False; UltraGridColumn.Header.Appearance.FontData.Name = f1.Name; UltraGridColumn.Header.Appearance.FontData.SizeInPoints = f1.SizeInPoints; } } public CrackUserNameControl() { InitializeComponent(); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); } private void ultraGrid1_CellChange(object sender, CellEventArgs e) { try { if (e.Cell.Column.Key.Equals("ColTime") || e.Cell.Column.Key.Equals("ColEndTime")) { return; } ultraGrid1.UpdateData(); if (e.Cell.Column.Key.Equals("TestingNum") && Value.TestingNum != null && Value.ProcessSeq != null) { SetWeight(); } } catch (Exception) { } } } }