frmProcess_Items.cs 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.Collections;
  9. using Core.Mes.Client.Common;
  10. namespace Core.LgMes.Client.LgIntegrationQuery
  11. {
  12. public partial class frmProcess_Items : Core.Mes.Client.Common.frmStyleBase
  13. {
  14. string err = "";
  15. string sSelectNodeName = ""; //保存最后一次选中的工序编码
  16. //string sSelectNodeTag = "";//保存最后一次选中的工序编码的Tag值
  17. DataSet dsTabCols = new DataSet();
  18. public frmProcess_Items()
  19. {
  20. InitializeComponent();
  21. }
  22. void doQuery()
  23. {
  24. try
  25. {
  26. switch (ulTab.SelectedTab.Key)
  27. {
  28. case "ulTabProcess":
  29. ulGridProcess.DataSource = queryProcess();
  30. break;
  31. case "ulTabItems":
  32. ulGridItems.DataSource = queryItems();
  33. break;
  34. case "ulTabSet":
  35. getSetItems(treeView1.SelectedNode == null ? " " : treeView1.SelectedNode.Name,"");
  36. BandTreeData();
  37. break;
  38. }
  39. }
  40. catch (Exception ex)
  41. {
  42. MessageBox.Show(ex.Message);
  43. }
  44. }
  45. void BandTreeData()
  46. {
  47. treeView1.Nodes.Clear();
  48. DataSet ds = queryProcess();
  49. bool bl = false;
  50. if (ds != null)
  51. {
  52. if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  53. {
  54. for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
  55. {
  56. if (ds.Tables[0].Rows[j]["PROCESSID"].ToString().Length > 0)
  57. {
  58. if (ds.Tables[0].Rows[j]["PROCESSID"].ToString().Length == 2)
  59. {
  60. treeView1.Nodes.Add(ds.Tables[0].Rows[j]["PROCESSID"].ToString(), ds.Tables[0].Rows[j]["PROCESSID"].ToString() + "-" + ds.Tables[0].Rows[j]["NAME_"].ToString() + "(" + ds.Tables[0].Rows[j]["DESCRIPTION"].ToString() + ")");
  61. treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString()].Tag = ds.Tables[0].Rows[j]["TABLE_NAME"].ToString();
  62. if (ds.Tables[0].Rows[j]["ISHAVE"].ToString() != "0")//该工序维护有对应的工艺参数
  63. treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString()].ForeColor = Color.Red;
  64. if (!bl)
  65. {
  66. if (sSelectNodeName == ds.Tables[0].Rows[j]["PROCESSID"].ToString())
  67. {
  68. tNode = treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString()];
  69. bl = true;
  70. }
  71. }
  72. }
  73. else
  74. {
  75. Core.Mes.Client.Common.Globals.findParentNode(treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, 2)], ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, ds.Tables[0].Rows[j]["PROCESSID"].ToString().Length - 2)).Nodes.Add(ds.Tables[0].Rows[j]["PROCESSID"].ToString(), ds.Tables[0].Rows[j]["PROCESSID"].ToString() + "-" + ds.Tables[0].Rows[j]["NAME_"].ToString() + "(" + ds.Tables[0].Rows[j]["DESCRIPTION"].ToString() + ")");
  76. Core.Mes.Client.Common.Globals.findParentNode(treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, 2)], ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, ds.Tables[0].Rows[j]["PROCESSID"].ToString().Length - 2)).Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString()].Tag = ds.Tables[0].Rows[j]["TABLE_NAME"].ToString();
  77. if (ds.Tables[0].Rows[j]["ISHAVE"].ToString() != "0")//该工序维护有对应的工艺参数
  78. Core.Mes.Client.Common.Globals.findParentNode(treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, 2)], ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, ds.Tables[0].Rows[j]["PROCESSID"].ToString().Length - 2)).Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString()].ForeColor = Color.Red;
  79. if (!bl)
  80. {
  81. if (sSelectNodeName == ds.Tables[0].Rows[j]["PROCESSID"].ToString())
  82. {
  83. tNode = Core.Mes.Client.Common.Globals.findParentNode(treeView1.Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, 2)], ds.Tables[0].Rows[j]["PROCESSID"].ToString().Substring(0, ds.Tables[0].Rows[j]["PROCESSID"].ToString().Length - 2)).Nodes[ds.Tables[0].Rows[j]["PROCESSID"].ToString()];
  84. bl = true;
  85. }
  86. }
  87. }
  88. }
  89. }
  90. treeView1.ExpandAll();
  91. treeView1.HideSelection = true;
  92. if (!bl)
  93. treeView1.SelectedNode = treeView1.Nodes[0];
  94. else
  95. treeView1.SelectedNode = tNode;
  96. }
  97. }
  98. }
  99. #region 查询
  100. //查询工序与工艺参数对应关系页面的工艺参数信息
  101. void getSetItems(string sNodeName,string sSelectItemCode)
  102. {
  103. string strErr = "";
  104. try
  105. {
  106. ArrayList arry = new ArrayList();
  107. arry.Add("GetSetItems.Query");
  108. arry.Add(sNodeName);
  109. CommonClientToServer cctos = new CommonClientToServer();
  110. cctos.ob = this.ob;
  111. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  112. "doSimpleQuery", arry, out strErr);
  113. if (strErr == "")
  114. {
  115. uldtsrcMain.Rows.Clear();
  116. foreach (DataRow dr in ds.Tables[0].Rows)
  117. {
  118. uldtsrcMain.Rows.Add(new object[] {dr["CRAFTITEMID"].ToString(),
  119. dr["CRAFTITEMNAME"].ToString(),
  120. dr["ITEMCLASS"].ToString(),
  121. dr["CRAFTTYPE"].ToString(),
  122. dr["OPERATOR"].ToString(),
  123. dr["INPUTTIME"].ToString(),
  124. dr["ITEMNUM"].ToString()
  125. });
  126. }
  127. //ulGridMain.DataSource = ds;
  128. for (int i = 0; i < ulGridMain.Rows.Count; i++)
  129. {
  130. if (ulGridMain.Rows[i].Cells["CRAFTITEMID"].Value.ToString() == sSelectItemCode)
  131. {
  132. ulGridMain.Rows[i].Activated = true;
  133. ulGridMain.Rows[i].Selected = true;
  134. break;
  135. }
  136. }
  137. }
  138. else
  139. {
  140. MessageBox.Show(err, "提示");
  141. }
  142. }
  143. catch (Exception ex)
  144. {
  145. MessageBox.Show(ex.Message);
  146. }
  147. }
  148. //查询工序
  149. DataSet queryProcess()
  150. {
  151. string strErr = "";
  152. try
  153. {
  154. ArrayList arry = new ArrayList();
  155. arry.Add("GetProcess.Query");
  156. CommonClientToServer cctos = new CommonClientToServer();
  157. cctos.ob = this.ob;
  158. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  159. "doSimpleQuery", arry, out strErr);
  160. if (err == "")
  161. return ds;
  162. else
  163. {
  164. MessageBox.Show(err, "提示");
  165. return null;
  166. }
  167. }
  168. catch (Exception ex)
  169. {
  170. MessageBox.Show(ex.Message);
  171. return null;
  172. }
  173. }
  174. //查询工艺参数
  175. DataSet queryItems()
  176. {
  177. string strErr = "";
  178. try
  179. {
  180. ArrayList arry = new ArrayList();
  181. arry.Add("GetItems.Query");
  182. CommonClientToServer cctos = new CommonClientToServer();
  183. cctos.ob = this.ob;
  184. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  185. "doSimpleQuery", arry, out strErr);
  186. if (err == "")
  187. return ds;
  188. else
  189. {
  190. MessageBox.Show(err, "提示");
  191. return null;
  192. }
  193. }
  194. catch (Exception ex)
  195. {
  196. MessageBox.Show(ex.Message);
  197. return null;
  198. }
  199. }
  200. #endregion
  201. void doAdd()
  202. {
  203. try
  204. {
  205. string strErr = "";
  206. string sSelectTab = ulTab.SelectedTab.Key;
  207. if (sSelectTab == "ulTabProcess")
  208. {
  209. #region 数据校验
  210. if (txtBH.Text.Trim() == "")
  211. {
  212. MessageBox.Show("工序编码不允许为空!", "提示");
  213. txtBH.Focus();
  214. return;
  215. }
  216. if (txtName.Text.Trim() == "")
  217. {
  218. MessageBox.Show("工序名称不允许为空!", "提示");
  219. txtName.Focus();
  220. return;
  221. }
  222. //if (ulcmbTableName.SelectedRow == null)
  223. //{
  224. // MessageBox.Show("工序对应的炼钢作业表名不允许为空!", "提示");
  225. // ulcmbTableName.Focus();
  226. // return;
  227. //}
  228. #endregion
  229. string strSqlID = "ZL_AddProcess";
  230. object[] sArgs = new object[6];
  231. sArgs[0] = txtBH.Text.Trim();
  232. sArgs[1] = txtName.Text.Trim();
  233. sArgs[2] = txtDescription.Text.Trim();
  234. sArgs[3] = checkBox1.Checked ? "1" : "0";
  235. sArgs[4] = this.UserInfo.GetUserName();
  236. sArgs[5] = ulcmbTableName.Value == null ? "" : ulcmbTableName.Value.ToString().Trim();
  237. Hashtable hashtb = new Hashtable();
  238. hashtb.Add("I1", sArgs[0]);
  239. hashtb.Add("I2", sArgs[1]);
  240. hashtb.Add("I3", sArgs[2]);
  241. hashtb.Add("I4", sArgs[3]);
  242. hashtb.Add("I5", sArgs[4]);
  243. hashtb.Add("I6", sArgs[5]);
  244. hashtb.Add("O1", "");
  245. hashtb.Add("O2", "");
  246. CommonClientToServer ccTs = new CommonClientToServer();
  247. ccTs.ob = ob;
  248. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog",
  249. "BaseDataManage", strSqlID, hashtb, out strErr);
  250. //sArgs[5] = ulcmeStyle_Process.Text.Trim();
  251. //sArgs[6] = ulcmbTableName.Value == null ? "" : ulcmbTableName.Value.ToString().Trim();
  252. ////sArgs[4] = (ulcmbTableName.SelectedRow == null?"":ulcmbTableName.SelectedRow.Cells["TABLE_NAME"].Value.ToString());
  253. if (strErr=="")
  254. {
  255. DataRow dr = ((DataSet)ulGridProcess.DataSource).Tables[0].NewRow();
  256. dr["PROCESSID"] = sArgs[0].ToString();
  257. dr["NAME_"] = sArgs[1].ToString();
  258. dr["DESCRIPTION"] = sArgs[2].ToString();
  259. dr["FLAG"] = sArgs[3].ToString() == "1" ? "有效" : "无效";
  260. dr["INPUTTIME"] = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  261. dr["RECORDER"] = sArgs[4].ToString();
  262. //dr["PROCESSTYPE"] = sArgs[5].ToString();
  263. dr["TABLE_NAME"] = sArgs[6].ToString();
  264. ((DataSet)ulGridProcess.DataSource).Tables[0].Rows.Add(dr);
  265. ((DataSet)ulGridProcess.DataSource).Tables[0].AcceptChanges();
  266. ulGridProcess.Rows[ulGridProcess.Rows.Count - 1].Selected = true;
  267. ulGridProcess.Rows[ulGridProcess.Rows.Count - 1].Activated = true;
  268. }
  269. else
  270. MessageBox.Show("操作失败!原因:" + err, "提示");
  271. }
  272. else if (sSelectTab == "ulTabItems")
  273. {
  274. #region 数据校验
  275. if (txtID.Text.Trim() == "")
  276. {
  277. MessageBox.Show("参数项编码不允许为空!", "提示");
  278. txtID.Focus();
  279. return;
  280. }
  281. if (txtItmeName.Text.Trim() == "")
  282. {
  283. MessageBox.Show("参数项名称不允许为空!", "提示");
  284. txtItmeName.Focus();
  285. return;
  286. }
  287. //if (ulcmeType.Text.Trim() == "")
  288. //{
  289. // MessageBox.Show("参数项类型不允许为空!", "提示");
  290. // ulcmeType.Focus();
  291. // return;
  292. //}
  293. if (ultraComboEditor1.Text.Trim() == "")
  294. {
  295. MessageBox.Show("工艺类型不允许为空!", "提示");
  296. ultraComboEditor1.Focus();
  297. return;
  298. }
  299. #endregion
  300. string strSqlID = "ZL_AddItems";
  301. object[] sArgs = new object[5];
  302. sArgs[0] = txtID.Text.Trim();//工艺参数编码
  303. sArgs[1] = txtItmeName.Text.Trim();//工艺参数说明
  304. sArgs[2] = "";//ulcmeType.Value.ToString();//参数类型(成分类,温度类,基它类)
  305. sArgs[3] = ultraComboEditor1.Value.ToString();//工艺类型(炼钢或轧钢)
  306. sArgs[4] = this.UserInfo.GetUserName();//维护人
  307. Hashtable hashtb = new Hashtable();
  308. hashtb.Add("I1", sArgs[0]);
  309. hashtb.Add("I2", sArgs[1]);
  310. hashtb.Add("I3", sArgs[2]);
  311. hashtb.Add("I4", sArgs[3]);
  312. hashtb.Add("I5", sArgs[4]);
  313. hashtb.Add("O1", "");
  314. hashtb.Add("O2", "");
  315. CommonClientToServer ccTs = new CommonClientToServer();
  316. ccTs.ob = ob;
  317. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog",
  318. "BaseDataManage", strSqlID, hashtb, out strErr);
  319. if (strErr=="")
  320. {
  321. DataRow dr = ((DataSet)ulGridItems.DataSource).Tables[0].NewRow();
  322. dr["CRAFTITEMID"] = sArgs[0].ToString();
  323. dr["CRAFTITEMNAME"] = sArgs[1].ToString();
  324. dr["ITEMCLASS"] = sArgs[2].ToString();
  325. dr["CRAFTTYPE"] = sArgs[3].ToString();
  326. dr["RECORDER"] = sArgs[4].ToString();
  327. dr["INPUTTIME"] = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  328. ((DataSet)ulGridItems.DataSource).Tables[0].Rows.Add(dr);
  329. ((DataSet)ulGridItems.DataSource).Tables[0].AcceptChanges();
  330. ulGridItems.Rows[ulGridItems.Rows.Count - 1].Activated = true;
  331. ulGridItems.Rows[ulGridItems.Rows.Count - 1].Selected = true;
  332. }
  333. else
  334. MessageBox.Show("操作失败!原因:" + err, "提示");
  335. }
  336. else if (sSelectTab == "ulTabSet")
  337. {
  338. if (treeView1.SelectedNode != null)
  339. {
  340. ArrayList arrItems = new ArrayList();
  341. ArrayList arrNums = new ArrayList();
  342. //ArrayList arrFormula = new ArrayList();
  343. //ArrayList arrFormula_Memo = new ArrayList();
  344. ulGridMain.UpdateData();
  345. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow drow in ulGridMain.Rows)
  346. {
  347. if (drow.Cells["UCCHOOSE"].Value.ToString().ToUpper() == "TRUE")
  348. {
  349. arrItems.Add(drow.Cells["CRAFTITEMID"].Value.ToString());
  350. arrNums.Add(drow.Cells["ITEMNUM"].Value.ToString());
  351. //arrFormula.Add(drow.Cells["FORMULA"].Text.Trim() == "" ? "Empty" : drow.Cells["FORMULA"].Text.Trim());
  352. //arrFormula_Memo.Add(drow.Cells["FORMULA_MEMO"].Text.Trim() == "" ? "Empty" : drow.Cells["FORMULA_MEMO"].Text.Trim());
  353. }
  354. }
  355. if (arrItems.Count == 0)
  356. return;
  357. string strSqlID = "ZL_AddSet";
  358. object[] sArgs = new object[4];
  359. sArgs[0] = treeView1.SelectedNode.Name;
  360. sArgs[1] = arrItems;
  361. sArgs[2] = arrNums;
  362. sArgs[3] = this.UserInfo.GetUserName();
  363. CommonClientToServer ccTs = new CommonClientToServer();
  364. ccTs.ob = ob;
  365. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure",
  366. "ExecProcWithCollParam", strSqlID, sArgs, out strErr);
  367. if (strErr=="")
  368. BandTreeData();
  369. else
  370. MessageBox.Show("操作失败!原因:" + err, "提示");
  371. }
  372. }
  373. }
  374. catch (Exception ex)
  375. {
  376. MessageBox.Show(ex.Message);
  377. }
  378. }
  379. void doUpdate()
  380. {
  381. try
  382. {
  383. string strErr = "";
  384. string sSelectTab = ulTab.SelectedTab.Key;
  385. if (sSelectTab == "ulTabProcess")
  386. {
  387. if (ulGridProcess.ActiveRow != null)
  388. {
  389. if (ulGridProcess.ActiveRow == null)
  390. return;
  391. #region 数据校验
  392. if (txtBH.Text.Trim() == "")
  393. {
  394. MessageBox.Show("工序编码不允许为空!", "提示");
  395. txtBH.Focus();
  396. return;
  397. }
  398. if (txtName.Text.Trim() == "")
  399. {
  400. MessageBox.Show("工序名称不允许为空!", "提示");
  401. txtName.Focus();
  402. return;
  403. }
  404. #endregion
  405. string strSqlID = "ZL_UpdateProcess";
  406. object[] sArgs = new object[8];
  407. sArgs[0] = txtBH.Text.Trim();//工序编码
  408. sArgs[1] = txtName.Text.Trim();//工序名称
  409. sArgs[2] = txtDescription.Text.Trim();//工序说明
  410. sArgs[3] = checkBox1.Checked ? "1" : "0";//有效标志
  411. sArgs[4] = this.UserInfo.GetUserName();//维护人
  412. sArgs[5] = ulcmeStyle_Process.Text;//工序类型(炼钢或轧钢)
  413. sArgs[6] = ulcmbTableName.SelectedIndex == -1 ? "" : ulcmbTableName.SelectedItem.DataValue.ToString();//炼钢作业表的表名
  414. sArgs[7] = ulGridProcess.ActiveRow.Cells["PROCESSID"].Value.ToString();//工序编码(原)
  415. ////sArgs[5] = (ulcmbTableName.SelectedRow == null ? "" : ulcmbTableName.SelectedRow.Cells["TABLE_NAME"].Value.ToString());
  416. Hashtable hashtb = new Hashtable();
  417. hashtb.Add("I1", sArgs[0]);
  418. hashtb.Add("I2", sArgs[1]);
  419. hashtb.Add("I3", sArgs[2]);
  420. hashtb.Add("I4", sArgs[3]);
  421. hashtb.Add("I5", sArgs[4]);
  422. hashtb.Add("I6", sArgs[5]);
  423. hashtb.Add("I7", sArgs[6]);
  424. hashtb.Add("I8", sArgs[7]);
  425. hashtb.Add("O1", "");
  426. hashtb.Add("O2", "");
  427. CommonClientToServer ccTs = new CommonClientToServer();
  428. ccTs.ob = ob;
  429. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog",
  430. "BaseDataManage", strSqlID, hashtb, out strErr);
  431. if (strErr =="")
  432. {
  433. ulGridProcess.ActiveRow.Cells["PROCESSID"].Value = sArgs[0].ToString();
  434. ulGridProcess.ActiveRow.Cells["NAME_"].Value = sArgs[1].ToString();
  435. ulGridProcess.ActiveRow.Cells["DESCRIPTION"].Value = sArgs[2].ToString();
  436. if (sArgs[3].ToString() == "1")
  437. ulGridProcess.ActiveRow.Cells["FLAG"].Value = "有效";
  438. else
  439. ulGridProcess.ActiveRow.Cells["FLAG"].Value = "无效";
  440. ulGridProcess.ActiveRow.Cells["RECORDER"].Value = sArgs[4].ToString();
  441. ulGridProcess.ActiveRow.Cells["INPUTTIME"].Value = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  442. //ulGridProcess.ActiveRow.Cells["PROCESSTYPE"].Value = sArgs[5].ToString();
  443. //ulGridProcess.ActiveRow.Cells["TABLE_NAME"].Value = sArgs[6].ToString();
  444. ((DataSet)ulGridProcess.DataSource).Tables[0].AcceptChanges();
  445. }
  446. else
  447. MessageBox.Show("操作失败!原因:" + err, "提示");
  448. }
  449. }
  450. else if (sSelectTab == "ulTabItems")
  451. {
  452. if (ulGridItems.ActiveRow == null)
  453. return;
  454. #region 数据校验
  455. if (txtID.Text.Trim() == "")
  456. {
  457. MessageBox.Show("参数项编码不允许为空!", "提示");
  458. txtID.Focus();
  459. return;
  460. }
  461. if (txtItmeName.Text.Trim() == "")
  462. {
  463. MessageBox.Show("参数项名称不允许为空!", "提示");
  464. txtItmeName.Focus();
  465. return;
  466. }
  467. /*if (ulcmeType.Text.Trim() == "")
  468. {
  469. MessageBox.Show("参数项类型不允许为空!", "提示");
  470. ulcmeType.Focus();
  471. return;
  472. }*/
  473. #endregion
  474. string strSqlID = "ZL_UpdateItems";
  475. object[] sArgs = new object[6];
  476. sArgs[0] = txtID.Text.Trim();//工艺参数编码
  477. sArgs[1] = txtItmeName.Text.Trim();//工艺参数说明
  478. sArgs[2] = ulcmeType.Value.ToString();//参数类型(成分类,温度类,基它类)
  479. sArgs[3] = ultraComboEditor1.Value.ToString();//工艺类型(炼钢或轧钢)
  480. sArgs[4] = this.UserInfo.GetUserName();//维护人
  481. sArgs[5] = ulGridItems.ActiveRow.Cells["CRAFTITEMID"].Value.ToString().Trim();//工艺参数编码(原)
  482. Hashtable hashtb = new Hashtable();
  483. hashtb.Add("I1", sArgs[0]);
  484. hashtb.Add("I2", sArgs[1]);
  485. hashtb.Add("I3", sArgs[2]);
  486. hashtb.Add("I4", sArgs[3]);
  487. hashtb.Add("I5", sArgs[4]);
  488. hashtb.Add("I6", sArgs[5]);
  489. hashtb.Add("O1", "");
  490. hashtb.Add("O2", "");
  491. CommonClientToServer ccTs = new CommonClientToServer();
  492. ccTs.ob = ob;
  493. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog",
  494. "BaseDataManage", strSqlID, hashtb, out strErr);
  495. if (strErr == "")
  496. {
  497. ulGridItems.ActiveRow.Cells["CRAFTITEMID"].Value = sArgs[0].ToString();
  498. ulGridItems.ActiveRow.Cells["CRAFTITEMNAME"].Value = sArgs[1].ToString();
  499. ulGridItems.ActiveRow.Cells["ITEMCLASS"].Value = sArgs[2].ToString();
  500. ulGridItems.ActiveRow.Cells["CRAFTTYPE"].Value = sArgs[3].ToString();
  501. ulGridItems.ActiveRow.Cells["RECORDER"].Value = sArgs[4].ToString();
  502. ulGridItems.ActiveRow.Cells["INPUTTIME"].Value = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  503. ((DataSet)ulGridItems.DataSource).Tables[0].AcceptChanges();
  504. }
  505. else
  506. MessageBox.Show("操作失败!原因:" + err, "提示");
  507. }
  508. else if (sSelectTab == "ulTabSet")
  509. {
  510. if (treeView1.SelectedNode != null)
  511. {
  512. ArrayList arrItems = new ArrayList();
  513. ArrayList arrNums = new ArrayList();
  514. //ArrayList arrFormula = new ArrayList();
  515. //ArrayList arrFormula_Memo = new ArrayList();
  516. ulGridMain.UpdateData();
  517. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow drow in ulGridMain.Rows)
  518. {
  519. if (drow.Cells["UCCHOOSE"].Value.ToString().ToUpper() == "TRUE")
  520. {
  521. arrItems.Add(drow.Cells["CRAFTITEMID"].Value.ToString());
  522. arrNums.Add(drow.Cells["ITEMNUM"].Value.ToString());
  523. //arrFormula.Add(drow.Cells["FORMULA"].Text.Trim() == "" ? "Empty" : drow.Cells["FORMULA"].Text.Trim());
  524. //arrFormula_Memo.Add(drow.Cells["FORMULA_MEMO"].Text.Trim() == "" ? "Empty" : drow.Cells["FORMULA_MEMO"].Text.Trim());
  525. }
  526. }
  527. if (arrItems.Count == 0)
  528. return;
  529. string strSqlID = "ZL_AddSet";
  530. object[] sArgs = new object[4];
  531. sArgs[0] = treeView1.SelectedNode.Name;
  532. sArgs[1] = arrItems;
  533. sArgs[2] = arrNums;
  534. sArgs[3] = this.UserInfo.GetUserName();
  535. //sArgs[4] = arrFormula;
  536. //sArgs[5] = arrFormula_Memo;
  537. CommonClientToServer ccTs = new CommonClientToServer();
  538. ccTs.ob = ob;
  539. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure",
  540. "ExecProcWithCollParam", strSqlID, sArgs, out strErr);
  541. if (strErr =="")
  542. BandTreeData();
  543. else
  544. MessageBox.Show("操作失败!原因:" + err, "提示");
  545. }
  546. }
  547. }
  548. catch (Exception ex)
  549. {
  550. MessageBox.Show(ex.Message);
  551. }
  552. }
  553. void doDel()
  554. {
  555. try
  556. {
  557. string strErr = "";
  558. string sSelectTab = ulTab.SelectedTab.Key;
  559. if (sSelectTab == "ulTabProcess")
  560. {
  561. if (ulGridProcess.ActiveRow == null)
  562. return;
  563. if (MessageBox.Show("你确定要删除此行数据吗?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
  564. return;
  565. string strSqlID = "ZL_DelProcess";
  566. object[] sArgs = new object[1];
  567. sArgs[0] = ulGridProcess.ActiveRow.Cells["PROCESSID"].Value.ToString();
  568. Hashtable hashtb = new Hashtable();
  569. hashtb.Add("I1", sArgs[0]);
  570. hashtb.Add("O1", "");
  571. hashtb.Add("O2", "");
  572. CommonClientToServer ccTs = new CommonClientToServer();
  573. ccTs.ob = ob;
  574. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog",
  575. "BaseDataManage", strSqlID, hashtb, out strErr);
  576. if (strErr == "")
  577. {
  578. ulGridProcess.ActiveRow.Delete(false);
  579. ((DataSet)ulGridProcess.DataSource).Tables[0].AcceptChanges();
  580. }
  581. else
  582. MessageBox.Show("操作失败!原因:" + err, "提示");
  583. }
  584. else if (sSelectTab == "ulTabItems")
  585. {
  586. if (ulGridItems.ActiveRow == null)
  587. return;
  588. if (MessageBox.Show("你确定要删除此行数据吗?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
  589. return;
  590. string strSqlID = "ZL_DelItems";
  591. object[] sArgs = new object[1];
  592. sArgs[0] = ulGridItems.ActiveRow.Cells["CRAFTITEMID"].Value.ToString();
  593. Hashtable hashtb = new Hashtable();
  594. hashtb.Add("I1", sArgs[0]);
  595. hashtb.Add("O1", "");
  596. hashtb.Add("O2", "");
  597. CommonClientToServer ccTs = new CommonClientToServer();
  598. ccTs.ob = ob;
  599. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog",
  600. "BaseDataManage", strSqlID, hashtb, out strErr);
  601. if (strErr == "")
  602. {
  603. ulGridItems.ActiveRow.Delete(false);
  604. ((DataSet)ulGridItems.DataSource).Tables[0].AcceptChanges();
  605. }
  606. else
  607. MessageBox.Show("操作失败!原因:" + err, "提示");
  608. }
  609. else if (sSelectTab == "ulTabSet")
  610. {
  611. if (treeView1.SelectedNode != null)
  612. {
  613. if (MessageBox.Show("你确定要删除选中数据吗?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
  614. return;
  615. ArrayList arrItems = new ArrayList();
  616. ulGridMain.UpdateData();
  617. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow drow in ulGridMain.Rows)
  618. {
  619. if (drow.Cells["UCCHOOSE"].Value.ToString().ToUpper() == "TRUE")
  620. arrItems.Add(drow.Cells["CRAFTITEMID"].Value.ToString());
  621. }
  622. if (arrItems.Count == 0)
  623. return;
  624. string strSqlID = "ZL_DelProcessItems";
  625. object[] sArgs = new object[2];
  626. sArgs[0] = treeView1.SelectedNode.Name;
  627. sArgs[1] = arrItems;
  628. CommonClientToServer ccTs = new CommonClientToServer();
  629. ccTs.ob = ob;
  630. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure",
  631. "ExecProcWithCollParam", strSqlID, sArgs, out strErr);
  632. if (strErr == "")
  633. BandTreeData();
  634. else
  635. MessageBox.Show("操作失败!原因:" + err, "提示");
  636. }
  637. }
  638. }
  639. catch (Exception ex)
  640. {
  641. MessageBox.Show(ex.Message);
  642. }
  643. }
  644. int doExecute(string sMethodName, object[] sArgs)
  645. {
  646. try
  647. {
  648. return 1;
  649. //return ((int)ClientCommon._RemotingHelp.ExecuteMethod("标准管理", "Core.ZLMes.Server.Gfgl.Process_Items", sMethodName, new object[] { sArgs }, out err));
  650. }
  651. catch (Exception ex)
  652. {
  653. MessageBox.Show(ex.Message);
  654. return 0;
  655. }
  656. }
  657. public override void ToolBar_Click(object sender, string ToolbarKey)
  658. {
  659. switch (ToolbarKey)
  660. {
  661. case "Query":
  662. doQuery();
  663. break;
  664. case "Update":
  665. doUpdate();
  666. break;
  667. case "Add":
  668. doAdd();
  669. break;
  670. case "Delete":
  671. doDel();
  672. break;
  673. case "Export":
  674. #region 导出Excel
  675. switch (ulTab.SelectedTab.Key)
  676. {
  677. case "ulTabProcess":
  678. Core.Mes.Client.Common.Globals.ulGridToExcel(ulGridProcess, ulTab.SelectedTab.Text);
  679. break;
  680. case "ulTabItems":
  681. Core.Mes.Client.Common.Globals.ulGridToExcel(ulGridItems, ulTab.SelectedTab.Text);
  682. break;
  683. case "ulTabSet":
  684. Core.Mes.Client.Common.Globals.ulGridToExcel(ulGridMain, ulTab.SelectedTab.Text);
  685. break;
  686. }
  687. #endregion
  688. break;
  689. case "Exit":
  690. Close();
  691. break;
  692. }
  693. }
  694. TreeNode tNode = new TreeNode();//保存上次选择的Node
  695. private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
  696. {
  697. if (tNode.Text.Trim() != "")
  698. tNode.NodeFont = new Font("宋体", 9F, System.Drawing.FontStyle.Regular);
  699. treeView1.SelectedNode.NodeFont = new Font("宋体", 9F, System.Drawing.FontStyle.Bold);
  700. tNode = treeView1.SelectedNode;
  701. sSelectNodeName = e.Node.Name;
  702. //sSelectNodeTag = e.Node.Tag.ToString();
  703. getSetItems(e.Node.Name,"");
  704. }
  705. private void ulGrid_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
  706. {
  707. if (e.Row.Cells["OPERATOR"].Value.ToString() != "")
  708. e.Row.Appearance.BackColor = Color.MistyRose;
  709. else
  710. e.Row.Appearance.BackColor = Color.Empty;
  711. }
  712. private void ulGridItems_AfterRowActivate(object sender, EventArgs e)
  713. {
  714. ultraComboEditor1.Value = ulGridItems.ActiveRow.Cells["CRAFTTYPE"].Value.ToString();//工艺类型
  715. txtID.Text = ulGridItems.ActiveRow.Cells["CRAFTITEMID"].Value.ToString();//参数项编码
  716. txtItmeName.Text = ulGridItems.ActiveRow.Cells["CRAFTITEMNAME"].Value.ToString();//参数名称
  717. ulcmeType.Value = ulGridItems.ActiveRow.Cells["ITEMCLASS"].Value.ToString();
  718. }
  719. private void frmProcess_Items_Load(object sender, EventArgs e)
  720. {
  721. ulcmeStyle_Process.SelectedIndex = 1;
  722. ultraComboEditor1.SelectedIndex = 1;
  723. this.treeView1.ExpandAll();
  724. Init();
  725. }
  726. private void ulTab_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  727. {
  728. doQuery();
  729. }
  730. void Init()
  731. {
  732. try
  733. {
  734. string strErr = "";
  735. DataSet ds;
  736. ds = null;//(DataSet)ClientCommon._RemotingHelp.ExecuteMethod("标准管理", "Core.ZLMes.Server.Gfgl.Common", "getBaseInfo", new object[] { "1015" }, out err);
  737. if (ds != null)//参数项类型
  738. {
  739. ulcmeType.Items.Clear();
  740. Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeType, ds);
  741. }
  742. //查询炼钢作业表的表名与字段名 ds[0] :表名,ds[1] :字段名
  743. ArrayList arry = new ArrayList();
  744. arry.Add("GetTableInfo.Query");
  745. CommonClientToServer cctos = new CommonClientToServer();
  746. cctos.ob = this.ob;
  747. DataSet dsTableInfo = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  748. "doSimpleQuery", arry, out strErr);
  749. if (strErr == "")
  750. {
  751. ulcmbTableName.Items.Clear();
  752. Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmbTableName, dsTableInfo);
  753. ulcmeTableName.Items.Clear();
  754. Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeTableName, dsTableInfo);
  755. }
  756. else
  757. MessageBox.Show(err, "提示");
  758. }
  759. catch (Exception ex)
  760. {
  761. MessageBox.Show(ex.Message);
  762. }
  763. }
  764. private void ulGridProcess_AfterRowActivate_1(object sender, EventArgs e)
  765. {
  766. txtBH.Text = ulGridProcess.ActiveRow.Cells["PROCESSID"].Text;
  767. txtName.Text = ulGridProcess.ActiveRow.Cells["NAME_"].Text;
  768. checkBox1.Checked = ulGridProcess.ActiveRow.Cells["FLAG"].Text == "有效" ? true : false;
  769. txtDescription.Text = ulGridProcess.ActiveRow.Cells["DESCRIPTION"].Text;
  770. ulcmbTableName.Value = ulGridProcess.ActiveRow.Cells["TABLE_NAME"].Text;
  771. }
  772. private void ulcmeStyle_Process_ValueChanged(object sender, EventArgs e)
  773. {
  774. if (ulcmeStyle_Process.Value != null && ulcmeStyle_Process.Value.ToString() == "轧钢")
  775. {
  776. ulcmbTableName.Value = null;
  777. ulcmbTableName.Enabled = false;
  778. }
  779. else
  780. {
  781. ulcmbTableName.Enabled = true;
  782. }
  783. }
  784. private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
  785. {
  786. switch (e.ClickedItem.Name)
  787. {
  788. case "Add":
  789. //frmProcessEdit process = new frmProcessEdit();
  790. //process.sOperator = "增加";
  791. //process.sProcessID = sSelectNodeName;
  792. //if (process.ShowDialog() == DialogResult.Yes)
  793. //{
  794. // sSelectNodeName = process.sProcessID;
  795. // BandTreeData();
  796. //}
  797. break;
  798. case "Update":
  799. if (sSelectNodeName == "")
  800. {
  801. MessageBox.Show("请选择需要修改的工序!", "提示");
  802. return;
  803. }
  804. //frmProcessEdit processUpdate = new frmProcessEdit();
  805. //processUpdate.sOperator = "修改";
  806. //processUpdate.sProcessID = sSelectNodeName;
  807. //if (processUpdate.ShowDialog() == DialogResult.Yes)//操作成功
  808. //{
  809. // sSelectNodeName = processUpdate.sProcessID;
  810. // BandTreeData();
  811. //}
  812. break;
  813. case "Del":
  814. contextMenuStrip1.Visible = false;
  815. if (sSelectNodeName == "")
  816. {
  817. MessageBox.Show("请选择工序!","提示");
  818. return;
  819. }
  820. if (MessageBox.Show("你确定要删除工序(" + sSelectNodeName + ")?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
  821. return;
  822. object[] sArgs = new object[1];
  823. sArgs[0] = sSelectNodeName;
  824. if (doExecute("DelProcess", sArgs) > 0)
  825. {
  826. BandTreeData();
  827. }
  828. else
  829. MessageBox.Show("操作失败!原因:" + err, "提示");
  830. break;
  831. }
  832. }
  833. private void contextMenuStrip2_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
  834. {
  835. switch (e.ClickedItem.Name)
  836. {
  837. case "AddItem":
  838. //frmItemEdit itemAdd = new frmItemEdit();
  839. //itemAdd.sOperator = "增加";
  840. //if (itemAdd.ShowDialog() == DialogResult.Yes)
  841. //{
  842. // getSetItems(sSelectNodeName, itemAdd.sItemID);
  843. //}
  844. break;
  845. case "UpdateItem":
  846. if (ulGridMain.ActiveRow == null)
  847. {
  848. MessageBox.Show("请选择需要修改的工艺参数!", "提示");
  849. return;
  850. }
  851. //frmItemEdit itemUpdate = new frmItemEdit();
  852. //itemUpdate.sOperator = "修改";
  853. //itemUpdate.sItemID = ulGridMain.ActiveRow.Cells["CRAFTITEMCODE"].Value.ToString();
  854. //if (itemUpdate.ShowDialog() == DialogResult.Yes)//操作成功
  855. //{
  856. // getSetItems(sSelectNodeName, itemUpdate.sItemID);
  857. //}
  858. break;
  859. case "DelItem":
  860. contextMenuStrip2.Visible = false;
  861. if (ulGridMain.ActiveRow == null)
  862. {
  863. MessageBox.Show("请选择工艺参数!", "提示");
  864. return;
  865. }
  866. if (MessageBox.Show("你确定要删除工艺参数(" + ulGridMain.ActiveRow.Cells["CRAFTITEMNAME"].Value.ToString() + ")?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
  867. return;
  868. object[] sArgs = new object[1];
  869. sArgs[0] = ulGridMain.ActiveRow.Cells["CRAFTITEMCODE"].Value.ToString();
  870. if (doExecute("DelItems", sArgs) > 0)
  871. {
  872. ulGridMain.ActiveRow.Delete(false);
  873. }
  874. else
  875. MessageBox.Show("操作失败!原因:" + err, "提示");
  876. break;
  877. }
  878. }
  879. }
  880. }