TestingResultDetailComm.cs 14 KB

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