CrackUserNameControl.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Windows.Forms;
  7. using Infragistics.Win.UltraWinGrid;
  8. using com.steering.mes.mcp.entity;
  9. using Core.Mes.Client.Comm.Server;
  10. using CoreFS.CA06;
  11. using Core.Mes.Client.Comm.Tool;
  12. using Core.StlMes.Client.Mcp.Control.Entity;
  13. using Infragistics.Win;
  14. namespace Core.StlMes.Client.Mcp.Control
  15. {
  16. public partial class CrackUserNameControl : UserControl
  17. {
  18. private OpeBase ob;
  19. public OpeBase Ob
  20. {
  21. get { return ob; }
  22. set { ob = value; }
  23. }
  24. public string gx { get; set; }
  25. public void DisableFiltering()
  26. {
  27. ultraGrid1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  28. foreach (var ugc in ultraGrid1.DisplayLayout.Bands[0].Columns)
  29. ugc.SortIndicator = SortIndicator.Disabled;
  30. }
  31. public void BandName(List<HttSignatureEntity> names)
  32. {
  33. name.DataSource = names;
  34. name.DisplayMember = "userName";
  35. name.ValueMember = "userName";
  36. name.DataBind();
  37. }
  38. public void setBatchNo(List<string> datas)
  39. {
  40. ucBatchs.DataSource = datas;
  41. ucBatchs.DataBind();
  42. }
  43. public List<PortHttBatchSampleResultEntity> PortHttBatchSampleResultEntitys { get; set; }
  44. public List<HttCrackDetectionEtEntity> ListAll { get; set; }
  45. public HttCrackDetectionEtEntity Value
  46. {
  47. get
  48. {
  49. ultraGrid1.UpdateData();
  50. List<HttCrackDetectionEtEntity> list =
  51. httCrackDetectionEtEntityBindingSource.DataSource as List<HttCrackDetectionEtEntity>;
  52. if (list != null && list.Any())
  53. {
  54. list[0].ColTime = ultraGrid1.Rows[0].Cells["ColTime"].Text;
  55. list[0].ColEndTime = ultraGrid1.Rows[0].Cells["ColEndTime"].Text;
  56. }
  57. return list==null || !list.Any()?new HttCrackDetectionEtEntity(): list.FirstOrDefault();
  58. }
  59. set
  60. {
  61. if (value == null)
  62. {
  63. httCrackDetectionEtEntityBindingSource.DataSource = new List<HttCrackDetectionEtEntity>()
  64. {
  65. new HttCrackDetectionEtEntity()
  66. };
  67. }
  68. else
  69. {
  70. httCrackDetectionEtEntityBindingSource.DataSource = new List<HttCrackDetectionEtEntity>() { value };
  71. if (ob == null || ob.MainUrl == "") return;
  72. /* DataTable dt1 = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMcpLoading.getPerson",
  73. new object[] {ultraGrid1.Rows[0].Cells["LoadGroup"].Text, Value.PlineName}, this.ob);
  74. //如果是“”里面添加的是条件
  75. name.DataSource = dt1;
  76. name.DisplayMember = "NAME";
  77. //name.ValueMember = "ID";
  78. YdmBaseClass.SetComboItemHeight(name);*/
  79. SetWeight();
  80. }
  81. ultraGrid1.Refresh();
  82. }
  83. }
  84. private void SetWeight()
  85. {
  86. if (PortHttBatchSampleResultEntitys == null || !PortHttBatchSampleResultEntitys.Any()) return;
  87. List<PortHttBatchSampleResultEntity> OkList = PortHttBatchSampleResultEntitys.Where(
  88. p =>
  89. (p.ProcessSeq == Value.ProcessSeq && (p.MatStatus == "00" || p.MatStatus == "合格") ||
  90. String.CompareOrdinal(p.OpProcessCode, gx) >= 0) ||
  91. (p.ProcessSeq > Value.ProcessSeq)).ToList();
  92. if (!OkList.Any()) return;
  93. int Count1 = ListAll.Where(p => p.ProcessSeq == Value.ProcessSeq).Sum(p => (int)(p.TestingNum ?? 0));
  94. decimal AllWeight = (decimal)OkList.Sum(p => p.ActWeight);
  95. decimal Weight1 = (decimal)((int)Value.TestingNum % OkList.Count > (OkList.Count - Count1 % OkList.Count)
  96. ? (OkList.Skip(Count1 % OkList.Count).Take(OkList.Count - Count1 % OkList.Count).Sum(p => p.ActWeight) +
  97. OkList.Take((int)Value.TestingNum % OkList.Count - (OkList.Count - Count1 % OkList.Count))
  98. .Sum(p => p.ActWeight))
  99. : OkList.Skip(Count1 % OkList.Count).Take((int)Value.TestingNum % OkList.Count).Sum(p => p.ActWeight));
  100. Value.TestingWt = AllWeight * ((int)Value.TestingNum / OkList.Count) + Weight1;
  101. }
  102. public void SetFont(Font f1)
  103. {
  104. ultraGrid1.Font = f1;
  105. foreach (UltraGridColumn UltraGridColumn in ultraGrid1.DisplayLayout.Bands[0].Columns)
  106. {
  107. UltraGridColumn.Header.Appearance.FontData.Bold = f1.Bold ? DefaultableBoolean.True : DefaultableBoolean.False;
  108. UltraGridColumn.Header.Appearance.FontData.Name = f1.Name;
  109. UltraGridColumn.Header.Appearance.FontData.SizeInPoints = f1.SizeInPoints;
  110. }
  111. }
  112. public CrackUserNameControl()
  113. {
  114. InitializeComponent();
  115. EntityHelper.ShowGridCaption<HttCrackDetectionEtEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  116. }
  117. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  118. {
  119. try
  120. {
  121. if (e.Cell.Column.Key.Equals("ColTime") || e.Cell.Column.Key.Equals("ColEndTime"))
  122. {
  123. return;
  124. }
  125. ultraGrid1.UpdateData();
  126. if (e.Cell.Column.Key.Equals("TestingNum") && Value.TestingNum != null && Value.ProcessSeq != null)
  127. {
  128. SetWeight();
  129. }
  130. }
  131. catch (Exception)
  132. {
  133. }
  134. }
  135. }
  136. }