TestingResultDetailComm2.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  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 Infragistics.Win;
  10. using Core.Mes.Client.Comm.Control;
  11. using Infragistics.Win.UltraWinGrid;
  12. using com.steering.mes.zgmil.entity;
  13. namespace Core.StlMes.Client.ZGMil.ResultConrtrol
  14. {
  15. public partial class TestingResultDetailComm2 : UserControl
  16. {
  17. public TestingResultDetailComm2()
  18. {
  19. InitializeComponent();
  20. }
  21. private void TestingResultDetailComm2_Load(object sender, EventArgs e)
  22. {
  23. GridHelper.InitCardGrid(ultraDataSourceDetail, ultraGridDetail);
  24. GridHelper.InitCardGrid(ultraDataSourceDetaildes1, ultraGridDetailDes1);
  25. GridHelper.InitCardGrid(ultraDataSourceDetaildes2, ultraGridDetailDes2);
  26. ValueList va1 = new ValueList();
  27. va1.ValueListItems.Add("");
  28. va1.ValueListItems.Add("LOD");
  29. va1.ValueListItems.Add("LID");
  30. va1.ValueListItems.Add("TOD");
  31. va1.ValueListItems.Add("TID");
  32. this.ultraGridDetailDes1.DisplayLayout.Bands[0].Columns["reason"].ValueList = va1;
  33. ValueList va2 = new ValueList();
  34. va2.ValueListItems.Add("");
  35. va2.ValueListItems.Add("内折");
  36. va2.ValueListItems.Add("内结疤");
  37. va2.ValueListItems.Add("内划伤");
  38. va2.ValueListItems.Add("拉凹");
  39. va2.ValueListItems.Add("内棱");
  40. va2.ValueListItems.Add("取样废");
  41. va2.ValueListItems.Add("内壁伤");
  42. va2.ValueListItems.Add("内鼓包");
  43. va2.ValueListItems.Add("外折");
  44. va2.ValueListItems.Add("外结疤");
  45. va2.ValueListItems.Add("外划伤");
  46. va2.ValueListItems.Add("裂纹");
  47. va2.ValueListItems.Add("靑线");
  48. va2.ValueListItems.Add("轧折");
  49. va2.ValueListItems.Add("碰伤");
  50. va2.ValueListItems.Add("孔洞");
  51. va2.ValueListItems.Add("其他");
  52. this.ultraGridDetailDes2.DisplayLayout.Bands[0].Columns["reason"].ValueList = va2;
  53. this.ultraGridDetail.Rows[0].Cells["Btn1"].Value = "保存";
  54. this.ultraGridDetail.Rows[0].Cells["Btn2"].Value = "回退";
  55. this.ultraGridDetail.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  56. this.ultraGridDetailDes1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  57. this.ultraGridDetailDes2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  58. this.UltraGridDetail.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  59. this.UltraGridDetailDes1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  60. this.UltraGridDetailDes2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  61. }
  62. private bool isCellSelect = false;
  63. public bool IsCellSelect
  64. {
  65. get { return isCellSelect; }
  66. set { isCellSelect = value; }
  67. }
  68. public void Init(string plineCode)
  69. {
  70. ValueList va1 = new ValueList();
  71. ValueList va2 = new ValueList();
  72. if (plineCode != null)
  73. {
  74. if (plineCode.Equals("C009") || plineCode.Equals("C017"))
  75. {
  76. va1.ValueListItems.Add("");
  77. va1.ValueListItems.Add("LOD");
  78. va1.ValueListItems.Add("LID");
  79. va1.ValueListItems.Add("TOD");
  80. va1.ValueListItems.Add("TID");
  81. va2.ValueListItems.Add("");
  82. va2.ValueListItems.Add("内折");
  83. va2.ValueListItems.Add("内结疤");
  84. va2.ValueListItems.Add("内划伤");
  85. va2.ValueListItems.Add("拉凹");
  86. va2.ValueListItems.Add("内棱");
  87. va2.ValueListItems.Add("取样废");
  88. va2.ValueListItems.Add("内壁伤");
  89. va2.ValueListItems.Add("内鼓包");
  90. va2.ValueListItems.Add("外折");
  91. va2.ValueListItems.Add("外结疤");
  92. va2.ValueListItems.Add("外划伤");
  93. va2.ValueListItems.Add("裂纹");
  94. va2.ValueListItems.Add("靑线");
  95. va2.ValueListItems.Add("轧折");
  96. va2.ValueListItems.Add("碰伤");
  97. va2.ValueListItems.Add("孔洞");
  98. va2.ValueListItems.Add("其他");
  99. }
  100. else if (plineCode.Equals("C010"))
  101. {
  102. va1.ValueListItems.Add("孔洞");
  103. va1.ValueListItems.Add("外折");
  104. va1.ValueListItems.Add("划伤");
  105. va1.ValueListItems.Add("内伤");
  106. va1.ValueListItems.Add("误报");
  107. va1.ValueListItems.Add("");
  108. va2.ValueListItems.Add("孔洞");
  109. va2.ValueListItems.Add("外折");
  110. va2.ValueListItems.Add("内伤");
  111. va2.ValueListItems.Add("");
  112. }
  113. }
  114. this.ultraGridDetailDes1.DisplayLayout.Bands[0].Columns["reason"].ValueList = va1;
  115. this.ultraGridDetailDes2.DisplayLayout.Bands[0].Columns["reason"].ValueList = va2;
  116. }
  117. /// <summary>
  118. /// 1#台探伤明细
  119. /// </summary>
  120. private MilTestingResultDetailEntity detail;
  121. /// <summary>
  122. /// 1#台探伤明细
  123. /// </summary>
  124. public MilTestingResultDetailEntity Detail
  125. {
  126. get { return detail; }
  127. set
  128. {
  129. detail = value;
  130. UpdateDetail();
  131. }
  132. }
  133. public void UpdateDetail()
  134. {
  135. if (detail != null)
  136. {
  137. //2#台剔除支数
  138. this.ultraDataSourceDetail.Rows[0]["scrapNum2"] = string.IsNullOrEmpty(detail.ScrapNum2.ToString()) ? "0" : detail.ScrapNum2;
  139. //2#台合格支数
  140. this.ultraDataSourceDetail.Rows[0]["qualifiedNum2"] = string.IsNullOrEmpty(detail.QualifiedNum2.ToString()) ? "0" : detail.QualifiedNum2;
  141. //2#台复探支数
  142. this.ultraDataSourceDetail.Rows[0]["reinspectionNum2"] = string.IsNullOrEmpty(detail.ReinspectionNum2.ToString()) ? "0" : detail.ReinspectionNum2;
  143. //2#台复探合格支数
  144. this.ultraDataSourceDetail.Rows[0]["reinspectionQualifiedNum2"] = string.IsNullOrEmpty(detail.ReinspectionQualifiedNum2.ToString()) ? "0" : detail.ReinspectionQualifiedNum2;
  145. //2#台下线支数
  146. this.ultraDataSourceDetail.Rows[0]["offlineNum2"] = string.IsNullOrEmpty(detail.OfflineNum2.ToString()) ? "0" : detail.OfflineNum2;
  147. //2#台返线支数
  148. this.ultraDataSourceDetail.Rows[0]["backlineNum2"] = string.IsNullOrEmpty(detail.BacklineNum2.ToString()) ? "0" : detail.BacklineNum2;
  149. //2#台检测支数
  150. this.ultraDataSourceDetail.Rows[0]["detectionNum2"] = string.IsNullOrEmpty(detail.DetectionNum2.ToString()) ? "0" : detail.DetectionNum2;
  151. //2#台可疑品支数
  152. this.ultraDataSourceDetail.Rows[0]["suspectProductNum2"] = string.IsNullOrEmpty(detail.SuspectProductNum2.ToString()) ? "0" : detail.SuspectProductNum2;
  153. //2#台子管再切支数
  154. this.ultraDataSourceDetail.Rows[0]["recutNum2"] = string.IsNullOrEmpty(detail.RecutNum2.ToString()) ? "0" : detail.RecutNum2;
  155. }
  156. }
  157. /// <summary>
  158. /// 1#台可疑明细
  159. /// </summary>
  160. private List<MilTestingResultDetailDesEntity> listdes1;
  161. public List<MilTestingResultDetailDesEntity> Listdes1
  162. {
  163. get { return listdes1; }
  164. set
  165. {
  166. listdes1 = value;
  167. UpdateDetaildes1();
  168. }
  169. }
  170. public void UpdateDetaildes1()
  171. {
  172. if (listdes1 != null)
  173. {
  174. if (listdes1.Count > 0)
  175. {
  176. ultraDataSourceDetaildes1.Rows.Clear();
  177. for (int i = 0; i < listdes1.Count; i++)
  178. {
  179. //if (ultraDataSourceDetaildes1.Rows.Count < listdes1.Count)
  180. //{
  181. ultraDataSourceDetaildes1.Rows.Add();
  182. MilTestingResultDetailDesEntity detaildse = listdes1[i];
  183. this.ultraDataSourceDetaildes1.Rows[i]["Check"] = "True";
  184. this.ultraDataSourceDetaildes1.Rows[i]["reason"] = detaildse.Reason.ToString2();
  185. this.ultraDataSourceDetaildes1.Rows[i]["reasonNumber"] = detaildse.ReasonNumber.ToString3();
  186. // }
  187. }
  188. }
  189. else
  190. {
  191. this.ultraDataSourceDetaildes1.Rows.Clear();
  192. }
  193. }
  194. }
  195. /// <summary>
  196. /// 1#台剔除明细
  197. /// </summary>
  198. public List<MilTestingResultDetailDesEntity> listdes2;
  199. public List<MilTestingResultDetailDesEntity> Listdes2
  200. {
  201. get { return listdes2; }
  202. set
  203. {
  204. listdes2 = value;
  205. UpdateDetaildes2();
  206. }
  207. }
  208. public void UpdateDetaildes2()
  209. {
  210. if (listdes2 != null)
  211. {
  212. if (listdes2.Count > 0)
  213. {
  214. ultraDataSourceDetaildes2.Rows.Clear();
  215. for (int i = 0; i < listdes2.Count; i++)
  216. {
  217. //if (ultraDataSourceDetaildes2.Rows.Count < listdes1.Count)
  218. //{
  219. ultraDataSourceDetaildes2.Rows.Add();
  220. MilTestingResultDetailDesEntity detaildse = listdes2[i];
  221. this.ultraDataSourceDetaildes2.Rows[i]["Check"] = "True";
  222. this.ultraDataSourceDetaildes2.Rows[i]["reason"] = detaildse.Reason.ToString2();
  223. this.ultraDataSourceDetaildes2.Rows[i]["reasonNumber"] = detaildse.ReasonNumber.ToString3();
  224. //}
  225. }
  226. }
  227. else
  228. {
  229. this.ultraDataSourceDetaildes2.Rows.Clear();
  230. }
  231. }
  232. }
  233. private void ultraGridDetail_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  234. {
  235. this.isCellSelect = true;
  236. this.ultraGridDetail.UpdateData();
  237. this.ultraGridDetailDes1.UpdateData();
  238. this.ultraGridDetailDes2.UpdateData();
  239. UltraGrid ug = (UltraGrid)sender;
  240. if (e.Cell.Column.Key == "Check")
  241. {
  242. if (Convert.ToBoolean(e.Cell.Value))
  243. {
  244. for (int i = 0; i < e.Cell.Row.Cells.Count; i++)
  245. {
  246. e.Cell.Row.Cells[i].Activation = Activation.AllowEdit;
  247. }
  248. }
  249. else
  250. {
  251. e.Cell.Row.Delete();
  252. }
  253. }
  254. if (e.Cell.Column.Key == "reason")
  255. {
  256. if (ug.Name.Equals("ultraGridDetailDes1"))
  257. {
  258. if (e.Cell.Value == "")
  259. {
  260. MessageBox.Show("您未选择任何选项,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  261. return;
  262. }
  263. int temp = 0;
  264. for (int i = 0; i < ug.Rows.Count(); i++)
  265. {
  266. UltraGridRow ugr = ug.Rows[i];
  267. if (e.Cell.Value.ToString().Equals(ugr.Cells["reason"].Value.ToString()))
  268. {
  269. temp = temp + 1;
  270. }
  271. }
  272. if (temp > 1)
  273. {
  274. MessageBox.Show(e.Cell.Value.ToString() + "选项已被选取,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  275. e.Cell.Row.Cells["reason"].Value = "";
  276. }
  277. }
  278. if (ug.Name.Equals("ultraGridDetailDes2"))
  279. {
  280. for (int i = 0; i < ug.Rows.Count(); i++)
  281. {
  282. if (e.Cell.Value == "")
  283. {
  284. MessageBox.Show("您未选择任何选项,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  285. return;
  286. }
  287. UltraGridRow ugr = ug.Rows[i];
  288. }
  289. int temp = 0;
  290. for (int i = 0; i < ug.Rows.Count(); i++)
  291. {
  292. UltraGridRow ugr = ug.Rows[i];
  293. if (e.Cell.Value.ToString().Equals(ugr.Cells["reason"].Value.ToString()))
  294. {
  295. temp = temp + 1;
  296. }
  297. }
  298. if (temp > 1)
  299. {
  300. MessageBox.Show(e.Cell.Value.ToString() + "选项已被选取,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  301. e.Cell.Row.Cells["reason"].Value = "";
  302. }
  303. }
  304. }
  305. if (e.Cell.Column.Key == "detectionNum2" || e.Cell.Column.Key == "scrapNum2")
  306. {
  307. if ((!string.IsNullOrEmpty(ultraGridDetail.Rows[0].Cells["detectionNum2"].Value.ToString3())) && (!string.IsNullOrEmpty(ultraGridDetail.Rows[0].Cells["scrapNum2"].Value.ToString3())))
  308. {
  309. if (int.Parse(ultraGridDetail.Rows[0].Cells["detectionNum2"].Value.ToString3()) < int.Parse(ultraGridDetail.Rows[0].Cells["scrapNum2"].Value.ToString3()))
  310. {
  311. MessageBox.Show("您输入的剔除支数大于检测支数,请确认后重新输入", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  312. ultraGridDetail.Rows[0].Cells["scrapNum2"].Value = "0";
  313. }
  314. else
  315. {
  316. ultraGridDetail.Rows[0].Cells["qualifiedNum2"].Value = int.Parse(ultraGridDetail.Rows[0].Cells["detectionNum2"].Value.ToString3()) - int.Parse(ultraGridDetail.Rows[0].Cells["scrapNum2"].Value.ToString3());
  317. }
  318. }
  319. }
  320. }
  321. }
  322. }