using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Control.Entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using Infragistics.Win.UltraWinToolbars; namespace Core.StlMes.Client.Mcp.Control { public partial class TwistinglyDetail : FrmBase { public List Detail { get; private set; } public TwistinglyDetail(List _detail, string OrdLnDlyPk, OpeBase _ob) { InitializeComponent(); if (_detail==null) _detail = new List(); this.ob = _ob; List List = EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmCoupMakeupResult.QueryCouplingMatDeal", new object[] {OrdLnDlyPk}, ob); List = List.Where(p => p.RemainNum > 0).ToList(); List.ForEach(p => { var edit = _detail.Where(q => q.DealOrde == p.DealOrde).ToList(); if (edit.Any()) { p.EditUsedNum = edit.Sum(q => q.CouplingNum); p.EditFailNum = edit.Sum(q => q.CouplingFailNum); } }); couplingMatDealEntityBindingSource.DataSource = List; lblShow.Visible = !List.Any(); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); ultraGridDetailDes1.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default; ultraGridDetailDes1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; EntityHelper.ShowGridCaption(ultraGridDetailDes1.DisplayLayout.Bands[0]); } private void ultraToolbarsManager1_ToolClick(object sender, ToolClickEventArgs e) { switch (e.Tool.Key) { case "Save": Save(); break; case "Close": CloseFrm(); break; } } private void CloseFrm() { DialogResult = DialogResult.Cancel; Close(); } /// /// 保存可疑、剔除品 /// private void Save() { ultraGridDetailDes1.UpdateData(); var list1 = couplingMatDealEntityBindingSource.DataSource as List; Detail = new List(); list1.Where(p => p.EditUsedNum > 0 || p.EditFailNum>0).ToList().ForEach(p => { Detail.Add(new MchTwistinglyResultDEntity() { DealOrde = p.DealOrde, WoId = p.WoId, CouplingStoveNo = p.JudgeStoveNo, LotNo = p.BatchNo, CouplingNum = p.EditUsedNum, CouplingWt = p.EditUsedNum * p.Singleweight/1000, CouplingFailNum = p.EditFailNum, CouplingFailWt = p.EditFailNum * p.Singleweight/1000 }); }); DialogResult = DialogResult.OK; } private void ultraGridDetailDes1_InitializeTemplateAddRow(object sender, InitializeTemplateAddRowEventArgs e) { if (ultraGridDetailDes1.ActiveRow == null) e.TemplateAddRow.Activated = true; } private void ultraGridDetailDes1_KeyDown(object sender, KeyEventArgs e) { if (e.Control && (e.KeyCode == Keys.V)) Copy(); } private void Copy() { try { var list1 = mchTwistinglyResultDEntityBindingSource.DataSource as List; var data = Clipboard.GetText(); if (string.IsNullOrEmpty(data)) return; var DataRows = data.Split('\n'); var NewList = new List(); for (var i = 0; i < DataRows.Length; i++) { if (string.IsNullOrWhiteSpace(DataRows[i])) continue; var DataCell = DataRows[i].Split('\t'); var StartCount = 0; if (string.IsNullOrWhiteSpace(DataCell[0])) StartCount++; NewList.Add(new MchTwistinglyResultDEntity() { CouplingStoveNo = DataCell[StartCount++], LotNo = DataCell.Length > StartCount ? DataCell[StartCount++] : "", CouplingNum =DataCell.Length > StartCount ?decimal.Parse( DataCell[StartCount++]) : 0, Chk = true }); } mchTwistinglyResultDEntityBindingSource.DataSource = NewList; } catch (Exception ex) { // log } } private void ToolStripMenuItem_Click(object sender, EventArgs e) { Copy(); } private void ultraGridDetailDes1_CellChange(object sender, CellEventArgs e) { ultraGridDetailDes1.UpdateData(); } } }