CommonCrackMain.cs 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527
  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.Reflection;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using com.steering.mes.mcp.entity;
  11. using Core.StlMes.Client.Mcp.Control.Entity;
  12. using CoreFS.CA06;
  13. using Infragistics.Win.UltraWinGrid;
  14. namespace Core.StlMes.Client.Mcp.Control.Common
  15. {
  16. public partial class CommonCrackMain : UserControl
  17. {
  18. public CommonCrackMain()
  19. {
  20. InitializeComponent();
  21. commonCrackBodyNum1.ultraGrid1.CellChange+=ultraGrid1_CellChange;
  22. }
  23. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  24. {
  25. commonCrackBodyNum1.ultraGrid1.UpdateData();
  26. SetValue(commonCrackBodyNum1.Value, Lists);
  27. }
  28. public OpeBase Ob
  29. {
  30. set
  31. {
  32. commonCrackBodyNum1.Ob = value;
  33. commonCrackPara1.Ob = value;
  34. }
  35. }
  36. public void DisableFiltering()
  37. {
  38. commonCrackBodyNum1.DisableFiltering();
  39. commonCrackPara1.DisableFiltering();
  40. }
  41. public void SetFont(Font f1)
  42. {
  43. commonCrackBodyNum1.SetFont(f1);
  44. commonCrackPara1.SetFont(f1);
  45. }
  46. private string _machineNo = "1";
  47. private string _plineCode = "";
  48. private string _judgeStove = "";
  49. private string _BatchNo = "";
  50. private string _reportNo = "";
  51. private List<HttReportDefaultEntity> Lists = new List<HttReportDefaultEntity>();
  52. public void SetGetMatNoFunc(Func<List<PortMchBatchSampleResultEntityWithCheck>> func)
  53. {
  54. commonCrackBodyNum1.GetMatNo = func;
  55. }
  56. public string SuspiciousCode { get { return commonCrackBodyNum1.SuspiciousCode; } set
  57. {
  58. commonCrackBodyNum1.SuspiciousCode = value;
  59. } }
  60. public string ScrappedCode
  61. {
  62. get { return commonCrackBodyNum1.ScrappedCode; }
  63. set
  64. {
  65. commonCrackBodyNum1.ScrappedCode = value;
  66. }
  67. }
  68. public string UnPassCode
  69. {
  70. get { return commonCrackBodyNum1.UnPassCode; }
  71. set
  72. {
  73. commonCrackBodyNum1.UnPassCode = value;
  74. }
  75. }
  76. public void ChangeValue(HttCrackDetectionEtEntity data,List<HttReportDefaultEntity> _list)
  77. {
  78. ResetData(data);
  79. SetValue(data, _list);
  80. }
  81. public void DefaultCraftInfo(DataTable Stand,string ReportNo)
  82. {
  83. commonCrackPara1.SetStand(Stand);
  84. //commonCrackPara1.DefaulFromCraft(Stand, ReportNo);
  85. }
  86. public void SetReportNumber(string ReportNumber)
  87. {
  88. commonCrackPara1.SetReportNumber(ReportNumber);
  89. }
  90. private void SetValue(HttCrackDetectionEtEntity data, List<HttReportDefaultEntity> _list)
  91. {
  92. commonCrackBodyNum1.Value = data;
  93. Lists = _list;
  94. if (_machineNo != data.MachineNo || data.PlineCode != _plineCode)
  95. {
  96. if (data.PlineCode != _plineCode)
  97. {
  98. var MachineNos = Lists.Select(p => p.MachineNo).Distinct().OrderBy(p=>p).ToList();
  99. commonCrackBodyNum1.SetMachine(MachineNos);
  100. }
  101. commonCrackPara1.SetValue(data.PlineCode, Lists.Where(p => p.MachineNo == data.MachineNo).ToList());
  102. }
  103. if (data.ReportNo != _reportNo || data.JudgeStoveNo != _judgeStove || data.BatchNo != _BatchNo || _machineNo != data.MachineNo)
  104. {
  105. commonCrackPara1.DefaulFromCraft(data.ReportNo);
  106. }
  107. _judgeStove = data.JudgeStoveNo;
  108. _BatchNo = data.BatchNo;
  109. _reportNo = data.ReportNo;
  110. _machineNo = data.MachineNo;
  111. _plineCode = data.PlineCode;
  112. }
  113. public void ResetData(HttCrackDetectionEtEntity data)
  114. {
  115. if (data.MachineNo == "") data.MachineNo = "1";
  116. data.PassNum = 0;
  117. data.DubiousNum = 0;
  118. data.FtestingNum = 0;
  119. data.FpassNum = 0;
  120. data.EwasteNum = 0;
  121. data.EpassNum = 0;
  122. data.PendingNum = 0;
  123. data.PassNumEt = 0;
  124. data.DubiousNumEt = 0;
  125. data.FtestingNumEt = 0;
  126. data.FpassNumEt = 0;
  127. data.EwasteNumEt = 0;
  128. data.EpassNumEt = 0;
  129. data.ManualPassNum = 0;
  130. data.DisqualifiedNum = 0;
  131. data.ManualFtestingNum = 0;
  132. data.RejectedNum = 0;
  133. data.QualifiedNumAfterCut = 0;
  134. data.RejectNum = 0;
  135. data.FinalNum = 0;
  136. switch (_type)
  137. {
  138. case "1": //管体超声
  139. data.PassNum = data.TestingNum;
  140. data.EpassNum = data.TestingNum;
  141. data.TestingPosition = "0";
  142. break;
  143. case "2": //管体涡流
  144. data.PassNumEt = data.TestingNum;
  145. data.EpassNumEt = data.TestingNum;
  146. data.TestingPosition = "0";
  147. break;
  148. case "3": //管端
  149. data.ManualPassNum = data.TestingNum;
  150. data.FinalNum = data.TestingNum;
  151. data.TestingPosition = "1";
  152. break;
  153. case "4": //通用回报界面 -- 没设置任何配置 默认只回报类型 等级 废品
  154. data.FinalNum = data.TestingNum;
  155. data.TestingPosition = "1";
  156. break;
  157. case "5": //委外特殊情况
  158. data.FinalNum = data.TestingNum;
  159. data.TestingPosition = "0";
  160. break;
  161. case "6": //委外特殊情况
  162. data.FinalNum = data.TestingNum;
  163. data.TestingPosition = "1";
  164. break;
  165. case "7":
  166. data.FinalNum = data.TestingNum;
  167. data.PassNum = data.TestingNum;
  168. data.TestingPosition = "1";
  169. break;
  170. case "8":
  171. data.FinalNum = data.TestingNum;
  172. data.PassNum = data.TestingNum;
  173. data.TestingPosition = "1";
  174. break;
  175. }
  176. }
  177. private string _type = "";
  178. public string Type
  179. {
  180. get { return _type; }
  181. set
  182. {
  183. if (_type == "1" || _type == "8")
  184. {
  185. commonCrackBodyNum1.ultraGrid1.CellChange -= UltraGrid1OnCellChange1;
  186. }
  187. else if (_type == "3")
  188. {
  189. commonCrackBodyNum1.ultraGrid1.CellChange -= UltraGrid1OnCellChange2;
  190. }
  191. _type = value;
  192. foreach (var column in commonCrackBodyNum1.ultraGrid1.DisplayLayout.Bands[0].Columns)
  193. {
  194. column.Hidden = true;
  195. }
  196. List<string> columns = new List<string>();
  197. switch (_type)
  198. {
  199. case "1": //管体超声
  200. columns = new List<string>() { "MachineNo", "PassNum", "DubiousNum", "FtestingNum", "FpassNum", "EwasteNum", "EpassNum", "PendingNum", "TestingTime" };
  201. commonCrackBodyNum1.EditScrap = () =>
  202. {
  203. commonCrackBodyNum1.Value.EwasteNum = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailNum);
  204. commonCrackBodyNum1.Value.EwasteWt = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailWt);
  205. commonCrackBodyNum1.Value.EwasteReason = commonCrackBodyNum1.ScrappedList.Any()
  206. ? commonCrackBodyNum1.ScrappedList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  207. : "/";
  208. // commonCrackBodyNum1.Value.FtestingNum = commonCrackBodyNum1.Value.DubiousNum - commonCrackBodyNum1.Value.EwasteNum;
  209. commonCrackBodyNum1.Value.EpassNum = commonCrackBodyNum1.Value.TestingNum - commonCrackBodyNum1.Value.PendingNum -
  210. commonCrackBodyNum1.Value.EwasteNum;
  211. };
  212. commonCrackBodyNum1.EditSuspicious = () =>
  213. {
  214. commonCrackBodyNum1.Value.DubiousNum = commonCrackBodyNum1.SuspiciousList.Sum(p => p.FailNum);
  215. commonCrackBodyNum1.Value.FtestingReason = commonCrackBodyNum1.SuspiciousList.Any()
  216. ? commonCrackBodyNum1.SuspiciousList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  217. : "/";
  218. commonCrackBodyNum1.Value.FtestingNum = commonCrackBodyNum1.Value.DubiousNum - commonCrackBodyNum1.Value.PendingNum;
  219. commonCrackBodyNum1.Value.FpassNum = commonCrackBodyNum1.Value.FtestingNum - commonCrackBodyNum1.Value.EwasteNum;
  220. commonCrackBodyNum1.Value.PassNum = commonCrackBodyNum1.Value.TestingNum -
  221. commonCrackBodyNum1.Value.DubiousNum;
  222. };
  223. commonCrackBodyNum1.ultraGrid1.CellChange += UltraGrid1OnCellChange1;
  224. break;
  225. case "2": //管体涡流
  226. columns = new List<string>() { "MachineNo", "PassNumEt", "DubiousNumEt", "FtestingNumEt", "FpassNumEt", "EwasteNumEt", "EpassNumEt" };
  227. commonCrackBodyNum1.EditScrap = () =>
  228. {
  229. commonCrackBodyNum1.Value.EwasteNumEt = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailNum);
  230. commonCrackBodyNum1.Value.EwasteWt = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailWt);
  231. commonCrackBodyNum1.Value.EwasteReason = commonCrackBodyNum1.ScrappedList.Any()
  232. ? commonCrackBodyNum1.ScrappedList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  233. : "/";
  234. commonCrackBodyNum1.Value.EpassNumEt = commonCrackBodyNum1.Value.TestingNum -
  235. commonCrackBodyNum1.Value.EwasteNumEt;
  236. };
  237. commonCrackBodyNum1.EditSuspicious = () =>
  238. {
  239. commonCrackBodyNum1.Value.DubiousNumEt = commonCrackBodyNum1.SuspiciousList.Sum(p => p.FailNum);
  240. commonCrackBodyNum1.Value.FtestingReason = commonCrackBodyNum1.SuspiciousList.Any()
  241. ? commonCrackBodyNum1.SuspiciousList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  242. : "/";
  243. commonCrackBodyNum1.Value.FtestingNumEt = commonCrackBodyNum1.Value.DubiousNumEt;
  244. commonCrackBodyNum1.Value.FpassNumEt = commonCrackBodyNum1.Value.DubiousNumEt - commonCrackBodyNum1.Value.EwasteNumEt; ;
  245. };
  246. break;
  247. case "3": //管端
  248. columns = new List<string>() { "MachineNo", "manualPassNum", "DisqualifiedNum", "ManualFtestingNum", "RejectedNum", "QualifiedNumAfterCut","RejectNum", "FinalNum" };
  249. commonCrackBodyNum1.EditScrap = () =>
  250. {
  251. commonCrackBodyNum1.Value.RejectNum = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailNum);
  252. commonCrackBodyNum1.Value.FinalNum = commonCrackBodyNum1.Value.TestingNum -
  253. commonCrackBodyNum1.Value.RejectNum;
  254. commonCrackBodyNum1.Value.QualifiedNumAfterCut = commonCrackBodyNum1.Value.RejectedNum - commonCrackBodyNum1.Value.RejectNum;
  255. commonCrackBodyNum1.Value.EwasteWt = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailWt);
  256. commonCrackBodyNum1.Value.EwasteReason = commonCrackBodyNum1.ScrappedList.Any()
  257. ? commonCrackBodyNum1.ScrappedList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  258. : "/";
  259. };
  260. commonCrackBodyNum1.EditUnpass = () =>
  261. {
  262. commonCrackBodyNum1.Value.DisqualifiedNum = commonCrackBodyNum1.UnPassList.Sum(p => p.FailNum);
  263. commonCrackBodyNum1.Value.ManualPassNum = commonCrackBodyNum1.Value.TestingNum -
  264. commonCrackBodyNum1.Value.DisqualifiedNum;
  265. commonCrackBodyNum1.Value.RejectedNum = commonCrackBodyNum1.Value.DisqualifiedNum - commonCrackBodyNum1.Value.ManualFtestingNum;
  266. commonCrackBodyNum1.Value.QualifiedNumAfterCut = commonCrackBodyNum1.Value.RejectedNum -
  267. commonCrackBodyNum1.Value.RejectNum;
  268. commonCrackBodyNum1.Value.DisqualifiedReason = commonCrackBodyNum1.UnPassList.Any()
  269. ? commonCrackBodyNum1.UnPassList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  270. : "/";
  271. };
  272. commonCrackBodyNum1.ultraGrid1.CellChange += UltraGrid1OnCellChange2;
  273. break;
  274. case "4": //通用回报界面 -- 没设置任何配置 默认只回报类型 等级 废品
  275. columns = new List<string>() { "MachineNo", "TestingType", "TestingGrade", "RejectNum", "FinalNum" };
  276. commonCrackBodyNum1.EditScrap = () =>
  277. {
  278. commonCrackBodyNum1.Value.RejectNum = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailNum);
  279. commonCrackBodyNum1.Value.FinalNum = commonCrackBodyNum1.Value.TestingNum -
  280. commonCrackBodyNum1.Value.RejectNum;
  281. commonCrackBodyNum1.Value.EwasteWt = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailWt);
  282. commonCrackBodyNum1.Value.EwasteReason = commonCrackBodyNum1.ScrappedList.Any()
  283. ? commonCrackBodyNum1.ScrappedList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  284. : "/";
  285. };
  286. break;
  287. case "5": //委外探伤线 管体 特殊处理
  288. columns = new List<string>() { "MachineNo", "ManualFtestingNum", "QualifiedNumAfterCut", "RejectNum", "FinalNum" };
  289. commonCrackBodyNum1.EditScrap = () =>
  290. {
  291. commonCrackBodyNum1.Value.RejectNum = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailNum);
  292. commonCrackBodyNum1.Value.FinalNum = commonCrackBodyNum1.Value.TestingNum -
  293. commonCrackBodyNum1.Value.RejectNum;
  294. commonCrackBodyNum1.Value.EwasteWt = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailWt);
  295. commonCrackBodyNum1.Value.EwasteReason = commonCrackBodyNum1.ScrappedList.Any()
  296. ? commonCrackBodyNum1.ScrappedList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  297. : "/";
  298. };
  299. commonCrackBodyNum1.EditUnpass = () =>
  300. {
  301. commonCrackBodyNum1.Value.DisqualifiedNum = commonCrackBodyNum1.UnPassList.Sum(p => p.FailNum);
  302. commonCrackBodyNum1.Value.ManualPassNum = commonCrackBodyNum1.Value.TestingNum -
  303. commonCrackBodyNum1.Value.DisqualifiedNum;
  304. commonCrackBodyNum1.Value.DisqualifiedReason = commonCrackBodyNum1.UnPassList.Any()
  305. ? commonCrackBodyNum1.UnPassList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  306. : "/";
  307. };
  308. break;
  309. case "6": //委外探伤线 管端 特殊处理
  310. columns = new List<string>() { "MachineNo", "ManualFtestingNum", "QualifiedNumAfterCut", "RejectNum", "FinalNum" };
  311. commonCrackBodyNum1.EditScrap = () =>
  312. {
  313. commonCrackBodyNum1.Value.RejectNum = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailNum);
  314. commonCrackBodyNum1.Value.FinalNum = commonCrackBodyNum1.Value.TestingNum -
  315. commonCrackBodyNum1.Value.RejectNum;
  316. commonCrackBodyNum1.Value.EwasteWt = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailWt);
  317. commonCrackBodyNum1.Value.EwasteReason = commonCrackBodyNum1.ScrappedList.Any()
  318. ? commonCrackBodyNum1.ScrappedList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  319. : "/";
  320. };
  321. commonCrackBodyNum1.EditUnpass = () =>
  322. {
  323. commonCrackBodyNum1.Value.DisqualifiedNum = commonCrackBodyNum1.UnPassList.Sum(p => p.FailNum);
  324. commonCrackBodyNum1.Value.ManualPassNum = commonCrackBodyNum1.Value.TestingNum -
  325. commonCrackBodyNum1.Value.DisqualifiedNum;
  326. commonCrackBodyNum1.Value.DisqualifiedReason = commonCrackBodyNum1.UnPassList.Any()
  327. ? commonCrackBodyNum1.UnPassList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  328. : "/";
  329. };
  330. break;
  331. case "7": //管端 磁粉 天淮
  332. columns = new List<string>() { "MachineNo", "PassNum", "DubiousNum", "FtestingNum", "FpassNum", "QualifiedNumAfterCut", "RejectNum", "FinalNum" };
  333. commonCrackBodyNum1.EditScrap = () =>
  334. {
  335. commonCrackBodyNum1.Value.RejectNum = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailNum);
  336. commonCrackBodyNum1.Value.FinalNum = commonCrackBodyNum1.Value.TestingNum -
  337. commonCrackBodyNum1.Value.RejectNum;
  338. commonCrackBodyNum1.Value.EwasteWt = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailWt);
  339. commonCrackBodyNum1.Value.EwasteReason = commonCrackBodyNum1.ScrappedList.Any()
  340. ? commonCrackBodyNum1.ScrappedList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  341. : "/";
  342. };
  343. commonCrackBodyNum1.EditSuspicious = () =>
  344. {
  345. commonCrackBodyNum1.Value.DubiousNum = commonCrackBodyNum1.SuspiciousList.Sum(p => p.FailNum);
  346. commonCrackBodyNum1.Value.FtestingReason = commonCrackBodyNum1.SuspiciousList.Any()
  347. ? commonCrackBodyNum1.SuspiciousList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  348. : "/";
  349. commonCrackBodyNum1.Value.FtestingNum = commonCrackBodyNum1.Value.DubiousNum - commonCrackBodyNum1.Value.PendingNum;
  350. commonCrackBodyNum1.Value.FpassNum = commonCrackBodyNum1.Value.FtestingNum - commonCrackBodyNum1.Value.EwasteNum;
  351. commonCrackBodyNum1.Value.PassNum = commonCrackBodyNum1.Value.TestingNum -
  352. commonCrackBodyNum1.Value.DubiousNum;
  353. };
  354. break;
  355. case "8": //管体超声
  356. columns = new List<string>() { "MachineNo", "PassNum", "DubiousNum", "FtestingNum", "FpassNum","QualifiedNumAfterCut", "EwasteNum", "EpassNum", "PendingNum", "TestingTime" };
  357. commonCrackBodyNum1.EditScrap = () =>
  358. {
  359. commonCrackBodyNum1.Value.EwasteNum = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailNum);
  360. commonCrackBodyNum1.Value.EwasteWt = commonCrackBodyNum1.ScrappedList.Sum(p => p.FailWt);
  361. commonCrackBodyNum1.Value.EwasteReason = commonCrackBodyNum1.ScrappedList.Any()
  362. ? commonCrackBodyNum1.ScrappedList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  363. : "/";
  364. // commonCrackBodyNum1.Value.FtestingNum = commonCrackBodyNum1.Value.DubiousNum - commonCrackBodyNum1.Value.EwasteNum;
  365. commonCrackBodyNum1.Value.EpassNum = commonCrackBodyNum1.Value.TestingNum - commonCrackBodyNum1.Value.PendingNum -
  366. commonCrackBodyNum1.Value.EwasteNum;
  367. };
  368. commonCrackBodyNum1.EditSuspicious = () =>
  369. {
  370. commonCrackBodyNum1.Value.DubiousNum = commonCrackBodyNum1.SuspiciousList.Sum(p => p.FailNum);
  371. commonCrackBodyNum1.Value.FtestingReason = commonCrackBodyNum1.SuspiciousList.Any()
  372. ? commonCrackBodyNum1.SuspiciousList.Select(p => p.FailTypeName).Distinct().Aggregate((a, b) => (string.IsNullOrEmpty(a) ? "" : (a + ",")) + b)
  373. : "/";
  374. commonCrackBodyNum1.Value.FtestingNum = commonCrackBodyNum1.Value.DubiousNum - commonCrackBodyNum1.Value.PendingNum;
  375. commonCrackBodyNum1.Value.FpassNum = commonCrackBodyNum1.Value.FtestingNum - commonCrackBodyNum1.Value.EwasteNum;
  376. commonCrackBodyNum1.Value.PassNum = commonCrackBodyNum1.Value.TestingNum -
  377. commonCrackBodyNum1.Value.DubiousNum;
  378. };
  379. commonCrackBodyNum1.ultraGrid1.CellChange += UltraGrid1OnCellChange1;
  380. break;
  381. }
  382. for (int i = 0; i < columns.Count; i++)
  383. {
  384. commonCrackBodyNum1.ultraGrid1.DisplayLayout.Bands[0].Columns[columns[i]].RowLayoutColumnInfo
  385. .OriginX = i*2;
  386. commonCrackBodyNum1.ultraGrid1.DisplayLayout.Bands[0].Columns[columns[i]].Hidden = false;
  387. }
  388. }
  389. }
  390. private void UltraGrid1OnCellChange1(object sender, CellEventArgs cellEventArgs)
  391. {
  392. if (_type != "1") return;
  393. commonCrackBodyNum1.Value.EpassNum = commonCrackBodyNum1.Value.TestingNum -
  394. commonCrackBodyNum1.Value.PendingNum -
  395. commonCrackBodyNum1.Value.EwasteNum;
  396. }
  397. private void UltraGrid1OnCellChange2(object sender, CellEventArgs e)
  398. {
  399. if (_type != "3") return;
  400. if (e.Cell.Column.Key == "ManualFtestingNum")
  401. {
  402. commonCrackBodyNum1.Value.RejectedNum = commonCrackBodyNum1.Value.DisqualifiedNum -
  403. commonCrackBodyNum1.Value.ManualFtestingNum;
  404. commonCrackBodyNum1.Value.RejectedNum = commonCrackBodyNum1.Value.RejectedNum < 0
  405. ? 0
  406. : commonCrackBodyNum1.Value.RejectedNum;
  407. commonCrackBodyNum1.Value.QualifiedNumAfterCut = commonCrackBodyNum1.Value.RejectedNum -
  408. commonCrackBodyNum1.Value.RejectNum;
  409. }
  410. if (e.Cell.Column.Key == "RejectedNum")
  411. {
  412. commonCrackBodyNum1.Value.RejectedNum = commonCrackBodyNum1.Value.DisqualifiedNum -
  413. commonCrackBodyNum1.Value.ManualFtestingNum;
  414. commonCrackBodyNum1.Value.RejectedNum = commonCrackBodyNum1.Value.RejectedNum < 0
  415. ? 0
  416. : commonCrackBodyNum1.Value.RejectedNum;
  417. commonCrackBodyNum1.Value.QualifiedNumAfterCut = commonCrackBodyNum1.Value.RejectedNum -
  418. commonCrackBodyNum1.Value.RejectNum;
  419. }
  420. }
  421. public int ContextHight
  422. {
  423. get { return commonCrackPara1.Height + commonCrackBodyNum1.ultraGrid1.Height; }
  424. }
  425. }
  426. }