RemanenceControl.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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 Core.StlMes.Client.Mcp.Control.Machining;
  8. using Infragistics.Win.UltraWinEditors;
  9. using Infragistics.Win.UltraWinGrid;
  10. namespace Core.StlMes.Client.Mcp.Control
  11. {
  12. public partial class RemanenceControl : MchControlBase
  13. {
  14. public RemanenceControl()
  15. {
  16. InitializeComponent();
  17. EntityHelper.ShowGridCaption<MchRemanenceResultEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  18. Detail = new List<MchRemanenceResultDEntity>();
  19. gx = "701314";
  20. Value = null;
  21. }
  22. public List<MchRemanenceResultDEntity> Detail { get; set; }
  23. protected override string ScrapCode
  24. {
  25. get { return "/"; }
  26. }
  27. public bool UpdateMode
  28. {
  29. get
  30. {
  31. return ultraGrid1.DisplayLayout.Bands[0].Columns["ProNum"].CellActivation == Activation.ActivateOnly;
  32. }
  33. set
  34. {
  35. ultraGrid1.DisplayLayout.Bands[0].Columns["ProNum"].CellActivation = value
  36. ? Activation.ActivateOnly
  37. : Activation.AllowEdit;
  38. ultraGrid1.DisplayLayout.Bands[0].Columns["BatchNo"].CellActivation = value
  39. ? Activation.ActivateOnly
  40. : Activation.AllowEdit;
  41. }
  42. }
  43. public MchRemanenceResultEntity Value
  44. {
  45. get
  46. {
  47. var list =
  48. mchPathResultEntityBindingSource.DataSource as List<MchRemanenceResultEntity>;
  49. return (list == null) || !list.Any() ? new MchRemanenceResultEntity() : list.FirstOrDefault();
  50. }
  51. set
  52. {
  53. if (value == null)
  54. {
  55. mchPathResultEntityBindingSource.DataSource = new List<MchRemanenceResultEntity>
  56. {
  57. new MchRemanenceResultEntity()
  58. };
  59. ScrappedList = new List<MchBugDEntity>();
  60. Detail = new List<MchRemanenceResultDEntity>();
  61. }
  62. else
  63. {
  64. if (PortHttBatchSampleResultEntitys!=null)
  65. value.ProWt = comm.GetWeight(PortHttBatchSampleResultEntitys, gx, (int) (value.ProNum ?? 0),
  66. (int) (PlnZyJgxCEntity.ProCount ?? 0));
  67. mchPathResultEntityBindingSource.DataSource = new List<MchRemanenceResultEntity> {value.Clone()};
  68. if (_plineCode != Value.PlineCode)
  69. {
  70. Names = EntityHelper.GetData<HttSignatureEntity>(
  71. "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getHttSign",
  72. new object[] {Value.PlineCode, "13"}, Ob);
  73. name.DisplayMember = "UserName";
  74. name.ValueMember = "UserName";
  75. YdmBaseClass.SetComboItemHeight(name);
  76. _plineCode = Value.PlineCode;
  77. }
  78. name.DataSource = Names.Where(p => p.ColGroup == value.ProGroup).ToList();
  79. if ((value.TestRecord == null) || (value.TestRecord == 0))
  80. Detail = new List<MchRemanenceResultDEntity>();
  81. ScrappedList = new List<MchBugDEntity>();
  82. // ultraGrid1.DisplayLayout.Bands[0].Columns["ProNum"].MaxValue = value.ProNum;
  83. }
  84. }
  85. }
  86. private void TestRecord_EditorButtonClick(object sender,
  87. EditorButtonEventArgs e)
  88. {
  89. var matfrm = new RemanenceRecord(Detail);
  90. matfrm.ShowDialog();
  91. if (matfrm.DialogResult == DialogResult.OK)
  92. {
  93. Detail = matfrm.Detail;
  94. Value.TestRecord = Detail.Count();
  95. if (Detail.Any())
  96. {
  97. var point = Detail.SelectMany(p =>
  98. {
  99. var points = new List<double>();
  100. double a0, a90, a180, a270, b0, b90, b180, b270;
  101. if (double.TryParse(p.MeasurementValueA0, out a0)) points.Add(a0);
  102. if (double.TryParse(p.MeasurementValueA90, out a90)) points.Add(a90);
  103. if (double.TryParse(p.MeasurementValueA180, out a180)) points.Add(a180);
  104. if (double.TryParse(p.MeasurementValueA270, out a270)) points.Add(a270);
  105. if (double.TryParse(p.MeasurementValueB0, out b0)) points.Add(b0);
  106. if (double.TryParse(p.MeasurementValueB90, out b90)) points.Add(b90);
  107. if (double.TryParse(p.MeasurementValueB180, out b180)) points.Add(b180);
  108. if (double.TryParse(p.MeasurementValueB270, out b270)) points.Add(b270);
  109. return points;
  110. }
  111. ).ToList();
  112. // if (point.Any()) Value.PointMax = decimal.Parse(point.Max().ToString3());
  113. var avg = Detail.SelectMany(p =>
  114. {
  115. var avgs = new List<double>();
  116. double aa, ba;
  117. if (double.TryParse(p.MeasurementValueAavg, out aa)) avgs.Add(aa);
  118. if (double.TryParse(p.MeasurementValueBavg, out ba)) avgs.Add(ba);
  119. return avgs;
  120. }
  121. ).ToList();
  122. // if (avg.Any()) Value.AverageMax = decimal.Parse(avg.Max().ToString3());
  123. }
  124. ultraGrid1.PerformAction(UltraGridAction.ExitEditMode);
  125. ultraGrid1.UpdateData();
  126. }
  127. }
  128. }
  129. }