FrmProcessProparameters.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Server;
  3. using CoreFS.CA06;
  4. using System;
  5. using System.Collections;
  6. using System.Data;
  7. using System.Drawing;
  8. using System.Windows.Forms;
  9. namespace Core.StlMes.Client.Qcm
  10. {
  11. public partial class FrmProcessProparameters : FrmBase
  12. {
  13. public FrmProcessProparameters()
  14. {
  15. InitializeComponent();
  16. }
  17. private void FrmProcessProparameters_Load(object sender, EventArgs e)
  18. {
  19. BandCmbControlPoint();
  20. BandCmbProcessParameters();
  21. }
  22. /// <summary>
  23. /// 工序点数据绑定
  24. /// </summary>
  25. private void BandCmbControlPoint()
  26. {
  27. //初始化编辑区域工序点下拉框CoreBandProcess
  28. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProcessProparameters.CoreBandProcess", new Object[] { }, this.ob);
  29. if (dt != null && dt.Rows.Count > 0)
  30. {
  31. //PROCESS_CODE,PROCESS_DESC
  32. cmbControlPoint.DataSource = dt;
  33. //PROCESS_CODE,PROCESS_DESC
  34. cmbControlPoint.DisplayMember = "PROCESS_DESC";
  35. cmbControlPoint.ValueMember = "PROCESS_CODE";
  36. //当前选中行。
  37. cmbControlPoint.SelectedIndex = 0;
  38. }
  39. }
  40. /// <summary>
  41. /// 工艺参数数据绑定
  42. /// </summary>
  43. private void BandCmbProcessParameters()
  44. {
  45. //初始化编辑区域工艺参数下拉框CoreBandProcessParameters
  46. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProcessProparameters.CoreBandProcessParameters", new Object[] { }, this.ob);
  47. if (dt != null && dt.Rows.Count > 0)
  48. {
  49. //CRAFTITEM_CODE,CRAFTITEM_DESC CRAFT_CODE,CRAFTITEM_DESC
  50. cmbGycs.DataSource = dt;
  51. cmbGycs.DisplayMember = "CRAFTITEM_DESC";
  52. cmbGycs.ValueMember = "CRAFT_CODE";
  53. cmbGycs.SelectedIndex = 0;
  54. }
  55. }
  56. /// <summary>
  57. /// 平台封装ToolBar
  58. /// </summary>
  59. /// <param name="sender"></param>
  60. /// <param name="ToolbarKey"></param>
  61. public override void ToolBar_Click(object sender, string ToolbarKey)
  62. {
  63. switch (ToolbarKey)
  64. {
  65. case "doQuery":
  66. doQuery();
  67. break;
  68. case "doAdd":
  69. doAdd();
  70. break;
  71. case "doModify":
  72. doModify();
  73. break;
  74. case "doDelete":
  75. this.doDeleteOrResume(true);
  76. break;
  77. case "doResume":
  78. this.doDeleteOrResume(false);
  79. break;
  80. case "Close":
  81. this.Close();
  82. break;
  83. }
  84. }
  85. /// <summary>
  86. /// 效验有效字段
  87. /// </summary>
  88. /// <returns></returns>
  89. private bool ValidInput()
  90. {
  91. if (string.IsNullOrEmpty(txtProcess_Desc.Text.Trim()))
  92. {
  93. MessageBox.Show("请输入描述!", "提示");
  94. return false;
  95. }
  96. return true;
  97. }
  98. /// <summary>
  99. /// 查询
  100. /// </summary>
  101. private void doQuery()
  102. {
  103. bool validFlag = chkValid.Checked;
  104. string titleName = txtTitleName.Text.Trim();
  105. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProcessProparameters.getLineList", new Object[] { validFlag, titleName }, this.ob);
  106. GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
  107. //不同颜色区分是否有效数据
  108. Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
  109. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  110. {
  111. row = ultraGrid1.Rows[i];
  112. if (!row.Cells["VALIDFLAG"].Value.ToString().Equals("1"))
  113. {
  114. row.Appearance.ForeColor = Color.Red;
  115. }
  116. else
  117. {
  118. row.Appearance.ForeColor = Color.Black;
  119. }
  120. }
  121. }
  122. /// <summary>
  123. /// 新增
  124. /// </summary>
  125. private void doAdd()
  126. {
  127. if (ValidInput())
  128. {
  129. try
  130. {
  131. ArrayList parm = new ArrayList();
  132. //PROCESS_CODE,PROCESS_DESC,STATION_CODE,STATION_DESC,CRAFTITEM_CODE,CRAFTITEM_DESC,ALLOW_COUNT
  133. //txtProcess_Desc,txtStation_Code,txtCraftitem_Code,txtAllow_Count
  134. string processCode = GridHelper.AutoCode(this.dataTable1);
  135. parm.Add(processCode);
  136. parm.Add(txtProcess_Desc.Text);
  137. parm.Add(cmbControlPoint.Value.ToString());
  138. parm.Add(cmbControlPoint.Text.ToString());
  139. parm.Add(cmbGycs.Value.ToString());
  140. parm.Add(cmbGycs.Text.ToString());
  141. //单个参数维护个数,也许是后台自动生成的。
  142. parm.Add(txtAllow_Count.Text.ToString());
  143. parm.Add(this.UserInfo.GetUserName());
  144. parm.Add(txtMemo.Text);
  145. CoreClientParam ccp = new CoreClientParam();
  146. ccp.ServerName = "com.steering.pss.qcm.CoreProcessProparameters";
  147. ccp.MethodName = "doAdd";
  148. ccp.ServerParams = new object[] { parm };
  149. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  150. if (ccp.ReturnCode == -1) return;
  151. doQuery();
  152. //高亮显示新增的数据
  153. Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
  154. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  155. {
  156. row = ultraGrid1.Rows[i];
  157. if (row.Cells["PROCESS_CODE"].Value.ToString().Equals(processCode))
  158. {
  159. row.Activate();
  160. break;
  161. }
  162. }
  163. }
  164. catch (Exception ex)
  165. {
  166. MessageBox.Show(ex.Message, "提示");
  167. }
  168. }
  169. }
  170. /// <summary>
  171. /// 修改
  172. /// </summary>
  173. private void doModify()
  174. {
  175. if (ultraGrid1.ActiveRow == null)
  176. {
  177. MessageBox.Show("请选择需要修改的数据!", "提示");
  178. return;
  179. }
  180. if (ValidInput())
  181. {
  182. //确认修改吗?
  183. if (MessageBox.Show("是否确认修改选中的数据!", "提示", MessageBoxButtons.YesNo) == DialogResult.No)
  184. {
  185. return;
  186. }
  187. ArrayList parm = new ArrayList();
  188. string processCode = ultraGrid1.ActiveRow.Cells["PROCESS_CODE"].Value.ToString();
  189. parm.Add(txtProcess_Desc.Text);
  190. parm.Add(cmbControlPoint.Value.ToString());
  191. parm.Add(cmbControlPoint.Text.ToString());
  192. parm.Add(cmbGycs.Value.ToString());
  193. parm.Add(cmbGycs.Text.ToString());
  194. //单个参数维护个数,也许是后台自动生成的。
  195. parm.Add(txtAllow_Count.Text.ToString());
  196. parm.Add(this.UserInfo.GetUserName());
  197. parm.Add(txtMemo.Text);
  198. parm.Add(processCode);
  199. CoreClientParam ccp = new CoreClientParam();
  200. ccp.ServerName = "com.steering.pss.qcm.CoreProcessProparameters";
  201. ccp.MethodName = "doModify";
  202. ccp.ServerParams = new object[] { parm };
  203. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  204. if (ccp.ReturnCode == -1) return;
  205. doQuery();
  206. //高亮显示新增的数据
  207. Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
  208. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  209. {
  210. row = ultraGrid1.Rows[i];
  211. if (row.Cells["PROCESS_CODE"].Value.ToString().Equals(processCode))
  212. {
  213. row.Activate();
  214. break;
  215. }
  216. }
  217. }
  218. }
  219. /// <summary>
  220. /// GRID ROW激活时信息带至编辑区
  221. /// </summary>
  222. /// <param name="sender"></param>
  223. /// <param name="e"></param>
  224. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  225. {
  226. Infragistics.Win.UltraWinGrid.UltraGridRow row = ultraGrid1.ActiveRow;
  227. if (row != null)
  228. {
  229. //PROCESS_CODE,PROCESS_DESC,STATION_CODE,STATION_DESC,CRAFTITEM_CODE,CRAFTITEM_DESC,ALLOW_COUNT
  230. //txtProcess_Desc,txtStation_Code,txtCraftitem_Code,txtAllow_Count
  231. //工序名称
  232. txtProcess_Desc.Text = row.Cells["PROCESS_DESC"].Value.ToString();
  233. //工序点代码
  234. cmbControlPoint.Value = row.Cells["STATION_CODE"].Value.ToString();
  235. //工艺参数代码
  236. cmbGycs.Value = row.Cells["CRAFTITEM_CODE"].Value.ToString();
  237. //单个参数维护个数
  238. txtAllow_Count.Text = row.Cells["ALLOW_COUNT"].Value.ToString();
  239. //备注
  240. txtMemo.Text = row.Cells["MEMO"].Value.ToString();
  241. }
  242. }
  243. /// <summary>
  244. /// 删除或恢复
  245. /// </summary>
  246. /// <param name="isDelete">true删除 false恢复</param>
  247. private void doDeleteOrResume(bool isDelete)
  248. {
  249. ultraGrid1.UpdateData();
  250. ArrayList param = new ArrayList();
  251. string processCode = ultraGrid1.ActiveRow.Cells["PROCESS_CODE"].Value.ToString();
  252. param.Add(processCode);
  253. if (param.Count > 0 && MessageBox.Show("是否确认" + (isDelete ? "删除" : "恢复") + "选中的数据!", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
  254. {
  255. try
  256. {
  257. int count = ServerHelper.SetData("com.steering.pss.qcm.CoreProcessProparameters.deleteLineInfo", new Object[] { param, UserInfo.GetUserName(), isDelete }, this.ob);
  258. if (count > 0)
  259. {
  260. doQuery();
  261. Infragistics.Win.UltraWinGrid.UltraGridRow rowD = null;
  262. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  263. {
  264. rowD = ultraGrid1.Rows[i];
  265. if (rowD.Cells["PROCESS_CODE"].Value.ToString().Equals(processCode))
  266. {
  267. rowD.Activate();
  268. break;
  269. }
  270. }
  271. }
  272. }
  273. catch (Exception ex)
  274. {
  275. MessageBox.Show(ex.Message, "提示");
  276. }
  277. }
  278. }
  279. }
  280. }