TwistinglyDetail.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Windows.Forms;
  5. using Core.Mes.Client.Comm.Tool;
  6. using Core.StlMes.Client.Mcp.Control.Entity;
  7. using CoreFS.CA06;
  8. using Infragistics.Win;
  9. using Infragistics.Win.UltraWinGrid;
  10. using Infragistics.Win.UltraWinToolbars;
  11. namespace Core.StlMes.Client.Mcp.Control
  12. {
  13. public partial class TwistinglyDetail : FrmBase
  14. {
  15. public List<MchTwistinglyResultDEntity> Detail { get; private set; }
  16. public TwistinglyDetail(List<MchTwistinglyResultDEntity> _detail, string OrdLnDlyPk, OpeBase _ob)
  17. {
  18. InitializeComponent();
  19. if (_detail==null) _detail = new List<MchTwistinglyResultDEntity>();
  20. this.ob = _ob;
  21. List<CouplingMatDealEntity> List = EntityHelper.GetData<CouplingMatDealEntity>(
  22. "com.steering.mes.mcp.Mch.FrmCoupMakeupResult.QueryCouplingMatDeal",
  23. new object[] {OrdLnDlyPk}, ob);
  24. List = List.Where(p => p.RemainNum > 0).ToList();
  25. List.ForEach(p =>
  26. {
  27. var edit = _detail.Where(q => q.DealOrde == p.DealOrde).ToList();
  28. if (edit.Any())
  29. {
  30. p.EditUsedNum = edit.Sum(q => q.CouplingNum);
  31. p.EditFailNum = edit.Sum(q => q.CouplingFailNum);
  32. }
  33. });
  34. couplingMatDealEntityBindingSource.DataSource = List;
  35. lblShow.Visible = !List.Any();
  36. }
  37. protected override void OnLoad(EventArgs e)
  38. {
  39. base.OnLoad(e);
  40. ultraGridDetailDes1.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default;
  41. ultraGridDetailDes1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  42. EntityHelper.ShowGridCaption<CouplingMatDealEntity>(ultraGridDetailDes1.DisplayLayout.Bands[0]);
  43. }
  44. private void ultraToolbarsManager1_ToolClick(object sender, ToolClickEventArgs e)
  45. {
  46. switch (e.Tool.Key)
  47. {
  48. case "Save":
  49. Save();
  50. break;
  51. case "Close":
  52. CloseFrm();
  53. break;
  54. }
  55. }
  56. private void CloseFrm()
  57. {
  58. DialogResult = DialogResult.Cancel;
  59. Close();
  60. }
  61. /// <summary>
  62. /// 保存可疑、剔除品
  63. /// </summary>
  64. private void Save()
  65. {
  66. ultraGridDetailDes1.UpdateData();
  67. var list1 =
  68. couplingMatDealEntityBindingSource.DataSource as List<CouplingMatDealEntity>;
  69. Detail = new List<MchTwistinglyResultDEntity>();
  70. list1.Where(p => p.EditUsedNum > 0 || p.EditFailNum>0).ToList().ForEach(p =>
  71. {
  72. Detail.Add(new MchTwistinglyResultDEntity()
  73. {
  74. DealOrde = p.DealOrde,
  75. WoId = p.WoId,
  76. CouplingStoveNo = p.JudgeStoveNo,
  77. LotNo = p.BatchNo,
  78. CouplingNum = p.EditUsedNum,
  79. CouplingWt = p.EditUsedNum * p.Singleweight/1000,
  80. CouplingFailNum = p.EditFailNum,
  81. CouplingFailWt = p.EditFailNum * p.Singleweight/1000
  82. });
  83. });
  84. DialogResult = DialogResult.OK;
  85. }
  86. private void ultraGridDetailDes1_InitializeTemplateAddRow(object sender, InitializeTemplateAddRowEventArgs e)
  87. {
  88. if (ultraGridDetailDes1.ActiveRow == null)
  89. e.TemplateAddRow.Activated = true;
  90. }
  91. private void ultraGridDetailDes1_KeyDown(object sender, KeyEventArgs e)
  92. {
  93. if (e.Control && (e.KeyCode == Keys.V))
  94. Copy();
  95. }
  96. private void Copy()
  97. {
  98. try
  99. {
  100. var list1 =
  101. mchTwistinglyResultDEntityBindingSource.DataSource as List<MchTwistinglyResultDEntity>;
  102. var data = Clipboard.GetText();
  103. if (string.IsNullOrEmpty(data)) return;
  104. var DataRows = data.Split('\n');
  105. var NewList = new List<MchTwistinglyResultDEntity>();
  106. for (var i = 0; i < DataRows.Length; i++)
  107. {
  108. if (string.IsNullOrWhiteSpace(DataRows[i])) continue;
  109. var DataCell = DataRows[i].Split('\t');
  110. var StartCount = 0;
  111. if (string.IsNullOrWhiteSpace(DataCell[0])) StartCount++;
  112. NewList.Add(new MchTwistinglyResultDEntity()
  113. {
  114. CouplingStoveNo = DataCell[StartCount++],
  115. LotNo = DataCell.Length > StartCount ? DataCell[StartCount++] : "",
  116. CouplingNum =DataCell.Length > StartCount ?decimal.Parse( DataCell[StartCount++]) : 0,
  117. Chk = true
  118. });
  119. }
  120. mchTwistinglyResultDEntityBindingSource.DataSource = NewList;
  121. }
  122. catch (Exception ex)
  123. {
  124. // log
  125. }
  126. }
  127. private void ToolStripMenuItem_Click(object sender, EventArgs e)
  128. {
  129. Copy();
  130. }
  131. private void ultraGridDetailDes1_CellChange(object sender, CellEventArgs e)
  132. {
  133. ultraGridDetailDes1.UpdateData();
  134. }
  135. }
  136. }