CutControl.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  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.mcp.entity;
  11. using Infragistics.Win.UltraWinGrid;
  12. using Core.Mes.Client.Comm.Tool;
  13. using CoreFS.CA06;
  14. using Core.Mes.Client.Comm.Server;
  15. using Infragistics.Win;
  16. namespace Core.StlMes.Client.Mcp.Control
  17. {
  18. public partial class CutControl : UserControl
  19. {
  20. OpeBase ob;
  21. public OpeBase Ob
  22. {
  23. get { return ob; }
  24. set { ob = value; }
  25. }
  26. string customInfo;
  27. public string CustomInfo
  28. {
  29. get { return customInfo; }
  30. set { customInfo = value; }
  31. }
  32. private string plinCode;
  33. public string PlinCode
  34. {
  35. get { return plinCode; }
  36. set { plinCode = value; }
  37. }
  38. private string cutMachGroup;
  39. public string CutMachGroup
  40. {
  41. get { return cutMachGroup; }
  42. set { cutMachGroup = value; }
  43. }
  44. private Infragistics.Win.UltraWinGrid.UltraGrid _grid = null;
  45. /// <summary>
  46. /// Grid编辑区
  47. /// </summary>
  48. public Infragistics.Win.UltraWinGrid.UltraGrid Grid
  49. {
  50. get { return _grid; }
  51. }
  52. private CutResult _cutResult = new CutResult();
  53. /// <summary>
  54. /// 接箍切割实绩实体对象
  55. /// </summary>
  56. public CutResult Value
  57. {
  58. get { return _cutResult; }
  59. set
  60. {
  61. if (value != null)
  62. {
  63. _cutResult = value;
  64. UpdateData();
  65. }
  66. }
  67. }
  68. public CutControl()
  69. {
  70. InitializeComponent();
  71. GridHelper.InitCardGrid(this.ultraDataSource1, this.ultraGrid1);
  72. _grid = this.ultraGrid1;
  73. }
  74. public void UpdateData()
  75. {
  76. if (_cutResult != null)
  77. {
  78. ultraDataSource1.Rows[0]["Machine_No"] = _cutResult.MachineNo;
  79. ultraDataSource1.Rows[0]["Cut_Pieces"] = _cutResult.CutPieces;
  80. ultraDataSource1.Rows[0]["Qualified_Number"] = _cutResult.QualifiedNumber;
  81. ultraDataSource1.Rows[0]["Rejected_Number"]=_cutResult.RejectedPieces ;
  82. ultraDataSource1.Rows[0]["Rjected_Reason"]= _cutResult.RejectedReason ;
  83. ultraDataSource1.Rows[0]["Is_Remaining"] = Convert.ToBoolean(_cutResult.IsRemaining);
  84. ultraDataSource1.Rows[0]["LVALID_LENGTH"]=_cutResult.LvalidLength ;
  85. ultraDataSource1.Rows[0]["Producer"]=_cutResult.Producer;
  86. ultraDataSource1.Rows[0]["Produce_Time"]=_cutResult.ProducerTime ;
  87. ultraDataSource1.Rows[0]["Cut_Shift"]=_cutResult.ColShft ;
  88. ultraDataSource1.Rows[0]["Cut_Group"]=_cutResult.ColGroup ;
  89. ultraDataSource1.Rows[0]["COL_USER"] = _cutResult.ColUser;
  90. ultraDataSource1.Rows[0]["Cut_Time"]=_cutResult.ColTime ;
  91. ultraDataSource1.Rows[0]["COL_OPERATOR"] = _cutResult.ColOperator;
  92. }
  93. else
  94. {
  95. GridHelper.InitCardGrid(ultraDataSource1, ultraGrid1);
  96. }
  97. ultraGrid1.UpdateData();
  98. }
  99. /// <summary>
  100. /// 控件编辑后更新已修改数据
  101. /// </summary>
  102. public new void Update()
  103. {
  104. ultraGrid1.UpdateData();
  105. }
  106. private void ultraGrid1_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  107. {
  108. try
  109. {
  110. switch (e.Cell.Column.Key)
  111. {
  112. case "Machine_No":
  113. _cutResult.MachineNo = e.Cell.Value.ToString();
  114. Value.MachineNo = e.Cell.Value.ToString();
  115. break;
  116. case "Cut_Pieces":
  117. Value.CutPieces = e.Cell.Value.ToString();
  118. break;
  119. case "Qualified_Number":
  120. Value.QualifiedNumber = e.Cell.Value.ToString();
  121. break;
  122. case "Rejected_Number":
  123. Value.RejectedPieces = e.Cell.Value.ToString();
  124. break;
  125. case "Rjected_Reason":
  126. Value.RejectedReason = e.Cell.Value.ToString();
  127. break;
  128. case "Is_Remaining":
  129. Value.IsRemaining = e.Cell.Value.ToString();
  130. break;
  131. case "LVALID_LENGTH":
  132. Value.LvalidLength = e.Cell.Value.ToString();
  133. break;
  134. case "Producer":
  135. Value.Producer = e.Cell.Value.ToString();
  136. break;
  137. case "Produce_Time":
  138. Value.ProducerTime = e.Cell.Value.ToString();
  139. break;
  140. case "Cut_Shift":
  141. Value.ColShft = e.Cell.Value.ToString();
  142. break;
  143. case "Cut_Group":
  144. Value.ColGroup = e.Cell.Value.ToString();
  145. break;
  146. case "COL_USER":
  147. Value.ColUser = e.Cell.Value.ToString();
  148. break;
  149. case "Cut_Time":
  150. Value.ColTime = e.Cell.Value.ToString();
  151. break;
  152. case "COL_OPERATOR":
  153. Value.ColOperator = e.Cell.Value.ToString();
  154. break;
  155. }
  156. }
  157. catch (Exception ex)
  158. {
  159. }
  160. }
  161. /// <summary>
  162. /// 设置整个grid的编辑模式
  163. /// </summary>
  164. /// <param name="grid"></param>
  165. /// <param name="activation"></param>
  166. /// <param name="cols">不需要设置的列</param>
  167. //public void SetGridActivationExceptCol( Activation activation,UltraGridColumn[] cols)
  168. //{
  169. // GridHelper.SetGridActivationExceptCol(this.ultraGrid1, activation, cols);
  170. //}
  171. /// <summary>
  172. /// 设置grid中一部分的编辑模式
  173. /// </summary>
  174. /// <param name="pamars">要设置的部分</param>
  175. /// <param name="activation"></param>
  176. public void SetGridActivation(Object[] pamars,Activation activation)
  177. {
  178. if (pamars != null)
  179. {
  180. foreach (string column in pamars)
  181. {
  182. // this.ultraGrid1.DisplayLayout.Override.CellAppearance
  183. this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].CellActivation = activation;
  184. // Infragistics.Win.UltraWinGrid.CellEventArgs e = new CellEventArgs(this.ultraGrid1.Selected.Cells);
  185. //e.Cell.Column.CellActivation.ToString() = activation;
  186. if (activation == Activation.AllowEdit)
  187. {
  188. this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].CellAppearance.BackColor = Color.White;
  189. if (column == "Produce_Time")
  190. {
  191. this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].EditorComponent = this.ultraDateTimeEditor1;
  192. }
  193. }
  194. else
  195. {
  196. this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].CellAppearance.BackColor = Color.Gray;
  197. if (column == "Produce_Time")
  198. {
  199. this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].EditorComponent = null;
  200. }
  201. }
  202. }
  203. }
  204. }
  205. /// <summary>
  206. /// 验证格试
  207. /// </summary>
  208. public bool ValidInput1()
  209. {
  210. //bool p = true;
  211. ultraGrid1.UpdateData();
  212. if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["Cut_Pieces"].ToString()))
  213. {
  214. MessageBox.Show("加工支数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  215. return false;
  216. }
  217. if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["Qualified_Number"].ToString()))
  218. {
  219. MessageBox.Show("切管个数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  220. return false;
  221. }
  222. //if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["Rejected_Number"].ToString()))
  223. //{
  224. // MessageBox.Show("废品个数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  225. // return false;
  226. //}
  227. if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["LVALID_LENGTH"].ToString()))
  228. {
  229. MessageBox.Show("黄漆长度 请输入数字", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  230. return false;
  231. }
  232. return true;
  233. }
  234. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  235. {
  236. ultraGrid1.UpdateData();
  237. if (e.Cell.Column.Key.Equals("Machine_No"))
  238. {
  239. DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.CoupCutService.getMachUser", new object[] { e.Cell.Row.Cells["Machine_No"].Text.ToString(), CustomInfo, plinCode, cutMachGroup }, this.Ob);
  240. cmbUser.DataSource = dt;
  241. cmbUser.ValueMember = "MACHINE_USER";
  242. }
  243. string count = "";
  244. if (e.Cell.Column.Key.Equals("Rejected_Number"))
  245. {
  246. if (e.Cell.Row.Cells["Rejected_Number"].Text.Trim().Equals(""))
  247. {
  248. count = "0";
  249. }
  250. if (e.Cell.Row.Cells["Rejected_Number"].Text.Trim().Equals("0"))
  251. {
  252. count = "0";
  253. }
  254. if (count == "0")
  255. {
  256. e.Cell.Row.Cells["Rjected_Reason"].Value = "";
  257. e.Cell.Row.Cells["Rjected_Reason"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  258. }
  259. else
  260. {
  261. e.Cell.Row.Cells["Rjected_Reason"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  262. }
  263. }
  264. }
  265. }
  266. }