PlanRotexpFaceControl.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  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 Infragistics.Win.UltraWinGrid;
  11. using Infragistics.Win.UltraWinDataSource;
  12. using Core.Mes.Client.Comm.Control;
  13. using com.steering.mes.mcp.entity;
  14. using Core.Mes.Client.Comm.Server;
  15. using Core.Mes.Client.Comm.Tool;
  16. namespace Core.StlMes.Client.Mcp.Control
  17. {
  18. public partial class PlanRotexpFaceControl : UserControl
  19. {
  20. private string num = "";
  21. private string wt = "";
  22. private VrpRotexpFaceMEntity _load = new VrpRotexpFaceMEntity();
  23. public VrpRotexpFaceMEntity Value
  24. {
  25. get { return _load; }
  26. set
  27. {
  28. if(value != null)
  29. {
  30. this._load = value;
  31. UpdateData();
  32. }
  33. }
  34. }
  35. private Infragistics.Win.UltraWinGrid.UltraGrid _grid = null;
  36. /// <summary>
  37. /// 编辑区GRID
  38. /// </summary>
  39. public Infragistics.Win.UltraWinGrid.UltraGrid Grid
  40. {
  41. get { return _grid; }
  42. }
  43. public PlanRotexpFaceControl()
  44. {
  45. InitializeComponent();
  46. GridHelper.InitCardGrid(ultraDataSource1, ultraGrid1);
  47. _grid = this.ultraGrid1;
  48. }
  49. /// <summary>
  50. /// 刷新控件数据显示
  51. /// </summary>
  52. public void UpdateData()
  53. {
  54. if (_load != null)
  55. {
  56. ultraDataSource1.Rows[0]["PRO_NUM"] = _load.ProNum;
  57. ultraDataSource1.Rows[0]["PRO_WT"] = _load.ProWt;
  58. ultraDataSource1.Rows[0]["ACC_NUM"] = _load.AccNum;
  59. ultraDataSource1.Rows[0]["ACC_WT"] = _load.AccWt;
  60. /* ultraDataSource1.Rows[0]["FAIL_NUM"] = _load.FailNum;
  61. ultraDataSource1.Rows[0]["FAIL_WT"] = _load.FailWt;*/
  62. ultraDataSource1.Rows[0]["FAIL_NUM"] = string.IsNullOrEmpty(_load.FailNum) ? "0" : _load.FailNum;
  63. ultraDataSource1.Rows[0]["FAIL_WT"] = string.IsNullOrEmpty(_load.FailWt) ? "0" : _load.FailWt;
  64. ultraDataSource1.Rows[0]["FAIL_LEN"] = _load.FailLen;
  65. ultraDataSource1.Rows[0]["PRODUCER"] = _load.Producer;
  66. ultraDataSource1.Rows[0]["PRODUCER_TIME"] = _load.ProducerTime;
  67. ultraDataSource1.Rows[0]["LOAD_TIME"] = _load.LoadTime;
  68. ultraDataSource1.Rows[0]["LOAD_SHIFT"] = _load.LoadShift;
  69. ultraDataSource1.Rows[0]["LOAD_GROUP"] = _load.LoadGroup;
  70. ultraDataSource1.Rows[0]["LOAD_USER"] = _load.LoadUser;
  71. ultraDataSource1.Rows[0]["PRO_LEN"] = _load.ProLen;
  72. num = _load.ProNum;
  73. wt = _load.ProWt;
  74. }
  75. else
  76. {
  77. GridHelper.InitCardGrid(ultraDataSource1,ultraGrid1);
  78. }
  79. this.ultraGrid1.UpdateData();
  80. }
  81. /// <summary>
  82. /// 控件编辑后更新已修改数据
  83. /// </summary>
  84. public void CompleteEdit()
  85. {
  86. ultraGrid1.UpdateData();
  87. }
  88. private void ultraGrid1_AfterCellUpdate(object sender, CellEventArgs e)
  89. {
  90. try
  91. {
  92. if (e.Cell.Column.Key.Equals("PRO_NUM"))
  93. {
  94. Value.ProNum = e.Cell.Value.ToString();
  95. }
  96. if (e.Cell.Column.Key.Equals("PRO_WT"))
  97. {
  98. Value.ProWt = e.Cell.Value.ToString();
  99. }
  100. if (e.Cell.Column.Key.Equals("ACC_NUM"))
  101. {
  102. Value.AccNum =e.Cell.Value.ToString();
  103. }
  104. if (e.Cell.Column.Key.Equals("ACC_WT"))
  105. {
  106. Value.AccWt =e.Cell.Value.ToString();
  107. }
  108. if (e.Cell.Column.Key.Equals("FAIL_NUM"))
  109. {
  110. Value.FailNum = e.Cell.Value.ToString();
  111. }
  112. if (e.Cell.Column.Key.Equals("FAIL_WT"))
  113. {
  114. Value.FailWt = e.Cell.Value.ToString();
  115. }
  116. if (e.Cell.Column.Key.Equals("FAIL_LEN"))
  117. {
  118. Value.FailLen = e.Cell.Value.ToString();
  119. }
  120. if (e.Cell.Column.Key.Equals("PRODUCER"))
  121. {
  122. Value.Producer = e.Cell.Value.ToString();
  123. }
  124. if (e.Cell.Column.Key.Equals("PRODUCER_TIME"))
  125. {
  126. Value.ProducerTime = e.Cell.Value.ToString();
  127. }
  128. if (e.Cell.Column.Key.Equals("LOAD_TIME"))
  129. {
  130. Value.LoadTime = e.Cell.Value.ToString();
  131. }
  132. if (e.Cell.Column.Key.Equals("LOAD_SHIFT"))
  133. {
  134. Value.LoadShift = e.Cell.Value.ToString();
  135. }
  136. if (e.Cell.Column.Key.Equals("LOAD_GROUP"))
  137. {
  138. Value.LoadGroup = e.Cell.Value.ToString();
  139. }
  140. if (e.Cell.Column.Key.Equals("LOAD_USER"))
  141. {
  142. Value.LoadUser = e.Cell.Value.ToString();
  143. }
  144. if (e.Cell.Column.Key.Equals("PRO_LEN"))
  145. {
  146. Value.ProLen = e.Cell.Value.ToString();
  147. }
  148. }
  149. catch (Exception ex)
  150. {
  151. }
  152. }
  153. /// <summary>
  154. /// 验证格试
  155. /// </summary>
  156. public bool ValidInput1()
  157. {
  158. ultraGrid1.UpdateData();
  159. string PRO_NUM = ultraDataSource1.Rows[0]["PRO_NUM"].ToString();
  160. string PRO_WT = ultraDataSource1.Rows[0]["PRO_WT"].ToString();
  161. string ACC_NUM = ultraDataSource1.Rows[0]["ACC_NUM"].ToString();
  162. string ACC_WT = ultraDataSource1.Rows[0]["ACC_WT"].ToString();
  163. string FAIL_NUM = ultraDataSource1.Rows[0]["FAIL_NUM"].ToString();
  164. string FAIL_WT = ultraDataSource1.Rows[0]["FAIL_WT"].ToString();
  165. if (!StringUtil.IsInt(PRO_NUM))
  166. {
  167. MessageBox.Show("合格支数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  168. return false;
  169. }
  170. if (!StringUtil.IsDouble(PRO_WT))
  171. {
  172. MessageBox.Show("合格重量 请输入重量", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  173. return false;
  174. }
  175. if (Convert.ToInt32(PRO_NUM == "" ? "0" : PRO_NUM) != Convert.ToInt32(ACC_NUM == "" ? "0" : ACC_NUM) +
  176. Convert.ToInt32(FAIL_NUM == "" ? "0" : FAIL_NUM))
  177. {
  178. MessageBox.Show("作业支数=合格支数+废品支数 请查验", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  179. return false;
  180. }
  181. //if (Convert.ToDouble(PRO_WT == "" ? "0.0" : PRO_WT) != Convert.ToInt32(ACC_WT == "" ? "0.0" : ACC_WT) +
  182. // Convert.ToDouble(FAIL_WT == "" ? "0.0" : FAIL_WT))
  183. //{
  184. // MessageBox.Show("作业重量=合格重量+废品重量 请查验", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  185. // return false;
  186. //}
  187. return true;
  188. }
  189. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  190. {
  191. ultraGrid1.UpdateData();
  192. if (e.Cell.Column.Key.Equals("FAIL_NUM"))//动这个字段会进下面的内容里
  193. {
  194. if (ultraDataSource1.Rows[0]["FAIL_NUM"].ToString().Equals(""))
  195. {
  196. ultraDataSource1.Rows[0]["FAIL_NUM"] = "0";
  197. }
  198. if (ultraDataSource1.Rows[0]["PRO_NUM"].ToString().Equals(""))
  199. {
  200. ultraDataSource1.Rows[0]["PRO_NUM"] = "0";
  201. }
  202. double actnum = double.Parse(ultraDataSource1.Rows[0]["FAIL_NUM"].ToString());
  203. if (actnum > int.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString()))
  204. {
  205. MessageBox.Show("废品支数不能大于加工支数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  206. e.Cell.Row.Cells["FAIL_NUM"].Value = num.ToString();
  207. e.Cell.Row.Cells["FAIL_WT"].Value = (double.Parse(ultraDataSource1.Rows[0]["FAIL_NUM"].ToString()) * (double.Parse(wt)) / (double.Parse(num))).ToString("f3");
  208. return;
  209. }
  210. double actwt = 0;
  211. if (!ultraDataSource1.Rows[0]["PRO_WT"].ToString().Equals("0"))
  212. {
  213. if (num != null && !num.Equals("0"))
  214. {
  215. actwt = double.Parse(ultraDataSource1.Rows[0]["FAIL_NUM"].ToString()) * (double.Parse(wt)) / (double.Parse(num));
  216. }
  217. }
  218. ultraDataSource1.Rows[0]["FAIL_WT"] = actwt.ToString("f3");
  219. Value.FailWt = ultraDataSource1.Rows[0]["FAIL_WT"].ToString();
  220. double failnum = double.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString()) - double.Parse(ultraDataSource1.Rows[0]["FAIL_NUM"].ToString());
  221. double failwt = failnum * ((double.Parse(ultraDataSource1.Rows[0]["PRO_WT"].ToString())) / (double.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString())));
  222. ultraDataSource1.Rows[0]["ACC_NUM"] = failnum.ToString();
  223. Value.AccNum = ultraDataSource1.Rows[0]["ACC_NUM"].ToString();
  224. ultraDataSource1.Rows[0]["ACC_WT"] = failwt.ToString("f3");
  225. Value.AccWt = ultraDataSource1.Rows[0]["ACC_WT"].ToString();
  226. //double faillen = double.Parse(ultraDataSource1.Rows[0]["PRO_WT"].ToString()) - actwt;
  227. //ultraDataSource1.Rows[0]["FAIL_LEN"] = faillen;
  228. //Value.FailLen = faillen.ToString();
  229. }
  230. if (e.Cell.Column.Key.Equals("PRO_NUM"))//动这个字段会进下面的内容里
  231. {
  232. if (ultraDataSource1.Rows[0]["PRO_NUM"].ToString().Equals(""))
  233. {
  234. ultraDataSource1.Rows[0]["PRO_NUM"] = "0";
  235. }
  236. double actwt = 0;
  237. if (!ultraDataSource1.Rows[0]["PRO_NUM"].ToString().Equals("0"))
  238. {
  239. if (num != null && !num.Equals("0"))
  240. {
  241. actwt = double.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString()) * (double.Parse(wt)) / (double.Parse(num));
  242. }
  243. }
  244. double actnum = double.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString());
  245. ultraDataSource1.Rows[0]["PRO_WT"] = actwt.ToString("f3");
  246. Value.ProWt = ultraDataSource1.Rows[0]["PRO_WT"].ToString();
  247. ultraDataSource1.Rows[0]["ACC_NUM"] = ultraDataSource1.Rows[0]["PRO_NUM"].ToString();
  248. Value.AccNum = ultraDataSource1.Rows[0]["ACC_NUM"].ToString();
  249. ultraDataSource1.Rows[0]["ACC_WT"] = ultraDataSource1.Rows[0]["PRO_WT"].ToString();
  250. Value.AccWt = ultraDataSource1.Rows[0]["ACC_WT"].ToString();
  251. ultraDataSource1.Rows[0]["FAIL_NUM"] = "0";
  252. }
  253. }
  254. }
  255. }