AnalysisNkChemPopupLg.cs 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
  5. using CoreFS.CA06;
  6. using Infragistics.Win.UltraWinGrid;
  7. using System;
  8. using System.Collections;
  9. using System.Collections.Generic;
  10. using System.ComponentModel;
  11. using System.Data;
  12. using System.Drawing;
  13. using System.Linq;
  14. using System.Text;
  15. using System.Windows.Forms;
  16. namespace Core.StlMes.Client.PlnSaleOrd.炼钢计划
  17. {
  18. public partial class AnalysisNkChemPopupLg : FrmBase
  19. {
  20. private int splitterDistance = 0;
  21. private string gradName;
  22. private string[] proPlanId;
  23. private string[] allCic;
  24. ArrayList list = null;
  25. private OpeBase ob;
  26. public AnalysisNkChemPopupLg(string[] _cic,string _gradeCode,OpeBase _ob,string[] _proPlanId,ArrayList _list)
  27. {
  28. InitializeComponent();
  29. //ultraGrid1.DataSource = dt;
  30. gradName = _gradeCode;
  31. list = _list;
  32. proPlanId = _proPlanId;
  33. allCic = _cic;
  34. ob = _ob;
  35. BindData(_cic, _gradeCode, _proPlanId);
  36. }
  37. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  38. {
  39. switch (e.Tool.Key)
  40. {
  41. case "Merging": // 合并交集
  42. AddMerging();
  43. break;
  44. case "Delete": // 删除交集
  45. doDelete();
  46. break;
  47. case "Close": //关闭
  48. this.Close();
  49. break;
  50. }
  51. }
  52. private void BindData(string[] cic, string gradeCode,string[] proPlanId)
  53. {
  54. //ultraGrid1.BeginUpdate();
  55. string[] desginKey = null;
  56. string[] indexSeq = null;
  57. string[] desginKeyCic = null;
  58. string desginKey1 = "";
  59. string indexSeq1 = "";
  60. string desginKeyCic1 = "";
  61. for (int i = 0; i < proPlanId.Length; i++)
  62. {
  63. DataTable dicdesikey = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.FrmCicIntersection.getQueryGraderCICDesgin",
  64. new object[] { proPlanId[i].ToString() }, ob);
  65. if (dicdesikey.Rows.Count > 0)
  66. {
  67. desginKey1 += dicdesikey.Rows[0]["DESGIN_KEY"].ToString()+",";
  68. indexSeq1 += dicdesikey.Rows[0]["INDEX_SEQ"].ToString()+",";
  69. desginKeyCic1 += dicdesikey.Rows[0]["CIC_GPDESG"].ToString() + ",";
  70. }
  71. else
  72. {
  73. MessageUtil.ShowTips("未找到轧管信息!");
  74. return;
  75. }
  76. }
  77. desginKey = desginKey1.Substring(0,desginKey1.Length - 1).Split(',');
  78. indexSeq = indexSeq1.Substring(0,indexSeq1.Length - 1).Split(',');
  79. desginKeyCic = desginKeyCic1.Substring(0, desginKeyCic1.Length - 1).Split(',');
  80. DataTable dicSource = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.FrmCicIntersection.getQueryGraderCIC",
  81. new object[] { desginKeyCic, gradeCode, desginKey, indexSeq }, ob);
  82. //var pRows = cic.Length;
  83. //DataTable dt = new DataTable();
  84. //dt.Columns.AddRange(new DataColumn[]{ new DataColumn("CIC"), new DataColumn("GRADENAME"),
  85. //new DataColumn("CHEM_NAME"), new DataColumn("STD_MIN_SIGN"), new DataColumn("STD_MAX_SIGN")});
  86. //Dictionary<DataRow, List<DataRow>> dicSource1 = new Dictionary<DataRow, List<DataRow>>();
  87. //for (int z = 0; z < cic.Length; z++)
  88. //{
  89. // DataRow pDr = dt.NewRow();
  90. // pDr["CIC"] = cic[z];
  91. // pDr["GRADENAME"] = gradeCode;
  92. // List<DataRow> cDrs = new List<DataRow>();
  93. // dicSource1.Add(pDr, cDrs);
  94. // DataRow[] drs = dicSource.Select("CIC='" + cic[z] + "'");
  95. // for (int r = 0; r < drs.Length; r++)
  96. // {
  97. // DataRow dr = dt.NewRow();
  98. // dr["CIC"] = cic[z];
  99. // dr["GRADENAME"] = gradeCode;
  100. // dr["CHEM_NAME"] = drs[r]["CHEM_NAME"];
  101. // dr["STD_MIN_SIGN"] = drs[r]["STDMIN_SIGN"];
  102. // dr["STD_MAX_SIGN"] = drs[r]["STDMAX_SIGN"];
  103. // cDrs.Add(dr);
  104. // }
  105. //}
  106. //Dictionary<string, int> dicChems = new Dictionary<string, int>();
  107. //int pCount = 0;
  108. //foreach (var pDr in dicSource1.Keys)
  109. //{
  110. // DataRow desDr = dataTable1.NewRow();
  111. // desDr["Column1"] = pDr["CIC"];
  112. // desDr["Column2"] = pDr["GRADENAME"];
  113. // dataTable1.Rows.Add(desDr);
  114. // var cDrs = dicSource1[pDr];
  115. // for (int i = 0; i < cDrs.Count; i++)
  116. // {
  117. // var cDr = cDrs[i];
  118. // string chemName = cDr["CHEM_NAME"].ToString();
  119. // string stdMinSign = cDr["STD_MIN_SIGN"].ToString();
  120. // string stdMaxSign = cDr["STD_MAX_SIGN"].ToString();
  121. // if (!dicChems.Keys.Contains(chemName))
  122. // {
  123. // dicChems.Add(chemName, dicChems.Keys.Count);
  124. // }
  125. // int groupIndex = dicChems[chemName];
  126. // ultraGrid1.DisplayLayout.Bands[0].Groups[groupIndex].Header.Caption = chemName;
  127. // ultraGrid1.DisplayLayout.Bands[0].Columns[(groupIndex + 1) * 2 ].Header.Caption = "下限";
  128. // ultraGrid1.DisplayLayout.Bands[0].Columns[(groupIndex + 1) * 2 + 1].Header.Caption = "上限";
  129. // //ultraGrid1.DisplayLayout.Bands[0].Columns[(groupIndex + 1) * 4 - 2 + 2].Header.Caption = "符号";
  130. // //ultraGrid1.DisplayLayout.Bands[0].Columns[(groupIndex + 1) * 4 - 2 + 3].Header.Caption = "上限";
  131. // ultraGrid1.Rows[pCount].Cells[(groupIndex + 1) * 2 ].Value = stdMinSign;
  132. // ultraGrid1.Rows[pCount].Cells[(groupIndex + 1) * 2 + 1].Value = stdMaxSign;
  133. // //ultraGrid1.Rows[pCount].Cells[(groupIndex + 1) * 4 - 2 + 2].Value = stdMaxSign;
  134. // //ultraGrid1.Rows[pCount].Cells[(groupIndex + 1) * 4 - 2 + 3].Value = stdMax;
  135. // }
  136. // pCount++;
  137. //}
  138. //foreach (var group in ultraGrid1.DisplayLayout.Bands[0].Groups)
  139. //{
  140. // int result = 0;
  141. // string str = group.Header.Caption.Substring(group.Header.Caption.Length - 1);
  142. // if (int.TryParse(str, out result))
  143. // {
  144. // group.Hidden = true;
  145. // }
  146. //}
  147. //if (ultraGrid1.Rows.Count > 0)
  148. //{
  149. // ultraGrid1.Rows[0].Cells["Chk"].Value = true;
  150. // Compare(ultraGrid1.Rows[0]);
  151. //}
  152. if (dicSource.Rows.Count <= 0) return;
  153. DataTable dat = GetCrossTable(dicSource, gradeCode, list).AsEnumerable().OrderBy(p => int.Parse(p["生产顺序号"].ToString())).ThenBy(p => p["钢种索引码"].ToString()).CopyToDataTable();
  154. //SteelHelper.GetNewDataTable(GetCrossTable(dicSource, gradeCode, list), "1=1", "钢种索引码 ASC");
  155. ultraGrid1.DataSource = dat;
  156. ultraGrid1.DataBind();
  157. GridHelper.RefreshAndAutoSize(ultraGrid1);
  158. //ultraGrid1.EndUpdate();
  159. //ultraGrid1.UpdateData();
  160. this.ultraGrid1.DisplayLayout.Bands[0].Columns["钢种索引码"].MergedCellStyle = MergedCellStyle.Always;
  161. this.ultraGrid1.DisplayLayout.Bands[0].Columns["钢种"].MergedCellStyle = MergedCellStyle.Always;
  162. this.ultraGrid1.DisplayLayout.Bands[0].Columns["生产顺序号"].MergedCellStyle = MergedCellStyle.Always;
  163. this.ultraGrid1.DisplayLayout.Bands[0].Columns["内控标准"].MergedCellStyle = MergedCellStyle.Always;
  164. this.ultraGrid1.DisplayLayout.Bands[0].Columns["类型"].MergedCellStyle = MergedCellStyle.Always;
  165. this.ultraGrid1.DisplayLayout.Bands[0].Columns["铸造订单号"].Hidden = true;
  166. this.ultraGrid1.DisplayLayout.Bands[0].Columns["生产顺序号"].Hidden = true;
  167. foreach (UltraGridRow row in ultraGrid1.Rows)
  168. {
  169. row.Cells["选择"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
  170. if (row.Cells["类型"].Text.Equals("基础数据"))
  171. {
  172. row.Cells["上下限"].Appearance.BackColor = Color.FromArgb(255, 255, 192);
  173. }
  174. }
  175. BaseHelper.ForbidSort(ultraGrid1);
  176. }
  177. public static DataTable GetCrossTable(DataTable dt, string gradeCode, ArrayList listarr)
  178. {
  179. if (dt == null || dt.Columns.Count != 8 || dt.Rows.Count == 0)
  180. {
  181. return dt;
  182. }
  183. else
  184. {
  185. DataTable result = new DataTable();
  186. result.Columns.Add("选择");
  187. result.Columns.Add("类型");
  188. result.Columns.Add("钢种");
  189. result.Columns.Add("生产顺序号");
  190. result.Columns.Add("铸造订单号");
  191. result.Columns.Add("内控标准");
  192. result.Columns.Add("钢种索引码");
  193. result.Columns.Add("上下限");
  194. DataTable dtColumns = dt.DefaultView.ToTable("dtColumns", true, dt.Columns[1].ColumnName);
  195. for (int i = 0; i < dtColumns.Rows.Count; i++)
  196. {
  197. string colName;
  198. if (dtColumns.Rows[1][0] is DateTime)
  199. {
  200. colName = Convert.ToDateTime(dtColumns.Rows[i][0]).ToString();
  201. }
  202. else
  203. {
  204. colName = dtColumns.Rows[i][0].ToString();
  205. }
  206. result.Columns.Add(colName);
  207. result.Columns[i + 1].DefaultValue = "";
  208. }
  209. DataTable distinct_object = dt.DefaultView.ToTable(true, "CIC");
  210. if (distinct_object.Rows.Count <= 0)
  211. {
  212. return result;
  213. }
  214. int count = 1;
  215. for (int i = 0; i < distinct_object.Rows.Count; i++)
  216. {
  217. for (int j = 0; j < listarr.Count; j++)
  218. {
  219. DataRow drNew = result.NewRow();
  220. ArrayList list = (ArrayList)listarr[j];
  221. string proPlanId = list[1].ToString();
  222. string shenc = list[2].ToString();
  223. string cic = list[0].ToString();
  224. string stytechem = list[3].ToString();
  225. if (!distinct_object.Rows[i]["CIC"].ToString().Equals(cic) && stytechem.Equals("工艺评审")) continue;
  226. DataRow[] drs = null;
  227. if (stytechem.Equals("工艺评审"))
  228. {
  229. drs = dt.Select("CIC='" + cic + "' AND STYTECHEM='工艺评审'");
  230. if (drs == null || drs.Length <= 0)
  231. {
  232. MessageUtil.ShowTips("无工艺评审结果索引码CIC成分!");
  233. continue;
  234. }
  235. }
  236. else
  237. {
  238. if (count > 1) continue;
  239. drs = dt.Select("STYTECHEM='基础数据'");
  240. if (drs == null || drs.Length <= 0) continue;
  241. }
  242. drNew[0] = "false";
  243. drNew[1] = drs[0][5];
  244. drNew[2] = gradeCode;
  245. drNew[3] = shenc;
  246. drNew[4] = proPlanId;
  247. drNew[5] = drs[0][4];
  248. drNew[6] = drs[0][0];
  249. drNew[7] = "下限";
  250. string rowName = drNew[6].ToString();
  251. foreach (DataRow dr in drs)
  252. {
  253. string colName = dr[1].ToString();
  254. string dValue1 = dr[2].ToString();
  255. if (dr[0].ToString().Equals(rowName, StringComparison.CurrentCultureIgnoreCase))
  256. {
  257. drNew[colName] = dValue1.ToString();
  258. }
  259. else
  260. {
  261. result.Rows.Add(drNew);
  262. drNew = result.NewRow();
  263. drNew[2] = dr[0];
  264. rowName = drNew[0].ToString();
  265. drNew[colName] = dValue1.ToString();
  266. }
  267. }
  268. result.Rows.Add(drNew);
  269. drNew = result.NewRow();
  270. drNew[0] = "false";
  271. drNew[1] = drs[0][5];
  272. drNew[2] = gradeCode;
  273. drNew[3] = shenc;
  274. drNew[4] = proPlanId;
  275. drNew[5] = drs[0][4];
  276. drNew[6] = drs[0][0];
  277. drNew[7] = "上限";
  278. foreach (DataRow dr in drs)
  279. {
  280. string colName = dr[1].ToString();
  281. string dValue2 = dr[3].ToString();
  282. if (dr[0].ToString().Equals(rowName, StringComparison.CurrentCultureIgnoreCase))
  283. {
  284. drNew[colName] = dValue2.ToString();
  285. }
  286. else
  287. {
  288. result.Rows.Add(drNew);
  289. drNew = result.NewRow();
  290. drNew[1] = dr[0];
  291. rowName = drNew[1].ToString();
  292. drNew[colName] = dValue2.ToString();
  293. }
  294. }
  295. result.Rows.Add(drNew);
  296. }
  297. count++;
  298. }
  299. return result;
  300. }
  301. }
  302. private void Compare(UltraGridRow chkRow)
  303. {
  304. foreach (var row in ultraGrid1.Rows)
  305. {
  306. string max = chkRow.Cells["上下限"].Value.ToString();
  307. if (max.Equals(row.Cells["上下限"].Value.ToString()))
  308. {
  309. for (int i = 8; i < row.Cells.Count; i++)
  310. {
  311. var cell = row.Cells[i];
  312. //if (cell.Column.Header.Caption == "上下限")
  313. //{
  314. if (cell.Value.ToString() != chkRow.GetValue(cell.Column.Key))
  315. {
  316. cell.Appearance.BackColor = Color.FromArgb(255, 106, 106);
  317. }
  318. else
  319. {
  320. cell.Appearance.BackColor = row.Cells[0].Appearance.BackColor;
  321. }
  322. //}
  323. }
  324. }
  325. else
  326. {
  327. for (int i = 7; i < row.Cells.Count; i++)
  328. {
  329. var cell = row.Cells[i];
  330. cell.Appearance.BackColor = row.Cells[0].Appearance.BackColor;
  331. }
  332. }
  333. if (row.Cells["类型"].Text.Equals("基础数据"))
  334. {
  335. row.Cells["上下限"].Appearance.BackColor = Color.FromArgb(255, 255, 192);
  336. }
  337. }
  338. }
  339. private void ultraExpandableGroupBox2_ExpandedStateChanged(object sender, EventArgs e)
  340. {
  341. if (ultraExpandableGroupBox2.Expanded == false)
  342. {
  343. this.splitContainer1.SplitterDistance = splitContainer1.Size.Height - 26;
  344. }
  345. else
  346. {
  347. this.splitContainer1.SplitterDistance = splitterDistance == 0 ? splitContainer1.Size.Height / 2 : splitterDistance;
  348. }
  349. }
  350. private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e)
  351. {
  352. if (ultraExpandableGroupBox1.Expanded == false)
  353. {
  354. this.splitContainer1.SplitterDistance = 26;
  355. }
  356. else
  357. {
  358. this.splitContainer1.SplitterDistance = splitterDistance == 0 ? splitContainer1.Size.Height / 2 : splitterDistance;
  359. }
  360. }
  361. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  362. {
  363. UltraGridRow row = ultraGrid1.ActiveRow;
  364. if (row == null) return;
  365. Compare(row);
  366. doMerging(row.Cells["钢种索引码"].Text.ToString(), row.Cells["铸造订单号"].Text.ToString());
  367. }
  368. /// <summary>
  369. /// 查询交集
  370. /// </summary>
  371. private void doMerging(string meCic,string proPlanId)
  372. {
  373. DataTable dicSource = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.FrmCicIntersection.getQueryGraderAllCIC",
  374. new object[] { meCic, proPlanId }, ob);
  375. if (dicSource.Rows.Count <= 0)
  376. {
  377. DataTable da = new DataTable();
  378. ultraGrid2.DataSource = da;
  379. return;
  380. }
  381. DataTable dat = GetAddCrossTable(dicSource, gradName);
  382. ultraGrid2.DataSource = dat;
  383. ultraGrid2.DataBind();
  384. GridHelper.RefreshAndAutoSize(ultraGrid2);
  385. foreach (UltraGridRow row in ultraGrid2.Rows)
  386. {
  387. row.Cells["选择"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
  388. }
  389. this.ultraGrid2.DisplayLayout.Bands[0].Columns["钢种索引码"].MergedCellStyle = MergedCellStyle.Always;
  390. this.ultraGrid2.DisplayLayout.Bands[0].Columns["钢种"].MergedCellStyle = MergedCellStyle.Always;
  391. //this.ultraGrid2.DisplayLayout.Bands[0].Columns["选择"].Header.CheckBoxVisibility =HeaderCheckBoxVisibility.Always;
  392. BaseHelper.ForbidSort(ultraGrid2);
  393. }
  394. /// <summary>
  395. /// 新增索引码交集
  396. /// </summary>
  397. private void AddMerging()
  398. {
  399. UltraGridRow row = ultraGrid1.ActiveRow;
  400. if (row == null) return;
  401. int counChk = 0;
  402. string cic = "";
  403. int cicCount = 0;
  404. ArrayList list = new ArrayList();
  405. foreach (UltraGridRow urg in ultraGrid1.Rows)
  406. {
  407. ArrayList list1 = new ArrayList();
  408. if (Convert.ToBoolean(urg.Cells["选择"].Value) == true)
  409. {
  410. counChk++;
  411. if (cic.Equals("")||!cic.Equals(urg.Cells["钢种索引码"].Text.ToString()))
  412. {
  413. cicCount++; if (urg.Cells["类型"].Text.ToString().Equals("基础数据"))
  414. {
  415. MessageUtil.ShowTips("基础数据类型不能合并交集!");
  416. return;
  417. }
  418. cic = urg.Cells["钢种索引码"].Text.ToString();
  419. list1.Add(urg.Cells["钢种索引码"].Text.ToString());
  420. list1.Add(urg.Cells["铸造订单号"].Text.ToString());
  421. list.Add(list1);
  422. }
  423. }
  424. }
  425. if (counChk == 0)
  426. {
  427. MessageUtil.ShowTips("请勾选单索引码元素数据!");
  428. return;
  429. }
  430. if (cicCount == 1)
  431. {
  432. MessageUtil.ShowTips("请勾选多个钢种索引码数据!");
  433. return;
  434. }
  435. PlanComm.WaitFromOpen(this.Cursor);
  436. CoreClientParam ccp = new CoreClientParam();
  437. ccp.ServerName = "com.steering.pss.plnsaleord.steelMarkingPlan.FrmCicIntersection";
  438. ccp.MethodName = "addMerging";
  439. ccp.ServerParams = new object[] { list };
  440. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  441. PlanComm.WaitFromColse(this.Cursor);
  442. if (ccp.ReturnCode == -1) return;
  443. MessageUtil.ShowTips(ccp.ReturnInfo);
  444. if (ccp.ReturnInfo.Equals("合并交集成功!"))
  445. {
  446. BindData(allCic, gradName, proPlanId);
  447. }
  448. }
  449. public static DataTable GetAddCrossTable(DataTable dt, string gradeCode)
  450. {
  451. if (dt == null || dt.Columns.Count !=5 || dt.Rows.Count == 0)
  452. {
  453. return dt;
  454. }
  455. else
  456. {
  457. DataTable result = new DataTable();
  458. result.Columns.Add("选择");
  459. result.Columns.Add("钢种");
  460. result.Columns.Add("铸造订单号");
  461. result.Columns.Add("钢种索引码");
  462. result.Columns.Add("上下限");
  463. DataTable dtColumns = dt.DefaultView.ToTable("dtColumns", true, dt.Columns[2].ColumnName);
  464. for (int i = 0; i < dtColumns.Rows.Count; i++)
  465. {
  466. string colName;
  467. if (dtColumns.Rows[1][0] is DateTime)
  468. {
  469. colName = Convert.ToDateTime(dtColumns.Rows[i][0]).ToString();
  470. }
  471. else
  472. {
  473. colName = dtColumns.Rows[i][0].ToString();
  474. }
  475. result.Columns.Add(colName);
  476. result.Columns[i + 1].DefaultValue = "";
  477. }
  478. DataTable distinct_object = dt.DefaultView.ToTable(true, "CIC");
  479. if (distinct_object.Rows.Count <= 0)
  480. {
  481. return result;
  482. }
  483. for (int i = 0; i < distinct_object.Rows.Count; i++)
  484. {
  485. string cic = distinct_object.Rows[i]["CIC"].ToString();
  486. DataRow[] drs = dt.Select("CIC='" + cic + "'");
  487. DataRow drNew = result.NewRow();
  488. drNew[0] = "false";
  489. drNew[1] = gradeCode;
  490. drNew[2] = drs[0][0];
  491. drNew[3] = drs[0][1];
  492. drNew[4] = "下限";
  493. string rowName = drNew[3].ToString();
  494. foreach (DataRow dr in drs)
  495. {
  496. string colName = dr[2].ToString();
  497. string dValue1 = dr[3].ToString();
  498. if (dr[1].ToString().Equals(rowName, StringComparison.CurrentCultureIgnoreCase))
  499. {
  500. drNew[colName] = dValue1.ToString();
  501. }
  502. else
  503. {
  504. result.Rows.Add(drNew);
  505. drNew = result.NewRow();
  506. drNew[2] = dr[0];
  507. rowName = drNew[0].ToString();
  508. drNew[colName] = dValue1.ToString();
  509. }
  510. }
  511. result.Rows.Add(drNew);
  512. drNew = result.NewRow();
  513. drNew[0] = "false";
  514. drNew[1] = gradeCode;
  515. drNew[2] = drs[0][0];
  516. drNew[3] = drs[0][1];
  517. drNew[4] = "上限";
  518. foreach (DataRow dr in drs)
  519. {
  520. string colName = dr[2].ToString();
  521. string dValue2 = dr[4].ToString();
  522. if (dr[1].ToString().Equals(rowName, StringComparison.CurrentCultureIgnoreCase))
  523. {
  524. drNew[colName] = dValue2.ToString();
  525. }
  526. else
  527. {
  528. result.Rows.Add(drNew);
  529. drNew = result.NewRow();
  530. drNew[1] = dr[0];
  531. rowName = drNew[1].ToString();
  532. drNew[colName] = dValue2.ToString();
  533. }
  534. }
  535. result.Rows.Add(drNew);
  536. }
  537. return result;
  538. }
  539. }
  540. private void doDelete()
  541. {
  542. UltraGridRow row = ultraGrid2.ActiveRow;
  543. if (row == null) return;
  544. int counChk = 0;
  545. string cic = "";
  546. ArrayList list = new ArrayList();
  547. foreach (UltraGridRow urg in ultraGrid2.Rows)
  548. {
  549. ArrayList list1 = new ArrayList();
  550. if (Convert.ToBoolean(urg.Cells["选择"].Value) == true)
  551. {
  552. counChk++;
  553. if (cic.Equals("") || !cic.Equals(urg.Cells["钢种索引码"].Text.ToString()))
  554. {
  555. cic = urg.Cells["钢种索引码"].Text.ToString();
  556. list1.Add(urg.Cells["钢种索引码"].Text.ToString());
  557. list1.Add(urg.Cells["铸造订单号"].Text.ToString());
  558. list.Add(list1);
  559. }
  560. }
  561. }
  562. if (counChk == 0)
  563. {
  564. MessageUtil.ShowTips("请勾选交集索引码元素数据!");
  565. return;
  566. }
  567. PlanComm.WaitFromOpen(this.Cursor);
  568. CoreClientParam ccp = new CoreClientParam();
  569. ccp.ServerName = "com.steering.pss.plnsaleord.steelMarkingPlan.FrmCicIntersection";
  570. ccp.MethodName = "doDelete";
  571. ccp.ServerParams = new object[] { list };
  572. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  573. PlanComm.WaitFromColse(this.Cursor);
  574. if (ccp.ReturnCode == -1) return;
  575. MessageUtil.ShowTips(ccp.ReturnInfo);
  576. if (ccp.ReturnInfo.Equals("删除交集成功!"))
  577. {
  578. BindData(allCic, gradName, proPlanId);
  579. }
  580. }
  581. }
  582. }