PlanJumpControl.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  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 PlanJumpControl : UserControl
  19. {
  20. private string num = "";
  21. private string wt = "";
  22. public static string pronum = "";
  23. public static string prowt = "";
  24. private VrpJumpingupFaceMEntity _load = new VrpJumpingupFaceMEntity();
  25. public VrpJumpingupFaceMEntity Value
  26. {
  27. get { return _load; }
  28. set
  29. {
  30. if(value != null)
  31. {
  32. this._load = value;
  33. UpdateData();
  34. }
  35. }
  36. }
  37. private Infragistics.Win.UltraWinGrid.UltraGrid _grid = null;
  38. /// <summary>
  39. /// 编辑区GRID
  40. /// </summary>
  41. public Infragistics.Win.UltraWinGrid.UltraGrid Grid
  42. {
  43. get { return _grid; }
  44. }
  45. public PlanJumpControl()
  46. {
  47. InitializeComponent();
  48. GridHelper.InitCardGrid(ultraDataSource1, ultraGrid1);
  49. _grid = this.ultraGrid1;
  50. }
  51. /// <summary>
  52. /// 刷新控件数据显示
  53. /// </summary>
  54. public void UpdateData()
  55. {
  56. if (_load != null)
  57. {
  58. ultraDataSource1.Rows[0]["PRO_NUM"] = _load.ProNum;
  59. ultraDataSource1.Rows[0]["PRO_WT"] = _load.ProWt;
  60. ultraDataSource1.Rows[0]["FAIL_NUM"] = string.IsNullOrEmpty(_load.FailNum) ? "0" : _load.FailNum;
  61. ultraDataSource1.Rows[0]["FAIL_WT"] = string.IsNullOrEmpty(_load.FailWt) ? "0" : _load.FailWt;
  62. ultraDataSource1.Rows[0]["ACC_NUM"] = _load.AccNum;
  63. ultraDataSource1.Rows[0]["ACC_WT"] = _load.AccWt;
  64. ultraDataSource1.Rows[0]["LEU_NUM"] = _load.LeuNum;
  65. ultraDataSource1.Rows[0]["D4_NUM"] = _load.D4Num;
  66. ultraDataSource1.Rows[0]["ELLIP_NUM"] = _load.EllipNum;
  67. ultraDataSource1.Rows[0]["UPSETTING_NUM"] = _load.UpsettingNum;
  68. ultraDataSource1.Rows[0]["CRACK_NUM"] = _load.CrackNum;
  69. ultraDataSource1.Rows[0]["AIR_NUM"] = _load.AirNum;
  70. ultraDataSource1.Rows[0]["NOTCH"] = _load.Notch;
  71. ultraDataSource1.Rows[0]["OTHER"] = _load.Other;
  72. ultraDataSource1.Rows[0]["PRODUCER"] = _load.Producer;
  73. ultraDataSource1.Rows[0]["PRODUCER_TIME"] = _load.ProducerTime;
  74. ultraDataSource1.Rows[0]["LOAD_TIME"] = _load.LoadTime;
  75. ultraDataSource1.Rows[0]["LOAD_SHIFT"] = _load.LoadShift;
  76. ultraDataSource1.Rows[0]["LOAD_GROUP"] = _load.LoadGroup;
  77. ultraDataSource1.Rows[0]["LOAD_USER"] = _load.LoadUser;
  78. num = _load.ProNum;
  79. wt = _load.ProWt;
  80. pronum = ultraDataSource1.Rows[0]["PRO_NUM"].ToString();
  81. prowt = ultraDataSource1.Rows[0]["PRO_WT"].ToString();
  82. }
  83. else
  84. {
  85. GridHelper.InitCardGrid(ultraDataSource1,ultraGrid1);
  86. }
  87. this.ultraGrid1.UpdateData();
  88. }
  89. /// <summary>
  90. /// 控件编辑后更新已修改数据
  91. /// </summary>
  92. public void CompleteEdit()
  93. {
  94. ultraGrid1.UpdateData();
  95. }
  96. private void ultraGrid1_AfterCellUpdate(object sender, CellEventArgs e)
  97. {
  98. try
  99. {
  100. if (e.Cell.Column.Key.Equals("PRO_NUM"))
  101. {
  102. Value.ProNum = e.Cell.Value.ToString();
  103. }
  104. if (e.Cell.Column.Key.Equals("PRO_WT"))
  105. {
  106. Value.ProWt = e.Cell.Value.ToString();
  107. }
  108. if (e.Cell.Column.Key.Equals("ACC_NUM"))
  109. {
  110. Value.AccNum = e.Cell.Value.ToString();
  111. }
  112. if (e.Cell.Column.Key.Equals("ACC_WT"))
  113. {
  114. Value.AccWt = e.Cell.Value.ToString();
  115. }
  116. if (e.Cell.Column.Key.Equals("FAIL_NUM"))
  117. {
  118. Value.FailNum = e.Cell.Value.ToString();
  119. }
  120. if (e.Cell.Column.Key.Equals("FAIL_WT"))
  121. {
  122. Value.FailWt = e.Cell.Value.ToString();
  123. }
  124. if (e.Cell.Column.Key.Equals("LEU_NUM"))
  125. {
  126. Value.LeuNum = e.Cell.Value.ToString();
  127. }
  128. if (e.Cell.Column.Key.Equals("D4_NUM"))
  129. {
  130. Value.D4Num = e.Cell.Value.ToString();
  131. }
  132. if (e.Cell.Column.Key.Equals("ELLIP_NUM"))
  133. {
  134. Value.EllipNum = e.Cell.Value.ToString();
  135. }
  136. if (e.Cell.Column.Key.Equals("UPSETTING_NUM"))
  137. {
  138. Value.UpsettingNum = e.Cell.Value.ToString();
  139. }
  140. if (e.Cell.Column.Key.Equals("CRACK_NUM"))
  141. {
  142. Value.CrackNum = e.Cell.Value.ToString();
  143. }
  144. if (e.Cell.Column.Key.Equals("AIR_NUM"))
  145. {
  146. Value.AirNum = e.Cell.Value.ToString();
  147. }
  148. if (e.Cell.Column.Key.Equals("NOTCH"))
  149. {
  150. Value.Notch = e.Cell.Value.ToString();
  151. }
  152. if (e.Cell.Column.Key.Equals("OTHER"))
  153. {
  154. Value.Other = e.Cell.Value.ToString();
  155. }
  156. if (e.Cell.Column.Key.Equals("PRODUCER"))
  157. {
  158. Value.Producer = e.Cell.Value.ToString();
  159. }
  160. if (e.Cell.Column.Key.Equals("PRODUCER_TIME"))
  161. {
  162. Value.ProducerTime = e.Cell.Value.ToString();
  163. }
  164. if (e.Cell.Column.Key.Equals("LOAD_TIME"))
  165. {
  166. Value.LoadTime = e.Cell.Value.ToString();
  167. }
  168. if (e.Cell.Column.Key.Equals("LOAD_SHIFT"))
  169. {
  170. Value.LoadShift = e.Cell.Value.ToString();
  171. }
  172. if (e.Cell.Column.Key.Equals("LOAD_GROUP"))
  173. {
  174. Value.LoadGroup = e.Cell.Value.ToString();
  175. }
  176. if (e.Cell.Column.Key.Equals("LOAD_USER"))
  177. {
  178. Value.LoadUser = e.Cell.Value.ToString();
  179. }
  180. }
  181. catch (Exception ex)
  182. {
  183. }
  184. }
  185. /// <summary>
  186. /// 验证格试
  187. /// </summary>
  188. public bool ValidInput1()
  189. {
  190. ultraGrid1.UpdateData();
  191. string PRO_NUM = ultraDataSource1.Rows[0]["PRO_NUM"].ToString();
  192. string PRO_WT = ultraDataSource1.Rows[0]["PRO_WT"].ToString();
  193. string ACC_NUM = ultraDataSource1.Rows[0]["ACC_NUM"].ToString();
  194. string ACC_WT = ultraDataSource1.Rows[0]["ACC_WT"].ToString();
  195. string FAIL_NUM = ultraDataSource1.Rows[0]["FAIL_NUM"].ToString();
  196. string FAIL_WT = ultraDataSource1.Rows[0]["FAIL_WT"].ToString();
  197. string LEU_NUM = ultraDataSource1.Rows[0]["LEU_NUM"].ToString();
  198. string D4_NUM = ultraDataSource1.Rows[0]["D4_NUM"].ToString();
  199. string ELLIP_NUM = ultraDataSource1.Rows[0]["ELLIP_NUM"].ToString();
  200. string UPSETTING_NUM = ultraDataSource1.Rows[0]["UPSETTING_NUM"].ToString();
  201. string CRACK_NUM = ultraDataSource1.Rows[0]["CRACK_NUM"].ToString();
  202. string AIR_NUM = ultraDataSource1.Rows[0]["AIR_NUM"].ToString();
  203. string NOTCH = ultraDataSource1.Rows[0]["NOTCH"].ToString();
  204. string OTHER = ultraDataSource1.Rows[0]["OTHER"].ToString();
  205. if (Convert.ToInt32(PRO_NUM == "" ? "0" : PRO_NUM) != Convert.ToInt32(ACC_NUM == "" ? "0" : ACC_NUM) +
  206. Convert.ToInt32(FAIL_NUM == "" ? "0" : FAIL_NUM))
  207. {
  208. MessageBox.Show("作业支数=合格支数+废品支数 请查验", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  209. return false;
  210. }
  211. //if (Convert.ToDouble(PRO_WT == "" ? "0.0" : PRO_WT) != Convert.ToInt32(ACC_WT == "" ? "0.0" : ACC_WT) +
  212. // Convert.ToDouble(FAIL_WT == "" ? "0.0" : FAIL_WT))
  213. //{
  214. // MessageBox.Show("作业重量=合格重量+废品重量 请查验", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  215. // return false;
  216. //}
  217. //if (Convert.ToInt32(FAIL_NUM == "" ? "0" : FAIL_NUM) != Convert.ToInt32(LEU_NUM == "" ? "0" : LEU_NUM) +
  218. // Convert.ToInt32(D4_NUM == "" ? "0" : D4_NUM) +
  219. // Convert.ToInt32(ELLIP_NUM == "" ? "0" : ELLIP_NUM) +
  220. // Convert.ToInt32(UPSETTING_NUM == "" ? "0" : UPSETTING_NUM) +
  221. // Convert.ToInt32(CRACK_NUM == "" ? "0" : CRACK_NUM) +
  222. // Convert.ToInt32(AIR_NUM == "" ? "0" : AIR_NUM) +
  223. // Convert.ToInt32(NOTCH == "" ? "0" : NOTCH) +
  224. // Convert.ToInt32(OTHER == "" ? "0" : OTHER))
  225. //{
  226. // MessageBox.Show("废品支数=LEU+D4+不圆度+加厚壁厚+裂纹+气孔+凹、点坑+其它 请查验", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  227. // return false;
  228. //}
  229. return true;
  230. }
  231. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  232. {
  233. ultraGrid1.UpdateData();
  234. if (e.Cell.Column.Key.Equals("ACC_NUM"))//动这个字段会进下面的内容里
  235. {
  236. if (ultraDataSource1.Rows[0]["ACC_NUM"].ToString().Equals(""))
  237. {
  238. ultraDataSource1.Rows[0]["ACC_NUM"] = "0";
  239. }
  240. if (ultraDataSource1.Rows[0]["PRO_NUM"].ToString().Equals(""))
  241. {
  242. ultraDataSource1.Rows[0]["PRO_NUM"] = "0";
  243. }
  244. double actnum = double.Parse(ultraDataSource1.Rows[0]["ACC_NUM"].ToString());
  245. if (actnum > int.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString()))
  246. {
  247. MessageBox.Show("合格支数不能大于加工支数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  248. return;
  249. }
  250. double actwt = 0;
  251. if (!ultraDataSource1.Rows[0]["PRO_WT"].ToString().Equals("0"))
  252. {
  253. if (num != null && !num.Equals("0"))
  254. {
  255. actwt = double.Parse(ultraDataSource1.Rows[0]["ACC_NUM"].ToString()) * (double.Parse(wt)) / (double.Parse(num));
  256. }
  257. }
  258. ultraDataSource1.Rows[0]["ACC_WT"] = actwt.ToString("f3");
  259. Value.AccWt = ultraDataSource1.Rows[0]["ACC_WT"].ToString();
  260. double failnum = double.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString()) - double.Parse(ultraDataSource1.Rows[0]["ACC_NUM"].ToString());
  261. double failwt = double.Parse(ultraDataSource1.Rows[0]["PRO_WT"].ToString()) - actwt;
  262. ultraDataSource1.Rows[0]["FAIL_NUM"] = failnum.ToString();
  263. Value.FailNum = ultraDataSource1.Rows[0]["FAIL_NUM"].ToString();
  264. ultraDataSource1.Rows[0]["FAIL_WT"] = failwt.ToString("f3");
  265. Value.FailWt = ultraDataSource1.Rows[0]["FAIL_WT"].ToString();
  266. }
  267. if (e.Cell.Column.Key.Equals("PRO_NUM"))//动这个字段会进下面的内容里
  268. {
  269. pronum = ultraDataSource1.Rows[0]["PRO_NUM"].ToString();
  270. if (ultraDataSource1.Rows[0]["PRO_NUM"].ToString().Equals(""))
  271. {
  272. ultraDataSource1.Rows[0]["PRO_NUM"] = "0";
  273. }
  274. double actwt = 0;
  275. if (!ultraDataSource1.Rows[0]["PRO_NUM"].ToString().Equals("0"))
  276. {
  277. if (num != null && !num.Equals("0"))
  278. {
  279. actwt = double.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString()) * (double.Parse(wt)) / (double.Parse(num));
  280. }
  281. }
  282. double actnum = double.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString());
  283. ultraDataSource1.Rows[0]["PRO_WT"] = actwt.ToString("f3");
  284. Value.ProWt = ultraDataSource1.Rows[0]["PRO_WT"].ToString();
  285. ultraDataSource1.Rows[0]["ACC_NUM"] = ultraDataSource1.Rows[0]["PRO_NUM"].ToString();
  286. Value.AccNum = ultraDataSource1.Rows[0]["ACC_NUM"].ToString();
  287. ultraDataSource1.Rows[0]["ACC_WT"] = ultraDataSource1.Rows[0]["PRO_WT"].ToString();
  288. Value.AccWt = ultraDataSource1.Rows[0]["ACC_WT"].ToString();
  289. ultraDataSource1.Rows[0]["FAIL_NUM"] = "0";
  290. prowt = ultraDataSource1.Rows[0]["PRO_WT"].ToString();
  291. }
  292. if (e.Cell.Column.Key.Equals("FAIL_NUM"))//废品支数
  293. {
  294. pronum = ultraDataSource1.Rows[0]["PRO_NUM"].ToString();
  295. prowt = ultraDataSource1.Rows[0]["PRO_WT"].ToString();
  296. if (ultraDataSource1.Rows[0]["FAIL_NUM"].ToString().Equals(""))
  297. {
  298. ultraDataSource1.Rows[0]["FAIL_NUM"] = "0";
  299. }
  300. if (ultraDataSource1.Rows[0]["PRO_NUM"].ToString().Equals(""))
  301. {
  302. ultraDataSource1.Rows[0]["PRO_NUM"] = "0";
  303. }
  304. double actnum = double.Parse(ultraDataSource1.Rows[0]["FAIL_NUM"].ToString());
  305. if (actnum > int.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString()))
  306. {
  307. MessageBox.Show("废品支数不能大于加工支数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  308. return;
  309. }
  310. double actwt = 0;
  311. if (!ultraDataSource1.Rows[0]["PRO_WT"].ToString().Equals("0"))
  312. {
  313. if (num != null && !num.Equals("0"))
  314. {
  315. actwt = double.Parse(ultraDataSource1.Rows[0]["FAIL_NUM"].ToString()) * (double.Parse(wt)) / (double.Parse(num));
  316. }
  317. }
  318. ultraDataSource1.Rows[0]["FAIL_WT"] = actwt.ToString("f3");
  319. Value.AccWt = ultraDataSource1.Rows[0]["FAIL_WT"].ToString();
  320. double failnum = double.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString()) - double.Parse(ultraDataSource1.Rows[0]["FAIL_NUM"].ToString());
  321. double failwt = double.Parse(ultraDataSource1.Rows[0]["PRO_WT"].ToString()) - actwt;
  322. ultraDataSource1.Rows[0]["ACC_NUM"] = failnum.ToString();
  323. Value.AccNum = ultraDataSource1.Rows[0]["ACC_NUM"].ToString();
  324. ultraDataSource1.Rows[0]["ACC_WT"] = failwt.ToString("f3");
  325. Value.AccWt = ultraDataSource1.Rows[0]["ACC_WT"].ToString();
  326. }
  327. }
  328. }
  329. }