ExpandControl.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  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. using CoreFS.CA06;
  17. namespace Core.StlMes.Client.Mcp.Control
  18. {
  19. public partial class ExpandControl : UserControl
  20. {
  21. private string actnum = "";
  22. private string actwt = "";
  23. private VrpExpandResultEntity _load = new VrpExpandResultEntity();
  24. private OpeBase ob;
  25. public OpeBase Ob
  26. {
  27. get { return ob; }
  28. set { ob = value; }
  29. }
  30. public VrpExpandResultEntity Value
  31. {
  32. get { return _load; }
  33. set
  34. {
  35. if(value != null)
  36. {
  37. this._load = value;
  38. UpdateData();
  39. }
  40. }
  41. }
  42. private Infragistics.Win.UltraWinGrid.UltraGrid _grid = null;
  43. /// <summary>
  44. /// 编辑区GRID
  45. /// </summary>
  46. public Infragistics.Win.UltraWinGrid.UltraGrid Grid
  47. {
  48. get { return _grid; }
  49. }
  50. public ExpandControl()
  51. {
  52. InitializeComponent();
  53. GridHelper.InitCardGrid(ultraDataSource1, ultraGrid1);
  54. _grid = this.ultraGrid1;
  55. }
  56. /// <summary>
  57. /// 刷新控件数据显示
  58. /// </summary>
  59. public void UpdateData()
  60. {
  61. if (_load != null)
  62. {
  63. ultraDataSource1.Rows[0]["HOL_DIMATER"] = _load.HolDimater;
  64. ultraDataSource1.Rows[0]["HOL_HEIGHT"] = _load.HolHeight;
  65. ultraDataSource1.Rows[0]["ROLL_DISTANCE"] = _load.RollDistance;
  66. ultraDataSource1.Rows[0]["GUIDE_DISTANCE"] = _load.GuideDistance;
  67. ultraDataSource1.Rows[0]["PLUG_SIZE"] = _load.PlugSize;
  68. ultraDataSource1.Rows[0]["PLUG_BAR_D"] = _load.PlugBarD;
  69. ultraDataSource1.Rows[0]["PLUG_POSITION"] = _load.PlugPosition;
  70. ultraDataSource1.Rows[0]["MOTOR_SPEED"] = _load.MotorSpeed;
  71. ultraDataSource1.Rows[0]["PRO_NUM"] = _load.ProNum;
  72. ultraDataSource1.Rows[0]["PRO_WT"] = _load.ProWt;
  73. ultraDataSource1.Rows[0]["FAIL_NUM"] = _load.FailNum;
  74. ultraDataSource1.Rows[0]["FAIL_WT"] = _load.FailWt;
  75. ultraDataSource1.Rows[0]["FAIL_REASON"] = _load.FailReason;
  76. ultraDataSource1.Rows[0]["PRODUCER"] = _load.Producer;
  77. ultraDataSource1.Rows[0]["PRODUCER_TIME"] = _load.ProducerTime;
  78. ultraDataSource1.Rows[0]["LOAD_TIME"] = _load.LoadTime;
  79. ultraDataSource1.Rows[0]["LOAD_SHIFT"] = _load.LoadShift;
  80. ultraDataSource1.Rows[0]["LOAD_GROUP"] = _load.LoadGroup;
  81. ultraDataSource1.Rows[0]["LOAD_USER"] = _load.LoadUser;
  82. ultraDataSource1.Rows[0]["ACT_COUNT"] = _load.ActNum;
  83. ultraDataSource1.Rows[0]["ACT_WEIGHT"] = _load.ActWt;
  84. actnum = _load.ProNum;
  85. actwt = _load.ProWt;
  86. }
  87. else
  88. {
  89. GridHelper.InitCardGrid(ultraDataSource1,ultraGrid1);
  90. }
  91. this.ultraGrid1.UpdateData();
  92. }
  93. /// <summary>
  94. /// 控件编辑后更新已修改数据
  95. /// </summary>
  96. public void CompleteEdit()
  97. {
  98. ultraGrid1.UpdateData();
  99. }
  100. private void ultraGrid1_AfterCellUpdate(object sender, CellEventArgs e)
  101. {
  102. try
  103. {
  104. if (e.Cell.Column.Key.Equals("HOL_DIMATER"))
  105. {
  106. Value.HolDimater = e.Cell.Value.ToString();
  107. }
  108. if (e.Cell.Column.Key.Equals("HOL_HEIGHT"))
  109. {
  110. Value.HolHeight = e.Cell.Value.ToString();
  111. }
  112. if (e.Cell.Column.Key.Equals("ROLL_DISTANCE"))
  113. {
  114. Value.RollDistance = e.Cell.Value.ToString();
  115. }
  116. if (e.Cell.Column.Key.Equals("GUIDE_DISTANCE"))
  117. {
  118. Value.GuideDistance = e.Cell.Value.ToString();
  119. }
  120. if (e.Cell.Column.Key.Equals("PLUG_SIZE"))
  121. {
  122. Value.PlugSize = e.Cell.Value.ToString();
  123. }
  124. if (e.Cell.Column.Key.Equals("PLUG_BAR_D"))
  125. {
  126. Value.PlugBarD = e.Cell.Value.ToString();
  127. }
  128. if (e.Cell.Column.Key.Equals("PLUG_POSITION"))
  129. {
  130. Value.PlugPosition = e.Cell.Value.ToString();
  131. }
  132. if (e.Cell.Column.Key.Equals("MOTOR_SPEED"))
  133. {
  134. Value.MotorSpeed = e.Cell.Value.ToString();
  135. }
  136. if (e.Cell.Column.Key.Equals("PRO_NUM"))
  137. {
  138. Value.ProNum = e.Cell.Value.ToString();
  139. }
  140. if (e.Cell.Column.Key.Equals("PRO_WT"))
  141. {
  142. Value.ProWt = e.Cell.Value.ToString();
  143. }
  144. if (e.Cell.Column.Key.Equals("FAIL_NUM"))
  145. {
  146. Value.FailNum = e.Cell.Value.ToString();
  147. }
  148. if (e.Cell.Column.Key.Equals("FAIL_WT"))
  149. {
  150. Value.FailWt = e.Cell.Value.ToString();
  151. }
  152. if (e.Cell.Column.Key.Equals("FAIL_REASON"))
  153. {
  154. Value.FailReason = 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. if (e.Cell.Column.Key.Equals("ACT_COUNT"))
  181. {
  182. Value.ActNum = e.Cell.Value.ToString();
  183. }
  184. if (e.Cell.Column.Key.Equals("ACT_WEIGHT"))
  185. {
  186. Value.ActWt = e.Cell.Value.ToString();
  187. }
  188. }
  189. catch (Exception ex)
  190. {
  191. }
  192. }
  193. /// <summary>
  194. /// 验证格试
  195. /// </summary>
  196. public bool ValidInput1()
  197. {
  198. ultraGrid1.UpdateData();
  199. string TestingNum = ultraDataSource1.Rows[0]["PRO_NUM"].ToString();
  200. string TestingWt = ultraDataSource1.Rows[0]["PRO_WT"].ToString();
  201. string TestingNum1 = ultraDataSource1.Rows[0]["FAIL_NUM"].ToString();
  202. string TestingWt1 = ultraDataSource1.Rows[0]["FAIL_WT"].ToString();
  203. if (!StringUtil.IsInt(TestingNum))
  204. {
  205. MessageBox.Show("合格支数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  206. return false;
  207. }
  208. if (!StringUtil.IsDouble(TestingWt))
  209. {
  210. MessageBox.Show("合格重量 请输入重量", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  211. return false;
  212. }
  213. if (!StringUtil.IsInt(TestingNum1))
  214. {
  215. MessageBox.Show("废品支数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  216. return false;
  217. }
  218. if (!StringUtil.IsDouble(TestingWt1))
  219. {
  220. MessageBox.Show("废品重量 请输入重量", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  221. return false;
  222. }
  223. return true;
  224. }
  225. public void LoadData()
  226. {
  227. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.CoupCutService.getCutResultFp", new object[] { "6502" }, this.ob);
  228. cmbFaReason.DataSource = dt;
  229. cmbFaReason.ValueMember = "BASENAME";
  230. YdmBaseClass.SetComboItemHeight(cmbFaReason);
  231. }
  232. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  233. {
  234. try
  235. {
  236. ultraGrid1.UpdateData();
  237. if (e.Cell.Column.Key.Equals("FAIL_NUM"))//动这个字段会进下面的内容里
  238. {
  239. if (ultraDataSource1.Rows[0]["FAIL_NUM"].ToString().Equals(""))
  240. {
  241. ultraDataSource1.Rows[0]["FAIL_NUM"] = "0";
  242. }
  243. double ctwt = 0;
  244. if (!ultraDataSource1.Rows[0]["PRO_WT"].ToString().Equals("0"))
  245. {
  246. if (actnum != null && !actnum.Equals("0"))
  247. {
  248. ctwt = double.Parse(ultraDataSource1.Rows[0]["FAIL_NUM"].ToString()) * (double.Parse(actwt) / double.Parse(actnum));
  249. }
  250. }
  251. ultraDataSource1.Rows[0]["FAIL_WT"] = ctwt.ToString("f3");
  252. Value.FailWt = ultraDataSource1.Rows[0]["FAIL_WT"].ToString();
  253. //ultraDataSource1.Rows[0]["PRO_NUM"] = (int.Parse(actnum) - int.Parse(ultraDataSource1.Rows[0]["FAIL_NUM"].ToString())).ToString();
  254. // ultraDataSource1.Rows[0]["PRO_NUM"] = (int.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString()) - int.Parse(ultraDataSource1.Rows[0]["FAIL_NUM"].ToString())).ToString();
  255. // Value.ProNum = ultraDataSource1.Rows[0]["PRO_NUM"].ToString();
  256. //ultraDataSource1.Rows[0]["PRO_WT"] = (double.Parse(actwt) - ctwt).ToString("f3");
  257. // ultraDataSource1.Rows[0]["PRO_WT"] = (double.Parse(ultraDataSource1.Rows[0]["PRO_WT"].ToString()) - ctwt).ToString("f3");
  258. // Value.ProWt = ultraDataSource1.Rows[0]["PRO_WT"].ToString();
  259. //if (piece != null && !piece.Equals(""))
  260. //{
  261. // if (int.Parse(ultraDataSource1.Rows[0]["FAIL_NUM"].ToString()) > int.Parse(piece))
  262. // {
  263. // MessageBox.Show("输入的支数不能超过管号队列合格的支数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  264. // e.Cell.Row.Cells["FAIL_NUM"].Value = actnum.ToString();
  265. // e.Cell.Row.Cells["FAIL_WT"].Value = (double.Parse(ultraDataSource1.Rows[0]["FAIL_NUM"].ToString()) * (double.Parse(actwt)) / (double.Parse(actnum))).ToString("f3");
  266. // return;
  267. // }
  268. //}
  269. }
  270. if (e.Cell.Column.Key.Equals("PRO_NUM"))//动这个字段会进下面的内容里
  271. {
  272. if (actnum != null && !actnum.Equals("0"))
  273. {
  274. e.Cell.Row.Cells["PRO_WT"].Value = (double.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString()) * (double.Parse(actwt)) / (double.Parse(actnum))).ToString("f3");
  275. }
  276. if (ultraDataSource1.Rows[0]["FAIL_NUM"].ToString().Equals(""))
  277. {
  278. ultraDataSource1.Rows[0]["FAIL_NUM"] = "0";
  279. }
  280. //if (piece != null && !piece.Equals(""))
  281. //{
  282. // if (int.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString()) > int.Parse(piece))
  283. // {
  284. // MessageBox.Show("输入的支数不能超过管号队列合格的支数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  285. // e.Cell.Row.Cells["PRO_NUM"].Value = actnum.ToString();
  286. // e.Cell.Row.Cells["PRO_WT"].Value = (double.Parse(ultraDataSource1.Rows[0]["PRO_NUM"].ToString()) * (double.Parse(actwt)) / (double.Parse(actnum))).ToString("f3");
  287. // return;
  288. // }
  289. //}
  290. }
  291. }
  292. catch (Exception)
  293. {
  294. }
  295. }
  296. }
  297. }