DetectResultControl.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using Core.Mes.Client.Comm.Control;
  10. using com.steering.mes.mcp.entity;
  11. using Infragistics.Win.UltraWinGrid;
  12. using Core.Mes.Client.Comm.Tool;
  13. using Core.Mes.Client.Comm.Server;
  14. using Core.StlMes.Client.Mcp.Control.Entity;
  15. using CoreFS.CA06;
  16. using Infragistics.Win;
  17. using Infragistics.Win.UltraWinEditors;
  18. namespace Core.StlMes.Client.Mcp.Control
  19. {
  20. public partial class DetectResultControl : UserControl
  21. {
  22. public DetectResultControl()
  23. {
  24. InitializeComponent();
  25. EntityHelper.ShowGridCaption<HttCrackDetectionEtEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  26. ScrappedList = new DataSourceList<HttWasteResultEntity>();
  27. ScrappedLenList = new DataSourceList<HttWasteResultEntity>();
  28. SuspiciousList = new DataSourceList<HttWasteResultEntity>();
  29. }
  30. public OpeBase Ob { get; set; }
  31. public void SetFont(Font f1)
  32. {
  33. ultraGrid1.Font = f1;
  34. foreach (UltraGridColumn UltraGridColumn in ultraGrid1.DisplayLayout.Bands[0].Columns)
  35. {
  36. UltraGridColumn.Header.Appearance.FontData.Bold = f1.Bold ? DefaultableBoolean.True : DefaultableBoolean.False;
  37. UltraGridColumn.Header.Appearance.FontData.Name = f1.Name;
  38. UltraGridColumn.Header.Appearance.FontData.SizeInPoints = f1.SizeInPoints;
  39. }
  40. }
  41. public string gx { get; set; }
  42. /// <summary>
  43. /// 废品
  44. /// </summary>
  45. public List<HttWasteResultEntity> ScrappedList { get; set; }
  46. /// <summary>
  47. /// 废品总米长
  48. /// </summary>
  49. public List<HttWasteResultEntity> ScrappedLenList { get; set; }
  50. /// <summary>
  51. /// 可疑
  52. /// </summary>
  53. public List<HttWasteResultEntity> SuspiciousList { get; set; }
  54. public HttCrackDetectionEtEntity Value
  55. {
  56. get
  57. {
  58. var list =
  59. httCrackDetectionEtEntityBindingSource.DataSource as List<HttCrackDetectionEtEntity>;
  60. return (list == null) || !list.Any() ? new HttCrackDetectionEtEntity() : list.FirstOrDefault();
  61. }
  62. set
  63. {
  64. if (value == null)
  65. {
  66. httCrackDetectionEtEntityBindingSource.DataSource = new List<HttCrackDetectionEtEntity>
  67. {
  68. new HttCrackDetectionEtEntity()
  69. };
  70. ScrappedList = new List<HttWasteResultEntity>();
  71. ScrappedLenList = new List<HttWasteResultEntity>();
  72. SuspiciousList = new List<HttWasteResultEntity>();
  73. }
  74. else
  75. {
  76. httCrackDetectionEtEntityBindingSource.DataSource = new List<HttCrackDetectionEtEntity> { value};
  77. if ((Ob == null) || (Ob.MainUrl == "")) return;
  78. var dt1 = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMcpLoading.getPerson",
  79. new object[] {ultraGrid1.Rows[0].Cells["ColGroup"].Text, Value.PlineName}, Ob);
  80. //如果是“”里面添加的是条件
  81. name.DataSource = dt1;
  82. name.DisplayMember = "NAME";
  83. //name.ValueMember = "ID";
  84. YdmBaseClass.SetComboItemHeight(name);
  85. if (!string.IsNullOrEmpty(value.ResultNo) && value.EwasteNum > 0 && value.EwasteNum != ScrappedList.Count)
  86. {
  87. ScrappedList = EntityHelper.GetData<HttWasteResultEntity>(
  88. "com.steering.mes.mcp.heatTreatment.FrmHttBugD.doQueryScrapNum", new object[] { "", value.ResultNo }, Ob);
  89. }
  90. if (!string.IsNullOrEmpty(value.ResultNo) && value.DubiousNum > 0 && value.DubiousNum != SuspiciousList.Count)
  91. {
  92. SuspiciousList = EntityHelper.GetData<HttWasteResultEntity>(
  93. "com.steering.mes.mcp.heatTreatment.FrmHttBugD.doQueryAlarmNum", new object[] { "", value.ResultNo }, Ob);
  94. }
  95. decimal TotalLen;
  96. decimal.TryParse(value.EwasteReason, out TotalLen);
  97. if (!string.IsNullOrEmpty(value.ResultNo) && TotalLen > 0 && TotalLen != ScrappedLenList.Sum(p => p.TotalLen ?? 0))
  98. {
  99. ScrappedLenList = EntityHelper.GetData<HttWasteResultEntity>(
  100. "com.steering.mes.mcp.heatTreatment.FrmHttBugD.doQueryScrapLen", new object[] { "", value.ResultNo }, Ob);
  101. }
  102. if (value.EwasteNum == null || value.EwasteNum == 0)
  103. {
  104. ScrappedList = new List<HttWasteResultEntity>();
  105. }
  106. if (value.DubiousNum == null || value.DubiousNum == 0)
  107. {
  108. SuspiciousList = new List<HttWasteResultEntity>();
  109. }
  110. if (value.EwasteReason == "" || !value.EwasteReason.TryParseDouble())
  111. {
  112. ScrappedLenList = new List<HttWasteResultEntity>();
  113. }
  114. if (value.PlineCode != "C015" && value.PlineCode != "C074")
  115. {
  116. ultraGrid1.DisplayLayout.Bands[0].Columns["MachineNo"].Hidden = true;
  117. }
  118. else
  119. {
  120. ultraGrid1.DisplayLayout.Bands[0].Columns["MachineNo"].Hidden = false;
  121. }
  122. }
  123. ultraGrid1.Refresh();
  124. }
  125. }
  126. public void DisableFiltering()
  127. {
  128. ultraGrid1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  129. foreach (var ugc in ultraGrid1.DisplayLayout.Bands[0].Columns)
  130. ugc.SortIndicator = SortIndicator.Disabled;
  131. }
  132. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  133. {
  134. ultraGrid1.UpdateData();
  135. /* if (e.Cell.Column.Key.Equals("ColGroup"))
  136. {
  137. var dt1 = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMcpLoading.getPerson",
  138. new object[] { e.Cell.Row.Cells["ColGroup"].Text, Value.PlineName }, Ob); //如果是“”里面添加的是条件
  139. name.DataSource = dt1;
  140. name.DisplayMember = "NAME";
  141. //name.ValueMember = "ID";
  142. YdmBaseClass.SetComboItemHeight(name);
  143. }
  144. ultraGrid1.Refresh();*/
  145. }
  146. private void craftImg_EditorButtonClick(object sender, EditorButtonEventArgs e)
  147. {
  148. if (Value.HeatPlanNo == null)
  149. return;
  150. if (Value.PlineCode == null)
  151. return;
  152. var matfrm = new FrmScrapHttNew(Ob, new List<HttWasteResultEntity>(), ScrappedList, false, Value.HeatPlanNo, int.Parse(Value.ProcessSeq.ToString3()),"600405",Value.BatchNo);
  153. matfrm.ShowDialog();
  154. if (matfrm.DialogResult == DialogResult.OK)
  155. {
  156. ScrappedList = matfrm.ScrappedList;
  157. Value.EwasteNum = ScrappedList.Sum(p => p.DefFillNum);
  158. // SuspiciousList = matfrm.SuspiciousList;
  159. // Value.DubiousNum = SuspiciousList.Sum(p => p.DefFillNum);
  160. Value.EwasteWt = ScrappedList.Sum(p => p.DefFillWt);
  161. Value.EwasteReason = ScrappedList.Any()
  162. ? ScrappedList.Select(p => p.DefFillName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  163. : "/";
  164. }
  165. Value.EwasteNum = Value.EwasteNum ?? 0;
  166. Value.EpassNum = Value.TestingNum - Value.EwasteNum;
  167. // Value.DubiousNum = Value.DubiousNum ?? 0;
  168. ultraGrid1.PerformAction(UltraGridAction.ExitEditMode);
  169. ultraGrid1.UpdateData();
  170. }
  171. private void ultraTextEditor1_EditorButtonClick(object sender, EditorButtonEventArgs e)
  172. {
  173. if (Value.HeatPlanNo == null)
  174. return;
  175. if (Value.PlineCode == null)
  176. return;
  177. var matfrm = new FrmHttScrapLen(Ob, ScrappedLenList, Value.HeatPlanNo, int.Parse(Value.ProcessSeq.ToString3()), Value.BatchNo);
  178. matfrm.ShowDialog();
  179. if (matfrm.DialogResult == DialogResult.OK)
  180. {
  181. ScrappedLenList = matfrm.ScrappedLenList;
  182. Value.TotalFailLen = (ScrappedLenList.Any() ? ScrappedLenList.Sum(p => p.TotalLen ?? 0) : 0);
  183. }
  184. ultraGrid1.PerformAction(UltraGridAction.ExitEditMode);
  185. ultraGrid1.UpdateData();
  186. }
  187. private void ultraTextEditor2_EditorButtonClick(object sender, EditorButtonEventArgs e)
  188. {
  189. if (Value.HeatPlanNo == null)
  190. return;
  191. if (Value.PlineCode == null)
  192. return;
  193. var matfrm = new FrmScrapHttNew(Ob, SuspiciousList, new List<HttWasteResultEntity>(), true, Value.HeatPlanNo, int.Parse(Value.ProcessSeq.ToString3()), "600405", Value.BatchNo);
  194. matfrm.ShowDialog();
  195. if (matfrm.DialogResult == DialogResult.OK)
  196. {
  197. // ScrappedList = matfrm.ScrappedList;
  198. // Value.EwasteNum = ScrappedList.Sum(p => p.DefFillNum);
  199. SuspiciousList = matfrm.SuspiciousList;
  200. Value.DubiousNum = SuspiciousList.Sum(p => p.DefFillNum);
  201. Value.FtestingReason = SuspiciousList.Any()
  202. ? SuspiciousList.Select(p => p.DefFillName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a)?"":(a + ",")) + b)
  203. : "/";
  204. }
  205. // Value.EwasteNum = Value.EwasteNum ?? 0;
  206. Value.DubiousNum = Value.DubiousNum ?? 0;
  207. Value.FtestingNum = Value.DubiousNum;
  208. ultraGrid1.PerformAction(UltraGridAction.ExitEditMode);
  209. ultraGrid1.UpdateData();
  210. }
  211. }
  212. }