using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using Core.Mes.Client.Comm.Control; using com.steering.mes.mcp.entity; using CoreFS.CA06; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Control.Entity; using Infragistics.Win; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.Mcp.Control { public partial class HttColdPoseControl : UserControl { public HttColdPoseControl() { ScrappedList = new DataSourceList(); InitializeComponent(); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); } public OpeBase Ob { get; set; } 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 List PortHttBatchSampleResultEntitys { get; set; } public UltraGrid Grid { get { return this.ultraGrid1; } } public string gx { get; set; } /// /// 废品 /// public static List ScrappedList { get; private set; } public List ListAll { get; set; } public HttClstraightenResultEntity Value { get { var list = httClstraightenResultEntityBindingSource.DataSource as List; return (list == null) || !list.Any() ? new HttClstraightenResultEntity() : list.FirstOrDefault(); } set { if (value == null) { httClstraightenResultEntityBindingSource.DataSource = new List { new HttClstraightenResultEntity() }; ScrappedList = new List(); } else { httClstraightenResultEntityBindingSource.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) { } 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(); } /* if (e.Cell.Column.Key.Equals("ProcessSeq") && Value.ProNum != null && Value.ProcessSeq != null) { List OkList = PortHttBatchSampleResultEntitys.Where( p => (p.ProcessSeq == Value.ProcessSeq && (p.MatStatus == "00" || p.MatStatus == "合格")) || (p.ProcessSeq > Value.ProcessSeq)).ToList(); int Count1 = ListAll.Where(p => p.ProcessSeq == Value.ProcessSeq).Sum(p => (int) (p.ProNum ?? 0)); Value.ProNum = OkList.Count - Count1; Value.ProNum = Value.ProNum < 0 ? 0 : Value.ProNum; Value.ProWt = OkList.Skip(Count1).Take(OkList.Count - Count1).Sum(p => p.ActWeight); } */ 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()), "600403", "","", null, ScrappedList.Concat(HttHotPoseControl.ScrappedList) .Concat(HttSizingControl.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(); } } }