frmCraftStandard.cs 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866
  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. using CoreFS.CA06;
  11. using Infragistics.Win;
  12. namespace Core.LgMes.Client.LgIntegrationQuery
  13. {
  14. public partial class frmCraftStandard : Core.Mes.Client.Common.frmStyleBase
  15. {
  16. string err = "";
  17. Infragistics.Win.UltraWinGrid.UltraGridRow uGridRow;
  18. public string GYLSItems = "";
  19. public frmCraftStandard()
  20. {
  21. InitializeComponent();
  22. }
  23. private void frmCraftStandard_Load(object sender, EventArgs e)
  24. {
  25. Init();
  26. initializeData();
  27. }
  28. void Init()
  29. {
  30. try
  31. {
  32. string strErr = "";
  33. //全部牌号
  34. ArrayList arrySteel = new ArrayList();
  35. arrySteel.Add("GetZLSteel.Query");
  36. CommonClientToServer cctos = new CommonClientToServer();
  37. cctos.ob = this.ob;
  38. DataSet dsSteel = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  39. "doSimpleQuery", arrySteel, out strErr);
  40. //DataSet dsSteel = (DataSet)ClientCommon._RemotingHelp.ExecuteMethod("LGZL", "Core.XgMes.Server.Zlgl.Lg.CraftStandard", "getSteel", new object[] { }, out err);
  41. if (strErr == "")
  42. {
  43. Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeSteel_Q, dsSteel);
  44. Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeSteel, dsSteel);
  45. }
  46. //取内控标准号
  47. ArrayList arryStd = new ArrayList();
  48. arryStd.Add("GetShapeCode.Query");
  49. DataSet dsStd = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  50. "doSimpleQuery", arryStd, out strErr);
  51. if (strErr == "")
  52. {
  53. Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeStd_Q, dsStd);
  54. Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeStd, dsStd);
  55. Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeSTD_DC, dsStd);
  56. }
  57. //查询工艺参数
  58. ArrayList arryItems = new ArrayList();
  59. arryItems.Add("GetItems.Query");
  60. DataSet dsItems = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  61. "doSimpleQuery", arryItems, out strErr);
  62. if (strErr == "")
  63. {
  64. Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeItems, dsItems);
  65. }
  66. ulgridItem.DisplayLayout.Bands[0].Columns["ITEM1"].ValueList = proc_ValueListSteel(dsItems.Tables[0]);
  67. doQuery();
  68. }
  69. catch (Exception ex)
  70. {
  71. MessageBox.Show(ex.Message);
  72. }
  73. }
  74. void doQuery()
  75. {
  76. try
  77. {
  78. string strWhere = "", strErr="";
  79. string[] sArgs = new string[3];
  80. if (chbxStd.Checked && ulcmeStd_Q.Text != "")
  81. sArgs[0] = ulcmeStd_Q.Value.ToString();
  82. else
  83. sArgs[0] = "";
  84. if (chbxSteel.Checked && ulcmeSteel_Q.Text != "")
  85. sArgs[1] = ulcmeSteel_Q.Value.ToString();
  86. else
  87. sArgs[1] = "";
  88. if (chbxCraft.Checked && txtCraftCode_Q.Text.Trim() != "")
  89. sArgs[2] = txtCraftCode_Q.Text.Trim();
  90. else
  91. sArgs[2] = "";
  92. if (sArgs[0] != "")
  93. strWhere += " and STANDARD = '" + sArgs[0] + "' ";
  94. if (sArgs[1] != "")
  95. strWhere += " and STEELCODE = '" + sArgs[1] + "' ";
  96. if (sArgs[2] != "")
  97. strWhere += " and CRAFTCODE like '" + sArgs[2] + "%' ";
  98. //取作业标准数据
  99. ArrayList arry = new ArrayList();
  100. ArrayList sqlList = new ArrayList();
  101. arry.Add("GetCraftStdData.Query");
  102. sqlList.Add(strWhere);
  103. CoreClientParam CCP_Main = new CoreClientParam();
  104. DataTable dt = new DataTable();
  105. CCP_Main.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
  106. CCP_Main.MethodName = "doQuery";
  107. CCP_Main.ServerParams = new object[] { arry, sqlList };
  108. CCP_Main.SourceDataTable = dt;
  109. this.ExecuteQueryToDataTable(CCP_Main, CoreInvokeType.Internal);
  110. DataSet dsMain = new DataSet();
  111. dsMain.Tables.Add(dt);
  112. //获取工艺参数项最大值、最小值
  113. ArrayList arryIV = new ArrayList();
  114. ArrayList sqlListIv = new ArrayList();
  115. arryIV.Add("GetItemValue.Query");
  116. sqlListIv.Add(strWhere);
  117. CoreClientParam CCP_LgEts = new CoreClientParam();
  118. DataTable dtMain = new DataTable();
  119. CCP_LgEts.ServerName = "Core.LgMes.Server.Common.ComDBQuery";
  120. CCP_LgEts.MethodName = "doQuery";
  121. CCP_LgEts.ServerParams = new object[] { arryIV, sqlListIv };
  122. CCP_LgEts.SourceDataTable = dtMain;
  123. this.ExecuteQueryToDataTable(CCP_LgEts, CoreInvokeType.Internal);
  124. DataSet ds = new DataSet();
  125. ds.Tables.Add(dtMain);
  126. dsMain.Tables[0].TableName = "dtmain";
  127. ds.Tables[0].TableName = "dtChild";
  128. dsMain.Tables.Add(ds.Tables[0].Copy());
  129. dsMain.Relations.Add("Band 1", dsMain.Tables[0].Columns["CRAFTCODE"], dsMain.Tables[1].Columns["CRAFTCODE"],false);
  130. if (strErr == "")
  131. {
  132. ulGridMain.DataSource = dsMain;
  133. }
  134. else
  135. MessageBox.Show(err, "提示");
  136. }
  137. catch (Exception ex)
  138. {
  139. MessageBox.Show(ex.Message);
  140. }
  141. }
  142. void doAdd()
  143. {
  144. string strErr = "";
  145. if (ulcmeSteel.Text == "")
  146. {
  147. MessageBox.Show("请选择牌号!");
  148. ulcmeSteel.Focus();
  149. return;
  150. }
  151. if (ulcmeSteel.Value.ToString() == "")
  152. {
  153. MessageBox.Show("请选择牌号!");
  154. ulcmeSteel.Focus();
  155. return;
  156. }
  157. //if (ulcmeStd.Value.ToString() == "")
  158. //{
  159. // MessageBox.Show("请选择标准号!");
  160. // ulcmeStd.Focus();
  161. // return;
  162. //}
  163. if (txtCraftName.Text.Trim() == "")
  164. {
  165. MessageBox.Show("请输入工艺说明!");
  166. txtCraftName.Focus();
  167. return;
  168. }
  169. string strSqlID = "CraftStandard_Add";
  170. string[] sArgs = new string[5];
  171. sArgs[0] = txtCraftName.Text.Trim();
  172. sArgs[1] = ulcmeStd.Value.ToString();
  173. sArgs[2] = ulcmeSteel.Value.ToString();
  174. sArgs[3] = (chbxValid.Checked) ? "1" : "0";
  175. sArgs[4] = this.UserInfo.GetUserName();
  176. Hashtable hashtb = new Hashtable();
  177. hashtb.Add("I1", sArgs[0]);
  178. hashtb.Add("I2", sArgs[1]);
  179. hashtb.Add("I3", sArgs[2]);
  180. hashtb.Add("I4", sArgs[3]);
  181. hashtb.Add("I5", sArgs[4]);
  182. hashtb.Add("O1", "");
  183. hashtb.Add("O2", "");
  184. CommonClientToServer ccTs = new CommonClientToServer();
  185. ccTs.ob = ob;
  186. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog",
  187. "BaseDataManage", strSqlID, hashtb, out strErr);
  188. //string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure",
  189. // "ExecProcWithCollParam", strSqlID, sArgs, out strErr);
  190. if (strErr=="")
  191. activeMainRow(strErr);
  192. else
  193. MessageBox.Show(strErr);
  194. }
  195. void doCopyAdd()
  196. {
  197. string strErr = "";
  198. try
  199. {
  200. Infragistics.Win.UltraWinGrid.UltraGridRow row = this.ulGridMain.ActiveRow;
  201. if (row != null)
  202. {
  203. if (row.ParentRow != null)
  204. row = row.ParentRow;
  205. string strSqlID = "CraftStandard_CopyAdd";
  206. string[] sArgs = new string[2];
  207. sArgs[0] = row.Cells["CRAFTCODE"].Text;
  208. sArgs[1] = this.UserInfo.GetUserName();
  209. Hashtable hashtb = new Hashtable();
  210. hashtb.Add("I1", sArgs[0]);
  211. hashtb.Add("I2", sArgs[1]);
  212. hashtb.Add("O1", "");
  213. hashtb.Add("O2", "");
  214. CommonClientToServer ccTs = new CommonClientToServer();
  215. ccTs.ob = ob;
  216. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog",
  217. "BaseDataManage", strSqlID, hashtb, out strErr);
  218. //CommonClientToServer ccTs = new CommonClientToServer();
  219. //ccTs.ob = ob;
  220. //string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure",
  221. // "ExecProcWithCollParam", strSqlID, sArgs, out strErr);
  222. //object obj = ClientCommon._RemotingHelp.ExecuteMethod("LGBZ", "Core.XgMes.Server.Zlgl.Lg.CraftStandard", "doCopyAdd", new object[] { sArgs }, out err);
  223. if (strErr =="")
  224. activeMainRow(err);
  225. else
  226. MessageBox.Show(err);
  227. }
  228. }
  229. catch (Exception ex)
  230. {
  231. MessageBox.Show(ex.Message);
  232. }
  233. }
  234. void doEdit()
  235. {
  236. string strErr = "";
  237. Infragistics.Win.UltraWinGrid.UltraGridRow row = this.ulGridMain.ActiveRow;
  238. Infragistics.Win.UltraWinGrid.UltraGridRow pRow = row.ParentRow;
  239. Infragistics.Win.UltraWinGrid.UltraGridRow arow;
  240. if (pRow != null)
  241. arow = pRow;
  242. else
  243. arow = row;
  244. if (arow != null)
  245. {
  246. if (ulcmeSteel.Text.ToString() == "")
  247. {
  248. MessageBox.Show("请选择牌号!");
  249. ulcmeSteel.Focus();
  250. return;
  251. }
  252. //if (ulcmeStd.Text.ToString() == "")
  253. //{
  254. // MessageBox.Show("请选择标准号!");
  255. // ulcmeStd.Focus();
  256. // return;
  257. //}
  258. //if (txtCraftName.Text.Trim() == "")
  259. //{
  260. // MessageBox.Show("请输入工艺说明!");
  261. // txtCraftName.Focus();
  262. // return;
  263. //}
  264. string strSqlID = "CraftStandard_Edit";
  265. string[] sArgs = new string[6];
  266. sArgs[0] = arow.Cells["CRAFTCODE"].Text;
  267. sArgs[1] = txtCraftName.Text.Trim();
  268. sArgs[2] = ulcmeStd.Value.ToString();
  269. sArgs[3] = ulcmeSteel.Value.ToString();
  270. sArgs[4] = (chbxValid.Checked) ? "1" : "0";
  271. sArgs[5] = this.UserInfo.GetUserName();
  272. Hashtable hashtb = new Hashtable();
  273. hashtb.Add("I1", sArgs[0]);
  274. hashtb.Add("I2", sArgs[1]);
  275. hashtb.Add("I3", sArgs[2]);
  276. hashtb.Add("I4", sArgs[3]);
  277. hashtb.Add("I5", sArgs[4]);
  278. hashtb.Add("I6", sArgs[5]);
  279. hashtb.Add("O1", "");
  280. hashtb.Add("O2", "");
  281. CommonClientToServer ccTs = new CommonClientToServer();
  282. ccTs.ob = ob;
  283. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog",
  284. "BaseDataManage", strSqlID, hashtb, out strErr);
  285. //string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure",
  286. // "ExecProcWithCollParam", strSqlID, sArgs, out strErr);
  287. //object obj = ClientCommon._RemotingHelp.ExecuteMethod("LGBZ", "Core.XgMes.Server.Zlgl.Lg.CraftStandard", "doEdit", new object[] { sArgs }, out err);
  288. if (strErr =="")
  289. activeMainRow(err);
  290. else
  291. MessageBox.Show(err);
  292. }
  293. }
  294. void doDelete()
  295. {
  296. string strErr = "";
  297. Infragistics.Win.UltraWinGrid.UltraGridRow arow = this.ulGridMain.ActiveRow;
  298. if (arow != null)
  299. {
  300. if (MessageBox.Show("删除操作将会删除本工艺码及其下的所有工序、工艺参数设置信息!\n\n您确定继续删除操作吗?", "提示选择", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
  301. MessageBoxDefaultButton.Button1) == DialogResult.Yes)
  302. {
  303. string strSqlID = "CraftStandard_Del";
  304. string[] sArgs = new string[2];
  305. sArgs[0] = arow.Cells["CRAFTCODE"].Text;
  306. sArgs[1] = this.UserInfo.GetUserName();
  307. Hashtable hashtb = new Hashtable();
  308. hashtb.Add("I1", sArgs[0]);
  309. hashtb.Add("I2", sArgs[1]);
  310. hashtb.Add("O1", "");
  311. hashtb.Add("O2", "");
  312. CommonClientToServer ccTs = new CommonClientToServer();
  313. ccTs.ob = ob;
  314. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.lgIntegrationQuery.PerformanceLog",
  315. "BaseDataManage", strSqlID, hashtb, out strErr);
  316. if (strErr =="")
  317. {
  318. ulGridMain.ActiveRow.Delete(false);
  319. ((DataSet)ulGridMain.DataSource).Tables[0].AcceptChanges();
  320. }
  321. else
  322. {
  323. MessageBox.Show(err);
  324. }
  325. }
  326. }
  327. }
  328. void doUpdate()
  329. {
  330. try
  331. {
  332. if (this.ulGridMain.ActiveRow != null)
  333. {
  334. if (ulgridProcess.ActiveRow != null)
  335. {
  336. string strProcess = ulgridProcess.ActiveRow.Cells["PROCESSID"].Value.ToString();
  337. string sItem = "";
  338. ulgridItem.UpdateData();
  339. if (SaveItemChange(out sItem))
  340. {
  341. activeMainRow(ulGridMain.ActiveRow.Cells["CRAFTCODE"].Text);
  342. for (int j = 0; j < ulgridProcess.Rows.Count; j++)
  343. {
  344. if (ulgridProcess.Rows[j].Cells["PROCESSID"].Text == strProcess)
  345. {
  346. if (!ulgridProcess.Rows[j].Activated)
  347. {
  348. ulgridProcess.ActiveRow = ulgridProcess.Rows[j];
  349. ulgridProcess.Rows[j].Selected = true;
  350. }
  351. break;
  352. }
  353. }
  354. }
  355. }
  356. }
  357. }
  358. catch (Exception ex)
  359. {
  360. MessageBox.Show(ex.Message);
  361. }
  362. }
  363. bool SaveItemChange(out string sAnchorItemCode)
  364. {
  365. DataTable dtChanged = ((DataSet)ulgridItem.DataSource).Tables[0].GetChanges();
  366. ArrayList arylstItem1 = new ArrayList();
  367. ArrayList arylstItem1Min = new ArrayList();
  368. ArrayList arylstItem1Max = new ArrayList();
  369. ArrayList arylstItem2 = new ArrayList();
  370. ArrayList arylstItem2Min = new ArrayList();
  371. ArrayList arylstItem2Max = new ArrayList();
  372. ArrayList arylstItem3 = new ArrayList();
  373. ArrayList arylstItem3Min = new ArrayList();
  374. ArrayList arylstItem3Max = new ArrayList();
  375. ArrayList arylstXH = new ArrayList();
  376. if (dtChanged != null)
  377. {
  378. if (dtChanged.Rows.Count == 0)
  379. {
  380. sAnchorItemCode = "";
  381. return false;
  382. }
  383. for (int i = 0; i < dtChanged.Rows.Count; i++)
  384. {
  385. if (dtChanged.Rows[i]["CRAFTITEMCODE2"].ToString() != "" || dtChanged.Rows[i]["CRAFTITEMCODE3"].ToString() != "")
  386. {
  387. if (dtChanged.Rows[i]["ITEMMINVALUE1"].ToString() == "" && dtChanged.Rows[i]["ITEMMAXVALUE1"].ToString() == "")
  388. {
  389. sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString();
  390. MessageBox.Show("请输入参数项1的有效范围!");
  391. return false;
  392. }
  393. if (dtChanged.Rows[i]["CRAFTITEMCODE2"].ToString() != "")
  394. {
  395. if (dtChanged.Rows[i]["ITEMMINVALUE2"].ToString() == "" || dtChanged.Rows[i]["ITEMMAXVALUE2"].ToString() == "")
  396. {
  397. sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString();
  398. MessageBox.Show("请输入参数项2的有效范围!");
  399. return false;
  400. }
  401. else
  402. {
  403. if (double.Parse(dtChanged.Rows[i]["ITEMMINVALUE2"].ToString()) > double.Parse(dtChanged.Rows[i]["ITEMMAXVALUE2"].ToString()))
  404. {
  405. sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString();
  406. MessageBox.Show("请输入参数项2的有效范围!");
  407. return false;
  408. }
  409. }
  410. }
  411. if (dtChanged.Rows[i]["CRAFTITEMCODE3"].ToString() != "")
  412. {
  413. if (dtChanged.Rows[i]["ITEMMINVALUE3"].ToString() == "" || dtChanged.Rows[i]["ITEMMAXVALUE3"].ToString() == "")
  414. {
  415. sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString();
  416. MessageBox.Show("请输入参数项3的有效范围!");
  417. return false;
  418. }
  419. else
  420. {
  421. if (double.Parse(dtChanged.Rows[i]["ITEMMINVALUE3"].ToString()) > double.Parse(dtChanged.Rows[i]["ITEMMAXVALUE3"].ToString()))
  422. {
  423. sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString();
  424. MessageBox.Show("请输入参数项3的有效范围!");
  425. return false;
  426. }
  427. }
  428. }
  429. }
  430. else if ((dtChanged.Rows[i]["ITEMMINVALUE1"].ToString() == "" && dtChanged.Rows[i]["ITEMMAXVALUE1"].ToString() != ""))
  431. {
  432. sAnchorItemCode = dtChanged.Rows[i]["ITEM1"].ToString();
  433. MessageBox.Show("请输入参数项1的有效范围!");
  434. return false;
  435. }
  436. else if (dtChanged.Rows[i]["ITEMMINVALUE1"].ToString() != "" && dtChanged.Rows[i]["ITEMMAXVALUE1"].ToString() != "")
  437. {
  438. if (Globals.IsDouble(dtChanged.Rows[i]["ITEMMINVALUE1"].ToString()))
  439. {
  440. if (double.Parse(dtChanged.Rows[i]["ITEMMINVALUE1"].ToString()) > double.Parse(dtChanged.Rows[i]["ITEMMAXVALUE1"].ToString()))
  441. {
  442. sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString();
  443. MessageBox.Show("请输入参数项1的有效范围!");
  444. return false;
  445. }
  446. }
  447. else
  448. {
  449. sAnchorItemCode = dtChanged.Rows[i]["CRAFTITEMCODE1"].ToString();
  450. MessageBox.Show("请输入参数项1的有效范围!", "提示");
  451. return false;
  452. }
  453. }
  454. arylstItem1.Add(dtChanged.Rows[i]["item1"].ToString());
  455. arylstItem1Min.Add((dtChanged.Rows[i]["ITEMMINVALUE1"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["ITEMMINVALUE1"].ToString() : "Empty"));
  456. arylstItem1Max.Add((dtChanged.Rows[i]["ITEMMAXVALUE1"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["ITEMMAXVALUE1"].ToString() : "Empty"));
  457. arylstItem2.Add((dtChanged.Rows[i]["CRAFTITEMCODE2"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["CRAFTITEMCODE2"].ToString() : "Empty"));
  458. arylstItem2Min.Add((dtChanged.Rows[i]["ITEMMINVALUE2"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["ITEMMINVALUE2"].ToString() : "Empty"));
  459. arylstItem2Max.Add((dtChanged.Rows[i]["ITEMMAXVALUE2"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["ITEMMAXVALUE2"].ToString() : "Empty"));
  460. arylstItem3.Add((dtChanged.Rows[i]["CRAFTITEMCODE3"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["CRAFTITEMCODE3"].ToString() : "Empty"));
  461. arylstItem3Min.Add((dtChanged.Rows[i]["ITEMMINVALUE3"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["ITEMMINVALUE3"].ToString() : "Empty"));
  462. arylstItem3Max.Add((dtChanged.Rows[i]["ITEMMAXVALUE3"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["ITEMMAXVALUE3"].ToString() : "Empty"));
  463. arylstXH.Add((dtChanged.Rows[i]["XH"].ToString().Trim().Length > 0 ? dtChanged.Rows[i]["XH"].ToString() : "Empty"));
  464. }
  465. }
  466. else
  467. {
  468. sAnchorItemCode = "";
  469. return false;
  470. }
  471. string strErr = "";
  472. string strSqlID = "CraftStandard_Update";
  473. object[] sArgs = new object[13];
  474. sArgs[0] = this.ulGridMain.ActiveRow.Cells["CRAFTCODE"].Text;
  475. sArgs[1] = this.ulgridProcess.ActiveRow.Cells["PROCESSID"].Text;
  476. sArgs[2] = arylstItem1;
  477. sArgs[3] = arylstItem1Min;
  478. sArgs[4] = arylstItem1Max;
  479. sArgs[5] = arylstItem2;
  480. sArgs[6] = arylstItem2Min;
  481. sArgs[7] = arylstItem2Max;
  482. sArgs[8] = arylstItem3;
  483. sArgs[9] = arylstItem3Min;
  484. sArgs[10] = arylstItem3Max;
  485. sArgs[11] = this.UserInfo.GetUserName();
  486. sArgs[12] = arylstXH;
  487. Hashtable hashtb = new Hashtable();
  488. hashtb.Add("I1", sArgs[0]);
  489. hashtb.Add("I2", sArgs[1]);
  490. hashtb.Add("I3", sArgs[2]);
  491. hashtb.Add("I4", sArgs[3]);
  492. hashtb.Add("I5", sArgs[4]);
  493. hashtb.Add("I6", sArgs[5]);
  494. hashtb.Add("I7", sArgs[6]);
  495. hashtb.Add("I8", sArgs[7]);
  496. hashtb.Add("I9", sArgs[8]);
  497. hashtb.Add("I10", sArgs[9]);
  498. hashtb.Add("I11", sArgs[10]);
  499. hashtb.Add("I12", sArgs[11]);
  500. hashtb.Add("I13", sArgs[12]);
  501. hashtb.Add("O1", "");
  502. hashtb.Add("O2", "");
  503. CommonClientToServer ccTs = new CommonClientToServer();
  504. ccTs.ob = ob;
  505. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure",
  506. "ExecProcWithCollParam", strSqlID, sArgs, out strErr);
  507. if (strErr == "")
  508. {
  509. sAnchorItemCode = "";
  510. ((DataSet)ulgridItem.DataSource).Tables[0].AcceptChanges();
  511. return true;
  512. }
  513. else
  514. {
  515. sAnchorItemCode = "";
  516. MessageBox.Show(err);
  517. return false;
  518. }
  519. }
  520. void activeMainRow(string sReMSG)
  521. {
  522. try
  523. {
  524. doQuery();
  525. for (int i = 0; i < ulGridMain.Rows.Count; i++)
  526. {
  527. if (ulGridMain.Rows[i].Cells["CRAFTCODE"].Text == sReMSG)
  528. {
  529. if (!ulGridMain.Rows[i].Activated)
  530. {
  531. ulGridMain.Rows[i].Activated = true;
  532. ulGridMain.Rows[i].Selected = true;
  533. }
  534. break;
  535. }
  536. }
  537. }
  538. catch (Exception ex)
  539. {
  540. MessageBox.Show(ex.Message);
  541. }
  542. }
  543. void getProcess(string sCraftCode)
  544. {
  545. try
  546. {
  547. string strErr = "";
  548. //查询工艺参数
  549. ArrayList arry = new ArrayList();
  550. arry.Add("GetZYProcess.Query");
  551. arry.Add(sCraftCode);
  552. CommonClientToServer cctos = new CommonClientToServer();
  553. cctos.ob = this.ob;
  554. DataSet dsProcess = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  555. "doSimpleQuery", arry, out strErr);
  556. if (strErr == "")
  557. ulgridProcess.DataSource = dsProcess;
  558. else
  559. MessageBox.Show(err, "提示");
  560. }
  561. catch (Exception ex)
  562. {
  563. MessageBox.Show(ex.Message);
  564. }
  565. }
  566. private void chbxStd_CheckedChanged(object sender, EventArgs e)
  567. {
  568. ulcmeStd_Q.Enabled = chbxStd.Checked;
  569. }
  570. private void chbxSteel_CheckedChanged(object sender, EventArgs e)
  571. {
  572. ulcmeSteel_Q.Enabled = chbxSteel.Checked;
  573. }
  574. private void chbxCraft_CheckedChanged(object sender, EventArgs e)
  575. {
  576. txtCraftCode_Q.Enabled = chbxCraft.Checked;
  577. }
  578. private void ulGridMain_AfterRowActivate(object sender, EventArgs e)
  579. {
  580. if (uGridRow != null && uGridRow.IsExpanded)
  581. uGridRow.CollapseAll();
  582. Infragistics.Win.UltraWinGrid.UltraGridRow ulRow = ulGridMain.ActiveRow;
  583. if (ulRow.ParentRow != null)
  584. ulRow = ulGridMain.ActiveRow.ParentRow;
  585. uGridRow = ulRow;
  586. uGridRow.ExpandAll();
  587. txtCraftCode.Text = ulRow.Cells["CRAFTCODE"].Value.ToString();
  588. ulcmeStd.Value = ulRow.Cells["STANDARD"].Value.ToString();
  589. ulcmeSteel.Value = ulRow.Cells["STEELCODE"].Value.ToString();
  590. txtCraftName.Text = ulRow.Cells["CRAFTNAME"].Value.ToString();
  591. chbxValid.Checked = (ulRow.Cells["VALIDFLAG"].Value.ToString().ToUpper() == "TRUE" ? true : false);
  592. getProcess(ulGridMain.ActiveRow.Cells["CRAFTCODE"].Value.ToString());
  593. }
  594. private void ulgridProcess_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
  595. {
  596. if (e.Row.Cells["ISHAVE"].Value.ToString() == "0")
  597. e.Row.Appearance.BackColor = Color.Empty;
  598. else
  599. e.Row.Appearance.BackColor = Color.MistyRose;
  600. }
  601. public override void ToolBar_Click(object sender, string ToolbarKey)
  602. {
  603. switch (ToolbarKey)
  604. {
  605. case "Query":
  606. doQuery();
  607. break;
  608. case "Add":
  609. doAdd();
  610. break;
  611. case "Edit":
  612. doEdit();
  613. break;
  614. case "CopyAdd":
  615. doCopyAdd();
  616. break;
  617. case "Update":
  618. doUpdate();
  619. break;
  620. case "Delete":
  621. doDelete();
  622. break;
  623. case "Refresh":
  624. ulcmeSteel_Q.Items.Clear();
  625. ulcmeSteel.Items.Clear();
  626. ulcmeStd_Q.Items.Clear();
  627. ulcmeStd.Items.Clear();
  628. ulcmeItems.Items.Clear();
  629. ulcmeSTD_DC.Items.Clear();
  630. Init();
  631. break;
  632. case "Exit":
  633. this.Close();
  634. break;
  635. }
  636. }
  637. //工艺参数列表绑定
  638. private void ulgridProcess_AfterRowActivate(object sender, EventArgs e)
  639. {
  640. if (ulGridMain.ActiveRow == null)
  641. return;
  642. if (ulgridProcess.ActiveRow == null)
  643. return;
  644. string[] sArgs = new string[2];
  645. sArgs[0] = ulGridMain.ActiveRow.Cells["CRAFTCODE"].Value.ToString();
  646. sArgs[1] = ulgridProcess.ActiveRow.Cells["PROCESSID"].Value.ToString();
  647. string strErr = "";
  648. //查询工艺参数
  649. ArrayList arry = new ArrayList();
  650. arry.Add("GetCraftItems.Query");
  651. arry.Add(sArgs[0]);
  652. arry.Add(sArgs[1]);
  653. arry.Add(sArgs[1]);
  654. CommonClientToServer cctos = new CommonClientToServer();
  655. cctos.ob = this.ob;
  656. DataSet dsItems = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  657. "doSimpleQuery", arry, out strErr);
  658. if (strErr == "")
  659. {
  660. string sItem = "";
  661. int iRowCount = dsItems.Tables[0].Rows.Count;
  662. if (dsItems.Tables[0].Rows.Count > 0)
  663. {
  664. ulgridItem.DataSource = dsItems.Tables[0];
  665. sItem = dsItems.Tables[0].Rows[0]["ITEM1"].ToString();
  666. }
  667. else
  668. {
  669. DataSet dsgrid = (DataSet)ulgridItem.DataSource;
  670. dsgrid.Tables[0].Rows.Clear();
  671. ulgridItem.DataSource = dsgrid;
  672. ulgridItem.DataBind();
  673. }
  674. for (int i = 0; i < iRowCount; i++)
  675. {
  676. int iNum = Int32.Parse(dsItems.Tables[0].Rows[i]["ID_NUM"].ToString() == "" ? "1" : dsItems.Tables[0].Rows[i]["ID_NUM"].ToString());
  677. if (iNum > 1)
  678. {
  679. if (i > 0 && sItem == dsItems.Tables[0].Rows[i]["ITEM1"].ToString())
  680. continue;
  681. sItem = dsItems.Tables[0].Rows[i]["ITEM1"].ToString();
  682. int iLength = dsItems.Tables[0].Select("ITEM1='" + dsItems.Tables[0].Rows[i]["ITEM1"].ToString() + "'").GetLength(0);
  683. for (int j = 0; j < iNum - iLength; j++)
  684. {
  685. DataRow dr = dsItems.Tables[0].NewRow();
  686. dr["craftitemname"] = dsItems.Tables[0].Rows[i]["craftitemname"].ToString();
  687. dr["ITEM1"] = dsItems.Tables[0].Rows[i]["ITEM1"].ToString();
  688. dsItems.Tables[0].Rows.Add(dr);
  689. }
  690. }
  691. }
  692. if (dsItems.Tables[0].Rows.Count > 0)
  693. {
  694. DataView dv = dsItems.Tables[0].DefaultView;
  695. dv.Sort = "ITEM1 asc";
  696. DataSet ds = new DataSet();
  697. ds.Tables.Add(dv.ToTable().Copy());
  698. ulgridItem.DataSource = ds;
  699. }
  700. }
  701. else
  702. MessageBox.Show(err, "提示");
  703. }
  704. /// <summary>
  705. /// 数据为空时显示列头
  706. /// </summary>
  707. private void initializeData()
  708. {
  709. ultraDataSource4.Rows.Add(new object[] { "", null, null, "", null, null, "", null, null, "", null, null, "", null});
  710. }
  711. private void ulgridItem_DoubleClickCell(object sender, Infragistics.Win.UltraWinGrid.DoubleClickCellEventArgs e)
  712. {
  713. if (e.Cell.Column.Key == "ITEMMINVALUE1" && e.Cell.Row.Cells["ITEM1"].Value.ToString().Trim() == "LG0101002")
  714. {
  715. frmGYLS fml = new frmGYLS(ob);
  716. //if (fml.DialogResult == DialogResult.OK)
  717. //{
  718. fml.ShowDialog();
  719. GYLSItems = fml.gyls;
  720. e.Cell.Row.Cells["ITEMMINVALUE1"].Value = GYLSItems;
  721. //}
  722. //ulGrid.UpdateData();
  723. }
  724. }
  725. private ValueList proc_ValueListSteel(DataTable tb)
  726. {
  727. ValueList vlist = new ValueList();
  728. try
  729. {
  730. if (tb != null)
  731. {
  732. for (int i = 0; i < tb.Rows.Count; i++)
  733. vlist.ValueListItems.Add(Convert.ToString(tb.Rows[i][0]), Convert.ToString(tb.Rows[i][1]));
  734. }
  735. }
  736. catch { }
  737. return vlist;
  738. }
  739. private void ulcmeStd_Q_ValueChanged(object sender, EventArgs e)
  740. {
  741. //string strErr = "";
  742. ////查询工艺参数
  743. //ArrayList arry = new ArrayList();
  744. //arry.Add("PYZJM.Query");
  745. //arry.Add(this.ulcmeStd_Q.Text.ToUpper());
  746. //CommonClientToServer cctos = new CommonClientToServer();
  747. //cctos.ob = this.ob;
  748. //DataSet dsItems = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  749. // "doSimpleQuery", arry, out strErr);
  750. ////取内控标准号
  751. //ArrayList arryStd = new ArrayList();
  752. //arryStd.Add("ShapePYZJM.Query");
  753. //arryStd.Add(this.ulcmeStd_Q.Text.ToUpper());
  754. //DataSet dsStd = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  755. // "doSimpleQuery", arryStd, out strErr);
  756. //if (strErr == "")
  757. //{
  758. // Core.Mes.Client.Common.Globals.FillUltraComboItems(ulcmeStd_Q, dsStd);
  759. //}
  760. }
  761. }
  762. }