using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Windows.Forms; using com.steering.mes.mcp.entity; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Control.Entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.Mcp.Control.HeatTreatment { public partial class QuenTreatFurnace : UserControl { public QuenTreatFurnace() { InitializeComponent(); ScrappedList = new DataSourceList(); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); } public OpeBase Ob { get; set; } public List PortHttBatchSampleResultEntitys { get; set; } public List ListAll { get; set; } public static List ScrappedList { private set; get; } public UltraGrid Grid { get { return this.ultraGrid1; } } public string gx { get; set; } public HttQuenchingResultEntity Value { get { var list = httQuenchingResultEntityBindingSource.DataSource as List; return (list == null) || !list.Any() ? new HttQuenchingResultEntity() : list.FirstOrDefault(); } set { if (value == null) { httQuenchingResultEntityBindingSource.DataSource = new List { new HttQuenchingResultEntity() }; ScrappedList = new List(); } else { httQuenchingResultEntityBindingSource.DataSource = new List { value.Clone() }; if ((Ob == null) || (Ob.MainUrl == "")) return; var dt1 = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMcpLoading.getPerson", new object[] {ultraGrid1.Rows[0].Cells["ColGroup"].Text, Value.PlineName}, Ob); //如果是“”里面添加的是条件 name.DataSource = dt1; name.DisplayMember = "NAME"; //name.ValueMember = "ID"; YdmBaseClass.SetComboItemHeight(name); if (!string.IsNullOrEmpty(value.ResultNo) && (value.FailNum > 0) && (value.FailNum != ScrappedList.Count)) ScrappedList = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmHttBugD.doQueryScrapNum", new object[] {"", value.ResultNo}, Ob); if (value.FailNum == 0) ScrappedList = new List(); SetWeight(); } ultraGrid1.Refresh(); } } public void DisableFiltering() { ultraGrid1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; } public void ShowPro(bool isPro) { ultraGrid1.DisplayLayout.Bands[0].Columns["Producer"].CellActivation = isPro ? Activation.AllowEdit : Activation.ActivateOnly; ultraGrid1.DisplayLayout.Bands[0].Columns["ProducerTime"].CellActivation = isPro ? Activation.AllowEdit : Activation.ActivateOnly; } public void SetFont(Font f1) { ultraGrid1.Font = f1; foreach (var 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; } } private void ultraGrid1_CellChange(object sender, CellEventArgs e) { ultraGrid1.UpdateData(); if (e.Cell.Column.Key.Equals("ColGroup")) { var dt1 = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMcpLoading.getPerson", new object[] {e.Cell.Row.Cells["ColGroup"].Text, Value.PlineName}, Ob); //如果是“”里面添加的是条件 name.DataSource = dt1; name.DisplayMember = "NAME"; //name.ValueMember = "ID"; YdmBaseClass.SetComboItemHeight(name); } if (e.Cell.Column.Key.Equals("ProNum") && (Value.ProNum != null) && (Value.ProcessSeq != null)) { 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.ProNum ?? 0)); decimal AllWeight = (decimal)OkList.Sum(p => p.ActWeight); decimal Weight1 = (decimal)((int)Value.ProNum % 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.ProNum % OkList.Count - (OkList.Count - Count1 % OkList.Count)) .Sum(p => p.ActWeight)) : OkList.Skip(Count1 % OkList.Count).Take((int)Value.ProNum % OkList.Count).Sum(p => p.ActWeight)); Value.ProWt = AllWeight * ((int)Value.ProNum / OkList.Count) + Weight1; } private void craftImg_EditorButtonClick(object sender, EditorButtonEventArgs e) { if (Value.HeatPlanNo == null) return; if (Value.PlineCode == null) return; var matfrm = new FrmScrapHttNew(Ob, null, ScrappedList, false, Value.HeatPlanNo, int.Parse(Value.ProcessSeq.ToString3()),"600402","","",null, ScrappedList.Concat(HighTreatFurnace.ScrappedList).Concat(LowTreatFurnace.ScrappedList).SelectMany(p=>p.MatNo.Split(',')).ToList() ); matfrm.ShowDialog(); if (matfrm.DialogResult == DialogResult.OK) { ScrappedList = matfrm.ScrappedList; Value.FailNum = ScrappedList.Sum(p => p.DefFillNum); } Value.FailNum = Value.FailNum ?? 0; ultraGrid1.PerformAction(UltraGridAction.ExitEditMode); ultraGrid1.UpdateData(); } } }