FrmMSCCraft.cs 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using CoreFS.CA06;
  5. using Infragistics.Win.UltraWinEditors;
  6. using Infragistics.Win.UltraWinGrid;
  7. using System;
  8. using System.Collections;
  9. using System.Collections.Generic;
  10. using System.Data;
  11. using System.Linq;
  12. using System.Windows.Forms;
  13. namespace Core.StlMes.Client.Qcm
  14. {
  15. public partial class FrmMSCCraft : FrmBase
  16. {
  17. public UltraGridRow row;
  18. ArrayList parms = new ArrayList(); //界面上的数据
  19. ArrayList parms1 = new ArrayList(); //激活的一行的冶金规范码,产线号,全程顺序号,工序点代码,工艺参数主项代码。
  20. private string msc = "YJGF01"; //冶金规范码
  21. public string Msc
  22. {
  23. get { return msc; }
  24. set { msc = value; }
  25. }
  26. private string pline = "10"; //产线号
  27. public string Pline
  28. {
  29. get { return pline; }
  30. set { pline = value; }
  31. }
  32. private string processCode = "";
  33. public FrmMSCCraft()
  34. {
  35. InitializeComponent();
  36. this.IsLoadUserView = true;
  37. }
  38. public void PopupLoad(string msc, string mscPline, string processCode, OpeBase ob)
  39. {
  40. this.msc = msc;
  41. this.pline = mscPline;
  42. this.processCode = processCode;
  43. this.ob = ob;
  44. this.OnLoad(EventArgs.Empty);
  45. }
  46. private void FrmMSCCraft_Load(object sender, EventArgs e)
  47. {
  48. InitStation();
  49. initJGDropDown(this.ultraComboEditor1, "com.steering.pss.qcm.MSCCraft.GetJGSpec", "SPEC_CODE");
  50. initJGDropDown(this.ultraComboEditor2, "com.steering.pss.qcm.MSCCraft.GetParam", "CRAFT_CODE");
  51. }
  52. public override void ToolBar_Click(object sender, string ToolbarKey)
  53. {
  54. switch (ToolbarKey)
  55. {
  56. case "Query":
  57. this.InitStation();
  58. break;
  59. case "Save":
  60. this.doSave();
  61. break;
  62. case "Delete":
  63. this.doDelete();
  64. break;
  65. case "Close":
  66. ((Form)this.splitContainer1.TopLevelControl).Close();
  67. break;
  68. }
  69. }
  70. private string _stationCode = "";
  71. private string _craftItemCode = "";
  72. private void InitStation()
  73. {
  74. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.MSCCraft.InitStation",
  75. new object[] { msc, pline, processCode }, this.ob);
  76. GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
  77. if (dt != null && dt.Rows.Count > 0)
  78. {
  79. if (_stationCode != "")
  80. {
  81. UltraGridRow[] rows = ultraGrid1.Rows.AsQueryable().Where("STATION_CODE = '" + _stationCode + "'")
  82. .Where("CRAFTITEM_CODE = '" + _craftItemCode + "'").ToArray();
  83. if (rows.Length > 0)
  84. {
  85. rows[0].Activate();
  86. }
  87. else
  88. {
  89. ultraGrid1.Rows[0].Activate();
  90. }
  91. _stationCode = "";
  92. _craftItemCode = "";
  93. }
  94. else
  95. {
  96. ultraGrid1.Rows[0].Activate();
  97. }
  98. }
  99. }
  100. private void initJGDropDown(UltraComboEditor uce, string MethodId, string memberValue)
  101. {
  102. //初始化编辑区域下拉框
  103. DataTable dt = ServerHelper.GetData(MethodId, null, this.ob);
  104. DataRow dr = dt.NewRow();
  105. object[] obj = { "", "" };
  106. dr.ItemArray = obj;
  107. dt.Rows.InsertAt(dr, 0);
  108. if (dt != null && dt.Rows.Count > 0)
  109. {
  110. uce.DataSource = dt;
  111. uce.ValueMember = memberValue;
  112. }
  113. ClsBaseInfo.SetComboItemHeight(uce);
  114. }
  115. private void ultraGrid2_ClickCellButton(object sender, CellEventArgs e)
  116. {
  117. }
  118. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  119. {
  120. parms1 = new ArrayList();
  121. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  122. string parm_code = ugr.Cells["CRAFTITEM_CODE"].Value.ToString();
  123. string parm_desc = ugr.Cells["CRAFTITEM_DESC"].Value.ToString();
  124. int allow_count = Convert.ToInt32(ugr.Cells["ALLOW_COUNT"].Value.ToString().Trim());
  125. ArrayList list = new ArrayList();
  126. list.Add(msc);
  127. list.Add(pline);
  128. list.Add(ugr.GetValue("BACKLOG_SEQ"));
  129. list.Add(ugr.GetValue("PROCESS_CODE"));
  130. list.Add(ugr.GetValue("PROCESS_DESC"));
  131. list.Add(ugr.GetValue("PROCESS_CODE_C"));
  132. list.Add(ugr.GetValue("PROCESS_DESC_C"));
  133. list.Add(ugr.GetValue("STATION_CODE"));
  134. list.Add(ugr.GetValue("STATION_DESC"));
  135. list.Add(parm_code);
  136. list.Add(parm_desc);
  137. list.Add(allow_count);
  138. SetGrid(list);
  139. }
  140. public void SetGrid(ArrayList list)
  141. {//list 冶金规范码,产线号,全程顺序号,工序代码,工序名称,二级工序代码,二级工序名称,工序点代码,
  142. //工序点名称,工艺参数主项代码,工艺参数主项名称,单条维护顺序号(共12个)
  143. parms1.Add(list[0]);
  144. parms1.Add(list[1]);
  145. parms1.Add(list[2]);
  146. parms1.Add(list[7]);
  147. parms1.Add(list[9]);
  148. int allow_count = Convert.ToInt32(list[11]);
  149. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.MSCCraft.doQuery", new Object[] { parms1 }, this.ob);
  150. GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable2, true);
  151. int i = dt.Rows.Count;
  152. allow_count -= i;
  153. for (int j = 0; j < allow_count; j++)
  154. {
  155. UltraGridRow row = this.ultraGrid2.DisplayLayout.Bands[0].AddNew();
  156. row.Cells["CHK"].Value = false;
  157. row.Cells["MSC"].Value = list[0];
  158. row.Cells["MSC_PLINE"].Value = list[1];
  159. row.Cells["BACKLOG_SEQ"].Value = list[2];
  160. row.Cells["PROCESS_CDOE"].Value = list[3];
  161. row.Cells["PROCESS_DESC"].Value = list[4];
  162. row.Cells["PROCESS_CDOE_C"].Value = list[5];
  163. row.Cells["PROCESS_DESC_C"].Value = list[6];
  164. row.Cells["STATION_CODE"].Value = list[7];
  165. row.Cells["STATION_DESC"].Value = list[8];
  166. row.Cells["CRAFTITEM_CDOE"].Value = list[9];
  167. row.Cells["CRAFTITEM_DESC"].Value = list[10];
  168. row.Update();
  169. }
  170. //初始化时的控制
  171. for (int k = 0; k < ultraGrid2.Rows.Count; k++)
  172. {
  173. if (!Convert.ToBoolean(ultraGrid2.Rows[k].Cells["CHK"].Value))
  174. {
  175. for (int j = 1; j < ultraGrid2.Rows[k].Cells.Count; j++)
  176. {
  177. ultraGrid2.Rows[k].Cells[j].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  178. }
  179. }
  180. else
  181. {
  182. for (int j = 1; j < ultraGrid2.Rows[k].Cells.Count; j++)
  183. {
  184. ultraGrid2.Rows[k].Cells["MIN_VALUE"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  185. ultraGrid2.Rows[k].Cells["MAX_VALUE"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  186. if (ultraGrid2.Rows[k].Cells["SPEC_JG_DESC"].Value.ToString() != "")
  187. {
  188. ultraGrid2.Rows[k].Cells["MIN_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  189. ultraGrid2.Rows[k].Cells["MAX_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  190. ultraGrid2.Rows[k].Cells["MIN_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  191. ultraGrid2.Rows[k].Cells["MAX_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  192. }
  193. else
  194. {
  195. ultraGrid2.Rows[k].Cells["MIN_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  196. ultraGrid2.Rows[k].Cells["MAX_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  197. ultraGrid2.Rows[k].Cells["MIN_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  198. ultraGrid2.Rows[k].Cells["MAX_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  199. }
  200. if (ultraGrid2.Rows[k].Cells["MIN_D"].Value.ToString() != "" || ultraGrid2.Rows[k].Cells["MAX_D"].Value.ToString() != ""
  201. || ultraGrid2.Rows[k].Cells["MIN_H"].Value.ToString() != "" || ultraGrid2.Rows[k].Cells["MAX_H"].Value.ToString() != "")
  202. {
  203. ultraGrid2.Rows[k].Cells["SPEC_JG_DESC"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  204. }
  205. else
  206. {
  207. ultraGrid2.Rows[k].Cells["SPEC_JG_DESC"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  208. }
  209. }
  210. }
  211. }
  212. ultraGrid1.UpdateData();
  213. }
  214. private int GetGrid()
  215. {
  216. int id = 0;
  217. double min = 0;
  218. double max = 0;
  219. parms = new ArrayList();
  220. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in ultraGrid2.Rows)
  221. {
  222. if (Convert.ToBoolean(row.Cells["CHK"].Value))
  223. {
  224. id += 1;
  225. ArrayList parm = new ArrayList();
  226. if (row.Cells["MIN_VALUE"].Value.ToString().Trim() != "")
  227. {
  228. if (StringUtil.IsNumber(row.Cells["MIN_VALUE"].Value.ToString()))
  229. {
  230. min = Convert.ToDouble(row.Cells["MIN_VALUE"].Value.ToString());
  231. if (row.Cells["MAX_VALUE"].Value.ToString().Trim() == "")
  232. {
  233. MessageUtil.ShowWarning("请输入工艺参数标准值最大(主项)");
  234. row.Cells["MAX_VALUE"].Activate();
  235. return -1;
  236. }
  237. else
  238. {
  239. if (StringUtil.IsNumber(row.Cells["MAX_VALUE"].Value.ToString()))
  240. {
  241. max = Convert.ToDouble(row.Cells["MAX_VALUE"].Value.ToString());
  242. }
  243. else
  244. {
  245. MessageUtil.ShowWarning("标准值最大(主项)请输入数字");
  246. row.Cells["MAX_VALUE"].Activate();
  247. return -1;
  248. }
  249. if (min > max)
  250. {
  251. MessageUtil.ShowWarning("您输入的标准值最小(主项)不能大于标准值最大(主项)");
  252. row.Cells["MIN_VALUE"].Activate();
  253. return -1;
  254. }
  255. }
  256. }
  257. }
  258. else
  259. {
  260. MessageUtil.ShowWarning("请输入工艺参数主项的标准值最小");
  261. row.Cells["MIN_VALUE"].Activate();
  262. return -1;
  263. }
  264. if (row.Cells["MIN_VALUE1"].Value.ToString().Trim() != "")
  265. {
  266. if (StringUtil.IsNumber(row.Cells["MIN_VALUE1"].Value.ToString()))
  267. {
  268. min = Convert.ToDouble(row.Cells["MIN_VALUE1"].Value.ToString());
  269. if (row.Cells["MAX_VALUE1"].Value.ToString().Trim() == "")
  270. {
  271. MessageUtil.ShowWarning("请输入工艺参数标准值最大(从项1)");
  272. row.Cells["MAX_VALUE1"].Activate();
  273. return -1;
  274. }
  275. else
  276. {
  277. if (StringUtil.IsNumber(row.Cells["MAX_VALUE1"].Value.ToString()))
  278. {
  279. max = Convert.ToDouble(row.Cells["MAX_VALUE1"].Value.ToString());
  280. }
  281. else
  282. {
  283. MessageUtil.ShowWarning("标准值最大(从项1)请输入数字");
  284. return -1;
  285. }
  286. if (min > max)
  287. {
  288. MessageUtil.ShowWarning("您输入的标准值最小(从项1)不能大于标准值最大(从项1)");
  289. row.Cells["MAX_VALUE1"].Activate();
  290. return -1;
  291. }
  292. }
  293. }
  294. }
  295. else if (row.Cells["CRAFTITEM_DESC1"].Value.ToString().Trim() != "")
  296. {
  297. MessageUtil.ShowWarning("请输入工艺参数(从项1)标准值最小");
  298. row.Cells["MIN_VALUE1"].Activate();
  299. return -1;
  300. }
  301. if (row.Cells["MIN_VALUE2"].Value.ToString().Trim() != "")
  302. {
  303. if (StringUtil.IsNumber(row.Cells["MIN_VALUE2"].Value.ToString()))
  304. {
  305. min = Convert.ToDouble(row.Cells["MIN_VALUE2"].Value.ToString());
  306. if (row.Cells["MAX_VALUE2"].Value.ToString().Trim() == "")
  307. {
  308. MessageUtil.ShowWarning("请输入工艺参数标准值最大(从项2)");
  309. row.Cells["MAX_VALUE2"].Activate();
  310. return -1;
  311. }
  312. else
  313. {
  314. if (StringUtil.IsNumber(row.Cells["MAX_VALUE2"].Value.ToString()))
  315. {
  316. max = Convert.ToDouble(row.Cells["MAX_VALUE2"].Value.ToString());
  317. }
  318. else
  319. {
  320. MessageUtil.ShowWarning("标准值最大(从项2)请输入数字");
  321. row.Cells["MAX_VALUE2"].Activate();
  322. return -1;
  323. }
  324. if (min > max)
  325. {
  326. MessageUtil.ShowWarning("您输入的标准值最小(从项2)不能大于标准值最大(从项2)");
  327. row.Cells["MIN_VALUE2"].Activate();
  328. return -1;
  329. }
  330. }
  331. }
  332. }
  333. else if (row.Cells["CRAFTITEM_DESC2"].Value.ToString().Trim() != "")
  334. {
  335. MessageUtil.ShowWarning("请输入工艺参数(从项2)标准值最小");
  336. row.Cells["MIN_VALUE2"].Activate();
  337. return -1;
  338. }
  339. if (row.GetValue("CRAFTITEM_DESC1") == "" && row.GetValue("CRAFTITEM_DESC2") != "")
  340. {
  341. MessageUtil.ShowWarning("请依次录入工艺参数(从项)!");
  342. row.Cells["CRAFTITEM_DESC1"].Activate();
  343. return -1;
  344. }
  345. if (row.Cells["MIN_VALUE3"].Value.ToString().Trim() != "")
  346. {
  347. if (StringUtil.IsNumber(row.Cells["MIN_VALUE3"].Value.ToString()))
  348. {
  349. min = Convert.ToDouble(row.Cells["MIN_VALUE3"].Value.ToString());
  350. if (row.Cells["MAX_VALUE3"].Value.ToString().Trim() == "")
  351. {
  352. MessageUtil.ShowWarning("请输入工艺参数标准值最大(主项)");
  353. row.Cells["MAX_VALUE3"].Activate();
  354. return -1;
  355. }
  356. else
  357. {
  358. if (StringUtil.IsNumber(row.Cells["MAX_VALUE3"].Value.ToString()))
  359. {
  360. max = Convert.ToDouble(row.Cells["MAX_VALUE3"].Value.ToString());
  361. }
  362. else
  363. {
  364. MessageUtil.ShowWarning("标准值最大(从项3)请输入数字");
  365. row.Cells["MAX_VALUE3"].Activate();
  366. return -1;
  367. }
  368. if (min > max)
  369. {
  370. MessageUtil.ShowWarning("您输入的标准值最小(从项3)不能大于标准值最大(从项3)");
  371. row.Cells["MIN_VALUE3"].Activate();
  372. return -1;
  373. }
  374. }
  375. }
  376. }
  377. else if (row.Cells["CRAFTITEM_DESC3"].Value.ToString().Trim() != "")
  378. {
  379. MessageUtil.ShowWarning("请输入工艺参数(从项3)标准值最小");
  380. row.Cells["MIN_VALUE3"].Activate();
  381. return -1;
  382. }
  383. if (row.GetValue("CRAFTITEM_DESC2") == "" && row.GetValue("CRAFTITEM_DESC3") != "")
  384. {
  385. MessageUtil.ShowWarning("请依次录入工艺参数(从项)!");
  386. row.Cells["CRAFTITEM_DESC2"].Activate();
  387. return -1;
  388. }
  389. if (row.Cells["MIN_VALUE4"].Value.ToString().Trim() != "")
  390. {
  391. if (StringUtil.IsNumber(row.Cells["MIN_VALUE4"].Value.ToString()))
  392. {
  393. min = Convert.ToDouble(row.Cells["MIN_VALUE4"].Value.ToString());
  394. if (row.Cells["MAX_VALUE4"].Value.ToString().Trim() == "")
  395. {
  396. MessageUtil.ShowWarning("请输入工艺参数标准值最大(主项)");
  397. row.Cells["MAX_VALUE4"].Activate();
  398. return -1;
  399. }
  400. else
  401. {
  402. if (StringUtil.IsNumber(row.Cells["MAX_VALUE4"].Value.ToString()))
  403. {
  404. max = Convert.ToDouble(row.Cells["MAX_VALUE4"].Value.ToString());
  405. }
  406. else
  407. {
  408. MessageUtil.ShowWarning("标准值最大(从项4)请输入数字");
  409. row.Cells["MAX_VALUE4"].Activate();
  410. return -1;
  411. }
  412. if (min > max)
  413. {
  414. MessageUtil.ShowWarning("您输入的标准值最小(从项4)不能大于标准值最大(从项4)");
  415. row.Cells["MIN_VALUE4"].Activate();
  416. return -1;
  417. }
  418. }
  419. }
  420. }
  421. else if (row.Cells["CRAFTITEM_DESC4"].Value.ToString().Trim() != "")
  422. {
  423. MessageUtil.ShowWarning("请输入工艺参数(从项4)标准值最小");
  424. row.Activate();
  425. return -1;
  426. }
  427. if (row.GetValue("CRAFTITEM_DESC3") == "" && row.GetValue("CRAFTITEM_DESC4") != "")
  428. {
  429. MessageUtil.ShowWarning("请依次录入工艺参数(从项)!");
  430. row.Cells["CRAFTITEM_DESC3"].Activate();
  431. return -1;
  432. }
  433. List<string> parmlist = new List<string>(); //存入4个从项描述
  434. if (row.Cells["CRAFTITEM_DESC1"].Value.ToString().Trim() != "")
  435. {
  436. parmlist.Add(row.Cells["CRAFTITEM_DESC1"].Value.ToString().Trim());
  437. }
  438. if (row.Cells["CRAFTITEM_DESC2"].Value.ToString().Trim() != "")
  439. {
  440. parmlist.Add(row.Cells["CRAFTITEM_DESC2"].Value.ToString().Trim());
  441. }
  442. if (row.Cells["CRAFTITEM_DESC3"].Value.ToString().Trim() != "")
  443. {
  444. parmlist.Add(row.Cells["CRAFTITEM_DESC3"].Value.ToString().Trim());
  445. }
  446. if (row.Cells["CRAFTITEM_DESC4"].Value.ToString().Trim() != "")
  447. {
  448. parmlist.Add(row.Cells["CRAFTITEM_DESC4"].Value.ToString().Trim());
  449. }
  450. List<string> parmlist1 = parmlist.Distinct().ToList(); //去除相同的项。
  451. if (parmlist1.Count < parmlist.Count)
  452. {
  453. MessageUtil.ShowWarning("工艺参数名称(从项1,从项2,从项3,从项4)不能相同");
  454. row.Activate();
  455. return -1;
  456. }
  457. if (row.Cells["MIN_D"].Value.ToString().Trim() != "")
  458. {
  459. min = Convert.ToDouble(row.Cells["MIN_D"].Value.ToString().Trim());
  460. if (row.Cells["MAX_D"].Value.ToString().Trim() != "")
  461. {
  462. max = Convert.ToDouble(row.Cells["MAX_D"].Value.ToString().Trim());
  463. if (max < min)
  464. {
  465. MessageUtil.ShowWarning("您输入的外径最小值不能大于最大值");
  466. row.Activate();
  467. return -1;
  468. }
  469. }
  470. }
  471. if (row.Cells["MIN_H"].Value.ToString().Trim() != "")
  472. {
  473. min = Convert.ToDouble(row.Cells["MIN_H"].Value.ToString().Trim());
  474. if (row.Cells["MAX_H"].Value.ToString().Trim() != "")
  475. {
  476. max = Convert.ToDouble(row.Cells["MAX_H"].Value.ToString().Trim());
  477. if (max < min)
  478. {
  479. MessageUtil.ShowWarning("您输入的壁厚最小值不能大于最大值");
  480. row.Activate();
  481. return -1;
  482. }
  483. }
  484. }
  485. parm.Add(row.Cells["MSC"].Value.ToString().Trim());
  486. parm.Add(row.Cells["MSC_PLINE"].Value.ToString().Trim());
  487. parm.Add(row.Cells["BACKLOG_SEQ"].Value.ToString().Trim());
  488. parm.Add(row.Cells["PROCESS_CDOE"].Value.ToString().Trim());
  489. parm.Add(row.Cells["PROCESS_DESC"].Value.ToString().Trim());
  490. parm.Add(row.Cells["PROCESS_CDOE_C"].Value.ToString().Trim());
  491. parm.Add(row.Cells["PROCESS_DESC_C"].Value.ToString().Trim());
  492. parm.Add(row.Cells["STATION_CODE"].Value.ToString().Trim());
  493. parm.Add(row.Cells["STATION_DESC"].Value.ToString().Trim());
  494. parm.Add(row.Cells["MIN_D"].Value.ToString().Trim());
  495. parm.Add(row.Cells["MAX_D"].Value.ToString().Trim());
  496. parm.Add(row.Cells["MIN_H"].Value.ToString().Trim());
  497. parm.Add(row.Cells["MAX_H"].Value.ToString().Trim());
  498. parm.Add(row.Cells["MODEL_CODE"].Value.ToString().Trim());
  499. parm.Add(row.Cells["MODEL_DESC"].Value.ToString().Trim());
  500. parm.Add(row.Cells["SPEC_JG"].Value.ToString().Trim());
  501. parm.Add(row.Cells["SPEC_JG_DESC"].Value.ToString().Trim());
  502. parm.Add(row.Cells["CRAFTITEM_CDOE"].Value.ToString().Trim());
  503. parm.Add(row.Cells["CRAFTITEM_DESC"].Value.ToString().Trim());
  504. parm.Add(id);
  505. parm.Add(row.Cells["MIN_VALUE"].Value.ToString().Trim());
  506. parm.Add(row.Cells["MAX_VALUE"].Value.ToString().Trim());
  507. parm.Add(row.Cells["CRAFTITEM_CDOE1"].Value.ToString().Trim());
  508. parm.Add(row.Cells["CRAFTITEM_DESC1"].Text);
  509. parm.Add(row.Cells["MIN_VALUE1"].Value.ToString().Trim());
  510. parm.Add(row.Cells["MAX_VALUE1"].Value.ToString().Trim());
  511. parm.Add(row.Cells["CRAFTITEM_CDOE2"].Value.ToString().Trim());
  512. parm.Add(row.Cells["CRAFTITEM_DESC2"].Text);
  513. parm.Add(row.Cells["MIN_VALUE2"].Value.ToString().Trim());
  514. parm.Add(row.Cells["MAX_VALUE2"].Value.ToString().Trim());
  515. parm.Add(row.Cells["CRAFTITEM_CDOE3"].Value.ToString().Trim());
  516. parm.Add(row.Cells["CRAFTITEM_DESC3"].Text);
  517. parm.Add(row.Cells["MIN_VALUE3"].Value.ToString().Trim());
  518. parm.Add(row.Cells["MAX_VALUE3"].Value.ToString().Trim());
  519. parm.Add(row.Cells["CRAFTITEM_CDOE4"].Value.ToString().Trim());
  520. parm.Add(row.Cells["CRAFTITEM_DESC4"].Text);
  521. parm.Add(row.Cells["MIN_VALUE4"].Value.ToString().Trim());
  522. parm.Add(row.Cells["MAX_VALUE4"].Value.ToString().Trim());
  523. parm.Add(this.UserInfo.GetUserName()); //操作人
  524. parm.Add(row.Cells["MEMO"].Value.ToString().Trim());
  525. parm.Add(row.Cells["GRADE_SEQ"].Value.ToString().Trim());
  526. parms.Add(parm);
  527. }
  528. }
  529. return 0;
  530. }
  531. private void doSave()
  532. {
  533. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  534. if (GetGrid() == 0)
  535. {
  536. if (MessageBox.Show("是否确定保存修改?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  537. {
  538. return;
  539. }
  540. CoreClientParam ccp = new CoreClientParam(); //CoreClientParam是平台用来向服务端传递存放所有相关参数信息的。
  541. ccp.ServerName = "com.steering.pss.qcm.MSCCraft"; //服务名指的是服务端的包名+类名
  542. ccp.MethodName = "doSave"; //方法名指的是服务名指定类里的方法
  543. ccp.ServerParams = new object[] { parms, parms1 };//服务端方法的参数
  544. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  545. if (ccp.ReturnCode == -1)
  546. return;
  547. MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  548. _stationCode = ugr.GetValue("STATION_CODE");
  549. _craftItemCode = ugr.GetValue("CRAFTITEM_CODE");
  550. InitStation();
  551. }
  552. }
  553. private void doDelete()
  554. {
  555. UltraGridRow ugr = this.ultraGrid1.ActiveRow;
  556. if (ugr == null) return;
  557. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == System.Windows.Forms.DialogResult.OK)
  558. {
  559. return;
  560. }
  561. CoreClientParam ccp = new CoreClientParam(); //CoreClientParam是平台用来向服务端传递存放所有相关参数信息的。
  562. ccp.ServerName = "com.steering.pss.qcm.MSCCraft"; //服务名指的是服务端的包名+类名
  563. ccp.MethodName = "doDelete"; //方法名指的是服务名指定类里的方法
  564. ccp.ServerParams = new object[] { parms1 };//服务端方法的参数
  565. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  566. if (ccp.ReturnCode == -1)
  567. return;
  568. MessageBox.Show("删除成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  569. _stationCode = ugr.GetValue("STATION_CODE");
  570. _craftItemCode = ugr.GetValue("CRAFTITEM_CODE");
  571. InitStation();
  572. }
  573. private void ultraGrid2_CellChange(object sender, CellEventArgs e)
  574. {
  575. this.ultraGrid2.UpdateData();
  576. if (e.Cell.Column.Key.Equals("CHK"))
  577. {
  578. if (Convert.ToBoolean(e.Cell.Value))
  579. {
  580. for (int j = 1; j < e.Cell.Row.Cells.Count; j++)
  581. {
  582. if ((j > 7) && (j < 39) && j != 19 || j == 41)
  583. {
  584. e.Cell.Row.Cells[j].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  585. }
  586. }
  587. e.Cell.Row.Cells["CRAFTITEM_DESC"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  588. e.Cell.Row.Cells["MEMO"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  589. }
  590. else
  591. {
  592. for (int j = 1; j < e.Cell.Row.Cells.Count; j++)
  593. {
  594. e.Cell.Row.Cells[j].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  595. }
  596. }
  597. }
  598. if (e.Cell.Column.Key == "CRAFTITEM_DESC")
  599. {
  600. if (e.Cell.Value.ToString() == "")
  601. {
  602. e.Cell.Row.SetValue("MIN_VALUE", "");
  603. e.Cell.Row.SetValue("MAX_VALUE", "");
  604. }
  605. }
  606. else if (e.Cell.Column.Key == "CRAFTITEM_DESC1")
  607. {
  608. if (e.Cell.Value.ToString() == "")
  609. {
  610. e.Cell.Row.SetValue("MIN_VALUE1", "");
  611. e.Cell.Row.SetValue("MAX_VALUE1", "");
  612. }
  613. }
  614. else if (e.Cell.Column.Key == "CRAFTITEM_DESC2")
  615. {
  616. if (e.Cell.Value.ToString() == "")
  617. {
  618. e.Cell.Row.SetValue("MIN_VALUE2", "");
  619. e.Cell.Row.SetValue("MAX_VALUE2", "");
  620. }
  621. }
  622. else if (e.Cell.Column.Key == "CRAFTITEM_DESC3")
  623. {
  624. if (e.Cell.Value.ToString() == "")
  625. {
  626. e.Cell.Row.SetValue("MIN_VALUE3", "");
  627. e.Cell.Row.SetValue("MAX_VALUE3", "");
  628. }
  629. }
  630. else if (e.Cell.Column.Key == "CRAFTITEM_DESC4")
  631. {
  632. if (e.Cell.Value.ToString() == "")
  633. {
  634. e.Cell.Row.SetValue("MIN_VALUE4", "");
  635. e.Cell.Row.SetValue("MAX_VALUE4", "");
  636. }
  637. }
  638. if (Convert.ToBoolean(e.Cell.Row.Cells["CHK"].Value))
  639. {
  640. if (String.IsNullOrEmpty(e.Cell.Row.Cells["CRAFTITEM_DESC1"].Value.ToString()))
  641. {
  642. e.Cell.Row.Cells["MIN_VALUE1"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  643. e.Cell.Row.Cells["MAX_VALUE1"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  644. }
  645. else
  646. {
  647. e.Cell.Row.Cells["MIN_VALUE1"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  648. e.Cell.Row.Cells["MAX_VALUE1"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  649. }
  650. if (String.IsNullOrEmpty(e.Cell.Row.Cells["CRAFTITEM_DESC2"].Value.ToString()))
  651. {
  652. e.Cell.Row.Cells["MIN_VALUE2"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  653. e.Cell.Row.Cells["MAX_VALUE2"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  654. }
  655. else
  656. {
  657. e.Cell.Row.Cells["MIN_VALUE2"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  658. e.Cell.Row.Cells["MAX_VALUE2"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  659. }
  660. if (String.IsNullOrEmpty(e.Cell.Row.Cells["CRAFTITEM_DESC3"].Value.ToString()))
  661. {
  662. e.Cell.Row.Cells["MIN_VALUE3"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  663. e.Cell.Row.Cells["MAX_VALUE3"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  664. }
  665. else
  666. {
  667. e.Cell.Row.Cells["MIN_VALUE3"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  668. e.Cell.Row.Cells["MAX_VALUE3"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  669. }
  670. if (String.IsNullOrEmpty(e.Cell.Row.Cells["CRAFTITEM_DESC4"].Value.ToString()))
  671. {
  672. e.Cell.Row.Cells["MIN_VALUE4"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  673. e.Cell.Row.Cells["MAX_VALUE4"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  674. }
  675. else
  676. {
  677. e.Cell.Row.Cells["MIN_VALUE4"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  678. e.Cell.Row.Cells["MAX_VALUE4"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  679. }
  680. if (!StringUtil.IsNumber(e.Cell.Row.Cells["MIN_VALUE"].Value.ToString()))
  681. {
  682. e.Cell.Row.Cells["MAX_VALUE"].Value = "";
  683. e.Cell.Row.Cells["MAX_VALUE"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  684. }
  685. else
  686. {
  687. e.Cell.Row.Cells["MAX_VALUE"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  688. }
  689. //if (!StringUtil.IsNumber(e.Cell.Row.Cells["MIN_VALUE1"].Value.ToString()))
  690. //{
  691. // e.Cell.Row.Cells["MAX_VALUE1"].Value = "";
  692. // e.Cell.Row.Cells["MAX_VALUE1"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  693. //}
  694. //else
  695. //{
  696. // e.Cell.Row.Cells["MAX_VALUE1"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  697. //}
  698. //if (!StringUtil.IsNumber(e.Cell.Row.Cells["MIN_VALUE2"].Value.ToString()))
  699. //{
  700. // e.Cell.Row.Cells["MAX_VALUE2"].Value = "";
  701. // e.Cell.Row.Cells["MAX_VALUE2"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  702. //}
  703. //else
  704. //{
  705. // e.Cell.Row.Cells["MAX_VALUE2"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  706. //}
  707. //if (!StringUtil.IsNumber(e.Cell.Row.Cells["MIN_VALUE3"].Value.ToString()))
  708. //{
  709. // e.Cell.Row.Cells["MAX_VALUE3"].Value = "";
  710. // e.Cell.Row.Cells["MAX_VALUE3"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  711. //}
  712. //else
  713. //{
  714. // e.Cell.Row.Cells["MAX_VALUE3"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  715. //}
  716. //if (!StringUtil.IsNumber(e.Cell.Row.Cells["MIN_VALUE4"].Value.ToString()))
  717. //{
  718. // e.Cell.Row.Cells["MAX_VALUE4"].Value = "";
  719. // e.Cell.Row.Cells["MAX_VALUE4"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  720. //}
  721. //else
  722. //{
  723. // e.Cell.Row.Cells["MAX_VALUE4"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  724. //}
  725. if (e.Cell.Row.Cells["MIN_D"].Value.ToString() != "" || e.Cell.Row.Cells["MAX_D"].Value.ToString() != ""
  726. || e.Cell.Row.Cells["MIN_H"].Value.ToString() != "" || e.Cell.Row.Cells["MAX_H"].Value.ToString() != "")
  727. {
  728. e.Cell.Row.Cells["SPEC_JG_DESC"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  729. }
  730. else
  731. {
  732. e.Cell.Row.Cells["SPEC_JG_DESC"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  733. }
  734. if (e.Cell.Row.Cells["SPEC_JG_DESC"].Value.ToString() != "")
  735. {
  736. e.Cell.Row.Cells["MIN_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  737. e.Cell.Row.Cells["MAX_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  738. e.Cell.Row.Cells["MIN_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  739. e.Cell.Row.Cells["MAX_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  740. }
  741. else
  742. {
  743. e.Cell.Row.Cells["MIN_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  744. e.Cell.Row.Cells["MAX_D"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  745. e.Cell.Row.Cells["MIN_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  746. e.Cell.Row.Cells["MAX_H"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  747. }
  748. }
  749. }
  750. private void ultraGrid2_AfterCellUpdate(object sender, CellEventArgs e)
  751. {
  752. UltraGridRow ugr = this.ultraGrid2.ActiveRow;
  753. if (e.Cell.Column.Key.Equals("CRAFTITEM_DESC1"))
  754. {
  755. if (ugr.Cells["CRAFTITEM_DESC1"].Value.ToString() != "")
  756. {
  757. this.ultraComboEditor2.Text = ugr.Cells["CRAFTITEM_DESC1"].Text.ToString();
  758. ugr.Cells["CRAFTITEM_CDOE1"].Value = this.ultraComboEditor2.Value.ToString();
  759. }
  760. }
  761. if (e.Cell.Column.Key.Equals("CRAFTITEM_DESC2"))
  762. {
  763. if (ugr.Cells["CRAFTITEM_DESC2"].Value.ToString() != "")
  764. {
  765. this.ultraComboEditor2.Text = ugr.Cells["CRAFTITEM_DESC2"].Text.ToString();
  766. ugr.Cells["CRAFTITEM_CDOE2"].Value = this.ultraComboEditor2.Value.ToString();
  767. }
  768. }
  769. if (e.Cell.Column.Key.Equals("CRAFTITEM_DESC3"))
  770. {
  771. if (ugr.Cells["CRAFTITEM_DESC3"].Value.ToString() != "")
  772. {
  773. this.ultraComboEditor2.Text = ugr.Cells["CRAFTITEM_DESC3"].Text.ToString();
  774. ugr.Cells["CRAFTITEM_CDOE3"].Value = this.ultraComboEditor2.Value.ToString();
  775. }
  776. }
  777. if (e.Cell.Column.Key.Equals("CRAFTITEM_DESC4"))
  778. {
  779. if (ugr.Cells["CRAFTITEM_DESC4"].Value.ToString() != "")
  780. {
  781. this.ultraComboEditor2.Text = ugr.Cells["CRAFTITEM_DESC4"].Text.ToString();
  782. ugr.Cells["CRAFTITEM_CDOE4"].Value = this.ultraComboEditor2.Value.ToString();
  783. }
  784. }
  785. if (e.Cell.Column.Key.Equals("SPEC_JG_DESC"))
  786. {
  787. if (ugr.Cells["SPEC_JG_DESC"].Value.ToString() != "")
  788. {
  789. this.ultraComboEditor1.Text = ugr.Cells["SPEC_JG_DESC"].Text.ToString();
  790. ugr.Cells["SPEC_JG"].Value = this.ultraComboEditor1.Value.ToString();
  791. }
  792. }
  793. }
  794. private void ultraTextEditor1_EditorButtonClick(object sender, EditorButtonEventArgs e)
  795. {
  796. UltraGridRow ugr = this.ultraGrid2.ActiveRow;
  797. if (ultraGrid2.ActiveCell.Column.Key == "MODEL_DESC" && Convert.ToBoolean(ugr.Cells["CHK"].Value))
  798. {
  799. //这一按钮列被点击,同时被点击的这一行被勾选了。
  800. this.row = this.ultraGrid2.ActiveRow;
  801. FrmModel fm = new FrmModel();
  802. fm.FrmOb = this.ob; //ob对象
  803. fm.Desc = row.Cells["MODEL_DESC"].Value.ToString();
  804. fm.ShowDialog();
  805. row.Cells["MODEL_CODE"].Value = fm.Code;
  806. row.Cells["MODEL_DESC"].Value = fm.Desc;
  807. }
  808. else if (ultraGrid2.ActiveCell.Column.Key == "GRADE_SEQ" && Convert.ToBoolean(ugr.Cells["CHK"].Value))
  809. {
  810. string gradeNames = ultraGrid2.ActiveCell.Value.ToString();
  811. FrmGradeChoice gradeChoice = new FrmGradeChoice(gradeNames, ob);
  812. if (gradeChoice.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  813. {
  814. ultraGrid2.ActiveCell.Value = gradeChoice.GradeNames;
  815. }
  816. }
  817. }
  818. }
  819. }