FrmComMSCStdProcess.cs 68 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Format;
  3. using Core.Mes.Client.Comm.Server;
  4. using Core.Mes.Client.Comm.Tool;
  5. using Core.StlMes.Client.Qcm.model;
  6. using CoreFS.CA06;
  7. using Infragistics.Win.UltraWinEditors;
  8. using Infragistics.Win.UltraWinGrid;
  9. using System;
  10. using System.Collections;
  11. using System.Collections.Generic;
  12. using System.Data;
  13. using System.Windows.Forms;
  14. using System.Linq;
  15. namespace Core.StlMes.Client.Qcm
  16. {
  17. public partial class FrmComMSCStdProcess : FrmBase
  18. {
  19. public FrmComMSCStdProcess()
  20. {
  21. InitializeComponent();
  22. ExceptionHelper.RegistException();
  23. this.IsLoadUserView = true;
  24. }
  25. public void PopupLoad(string customInfo, OpeBase ob)
  26. {
  27. this.CustomInfo = customInfo;
  28. this.ob = ob;
  29. FrmComMSCStdProcess_Load(null, null);
  30. }
  31. private bool isPasting = false;
  32. //Global variable
  33. UltraComboEditor MscUce = new UltraComboEditor(); //MSC下拉框
  34. UltraComboEditor StationUce = new UltraComboEditor(); //工序点下拉框
  35. UltraComboEditor StdUce = new UltraComboEditor(); //标准下拉框
  36. UltraComboEditor cmbProBigType = new UltraComboEditor();
  37. private int _index = 1; //加工索引号
  38. private string _gic = "";
  39. //提示信息信息
  40. private string errMessage = "";
  41. //是否展开
  42. private bool _isEx = false;
  43. private string gic = "";
  44. public string Gic
  45. {
  46. get { return gic; }
  47. set { gic = value; }
  48. }
  49. private string msc = "";
  50. public string Msc
  51. {
  52. get { return msc; }
  53. set { msc = value; }
  54. }
  55. private string codeJg = "DefaultValue";
  56. public string CodeJg
  57. {
  58. get { return codeJg; }
  59. set { codeJg = value; }
  60. }
  61. private string stdCode = "";
  62. public string StdCode
  63. {
  64. get { return stdCode; }
  65. set { stdCode = value; }
  66. }
  67. private ArrayList steelCodes = new ArrayList();
  68. public ArrayList SteelCodes
  69. {
  70. get { return steelCodes; }
  71. set { steelCodes = value; }
  72. }
  73. private string produccodeNk = "";
  74. public string ProduccodeNk
  75. {
  76. get { return produccodeNk; }
  77. set { produccodeNk = value; }
  78. }
  79. private string steelcodeNk = "";
  80. public string SteelcodeNk
  81. {
  82. get { return steelcodeNk; }
  83. set { steelcodeNk = value; }
  84. }
  85. private string processCode = "";
  86. public string ProcessCode
  87. {
  88. get { return processCode; }
  89. set { processCode = value; }
  90. }
  91. private string modelCode = "";
  92. public string ModelCode
  93. {
  94. get { return modelCode; }
  95. set { modelCode = value; }
  96. }
  97. private string acceptBid = "";
  98. public string AcceptBid
  99. {
  100. get { return acceptBid; }
  101. set { acceptBid = value; }
  102. }
  103. private void FrmComMSCStdProcess_Load(object sender, EventArgs e)
  104. {
  105. HideCols();
  106. Init();
  107. }
  108. private void HideCols()
  109. {
  110. if (this.CustomInfo == "1")
  111. {
  112. ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE_NK"].Hidden = true;
  113. ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_DESC"].Hidden = true;
  114. this.ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME_NK"].Hidden = true;
  115. this.ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC_NK"].Hidden = true;
  116. this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCCODE_NK"].Hidden = true;
  117. this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME_NK"].Hidden = true;
  118. //ultraGrid1.DisplayLayout.Bands[1].Groups[0].Hidden = true;
  119. //ultraGrid1.DisplayLayout.Bands[1].Groups[1].Hidden = true;
  120. }
  121. if (this.CustomInfo == "2")
  122. {
  123. ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].Hidden = true;
  124. ultraGrid1.DisplayLayout.Bands[0].Columns["PSC_DESC"].Hidden = true;
  125. ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME"].Hidden = true;
  126. ultraGrid1.DisplayLayout.Bands[0].Columns["STD_NAME"].Hidden = true;
  127. ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME"].Hidden = true;
  128. ultraGrid1.DisplayLayout.Bands[0].Columns["STD_STYLE_DESC"].Hidden = true;
  129. ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE_NK"].Header.Caption = "内控管理编号";
  130. ultraCheckMSC.Visible = false;
  131. ultraTextMSC.Visible = false;
  132. }
  133. }
  134. private void DoRefresh()
  135. {
  136. Init();
  137. }
  138. public void PopupRefresh()
  139. {
  140. if (CustomInfo == "1") //MSC
  141. {
  142. //--------MSC---------------
  143. this.Controls.Add(MscUce);
  144. MscUce.Visible = false;
  145. QcmBaseQuery.NitializeMSC(MscUce, false, this.ob, msc);
  146. QcmBaseQuery.BindColumn(MscUce, "MSC", ultraGrid1.DisplayLayout.Bands[0]);
  147. //---------MSC END----------
  148. }
  149. }
  150. private void Init()
  151. {
  152. if (CustomInfo == "1") //MSC
  153. {
  154. //--------MSC---------------
  155. this.Controls.Add(MscUce);
  156. MscUce.Visible = false;
  157. QcmBaseQuery.NitializeMSC(MscUce, false, this.ob, msc);
  158. QcmBaseQuery.BindColumn(MscUce, "MSC", ultraGrid1.DisplayLayout.Bands[0]);
  159. //---------MSC END----------
  160. }
  161. if (CustomInfo == "2") //内控标准
  162. {
  163. InnerChange();
  164. this.Controls.Add(StdUce);
  165. StdUce.Visible = false;
  166. QcmBaseQuery.NitializeInnerStandard(StdUce, false, this.ob);
  167. QcmBaseQuery.BindColumn(StdUce, "STD_CODE_NK", ultraGrid1.DisplayLayout.Bands[0]);
  168. UltraComboEditor uce = new UltraComboEditor();
  169. this.Controls.Add(uce);
  170. uce.Visible = false;
  171. DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.CoreComMscStdProcess.getProcess", null, this.ob);
  172. uce.DataSource = dt1;
  173. uce.ValueMember = "PROCESS_CDOE";
  174. uce.DisplayMember = "PROCESS_DESC";
  175. QcmBaseQuery.BindColumn(uce, "PROCESS_CDOE", ultraGrid1.DisplayLayout.Bands[0]);
  176. }
  177. QcmBaseQuery.NitializeSignMin(ultraComSignMin);
  178. QcmBaseQuery.NitializeSignMax(ultraComSignMax);
  179. //---子表工序点名称--------
  180. this.Controls.Add(MscUce);
  181. MscUce.Visible = false;
  182. this.Controls.Add(StationUce);
  183. StationUce.Visible = false;
  184. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreComMscStdProcess.getStation", null, this.ob);
  185. StationUce.DataSource = dt;
  186. StationUce.DisplayMember = "STATION_DESC";
  187. StationUce.ValueMember = "STATION_CODE";
  188. QcmBaseQuery.BindColumn(StationUce, "STATION_CODE", ultraGrid1.DisplayLayout.Bands[1]);
  189. cmbProBigType.Visible = false;
  190. this.Controls.Add(cmbProBigType);
  191. QcmBaseQuery.NitializeProductBigType(cmbProBigType, true, ob);
  192. QcmBaseQuery.BindColumn(cmbProBigType, "PRODUC_HEAD", ultraGrid1.DisplayLayout.Bands[0]);
  193. ClsBaseInfo.SetComboItemHeight(cmbProBigType);
  194. }
  195. public override void ToolBar_Click(object sender, string ToolbarKey)
  196. {
  197. switch (ToolbarKey)
  198. {
  199. case "Query":
  200. DoQuery();
  201. break;
  202. case "Save":
  203. DoSave();
  204. break;
  205. case "Delete":
  206. DoDeleteOrResume(true);
  207. break;
  208. case "Resume":
  209. DoDeleteOrResume(false);
  210. break;
  211. case "Copy":
  212. Copy();
  213. break;
  214. case "Paste":
  215. isPasting = true;
  216. try
  217. {
  218. Paste();
  219. }
  220. finally
  221. {
  222. isPasting = false;
  223. }
  224. break;
  225. case "Refresh":
  226. DoRefresh();
  227. break;
  228. case "Group":
  229. DoGroup();
  230. break;
  231. case "CancleGroup":
  232. CancleGroup();
  233. break;
  234. case "Close":
  235. this.Close();
  236. break;
  237. }
  238. }
  239. private void DoGroup()
  240. {
  241. ArrayList list = new ArrayList();
  242. int ischeck = 0; //是否勾选
  243. int isselect = 0; //勾选项是否已写入数据库
  244. int isvalid = 0; //是否有效
  245. foreach (UltraGridRow row in ultraGrid1.Rows)
  246. {
  247. if (row.HasChild() && row.Cells["CHC"].Value.ToString().ToUpper() == "TRUE")
  248. {
  249. MessageBox.Show("主表不能进行分组操作", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  250. return;
  251. }
  252. ArrayList plist = new ArrayList(); //分为几组。
  253. foreach (UltraGridRow crow in row.ChildBands[0].Rows)
  254. {
  255. ArrayList clist = new ArrayList(); //哪些分为一组。
  256. if (crow.Cells["CHC"].Value.ToString().ToUpper() == "TRUE")
  257. {
  258. if (crow.Cells["VALIDFLAG"].Value.ToString().Equals(""))
  259. {
  260. isselect += 1;
  261. }
  262. if (crow.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
  263. {
  264. isvalid += 1;
  265. }
  266. ischeck += 1;
  267. clist.Add(crow.Cells["GIC"].Value.ToString());
  268. clist.Add(crow.Cells["XH"].Value.ToString());
  269. plist.Add(clist);
  270. _gic = crow.Cells["GIC"].Value.ToString();
  271. _isEx = true;
  272. }
  273. }
  274. list.Add(plist);
  275. }
  276. if (ischeck == 0)
  277. {
  278. MessageBox.Show("请选择你要分组的记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  279. return;
  280. }
  281. if (isselect > 0)
  282. {
  283. MessageBox.Show("您选择的分组记录中存在未保存的项,请先保存后再分组", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  284. return;
  285. }
  286. if (isvalid > 0)
  287. {
  288. MessageBox.Show("您选择的分组记录中存在无效数据,无法分组", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  289. return;
  290. }
  291. if (MessageBox.Show("是否确认对所选项进行分组?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  292. {
  293. return;
  294. }
  295. CoreClientParam ccp = new CoreClientParam(); //CoreClientParam是平台用来向服务端传递存放所有相关参数信息的。
  296. ccp.ServerName = "com.steering.pss.qcm.CoreComMscStdProcess"; //服务名指的是服务端的包名+类名
  297. ccp.MethodName = "doGroup"; //方法名指的是服务名指定类里的方法
  298. ccp.ServerParams = new object[] { list };//服务端方法的参数
  299. //ExecuteNonQuery主要用来执行添加、修改、删除、存储过程的操作。
  300. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  301. if (ccp.ReturnCode == -1)
  302. return;
  303. MessageBox.Show("分组成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  304. DoQuery();
  305. //ExpandRow();
  306. //PicCode.Clear();
  307. }
  308. /// <summary>
  309. /// 复制
  310. /// </summary>
  311. private void Copy()
  312. {
  313. if (ultraGrid1.ActiveRow == null)
  314. {
  315. MessageUtil.ShowWarning("请选择记录后,再进行操作!");
  316. return;
  317. }
  318. ultraGrid1.UpdateData();
  319. DataTable copyTab = dataTable2.Copy();
  320. DataTable copyTab2 = dataTable1.Copy();
  321. copyTab.Clear();
  322. copyTab2.Clear();
  323. if (ultraGrid1.ActiveRow.HasParent())
  324. {
  325. foreach (UltraGridRow row in ultraGrid1.ActiveRow.ParentRow.ChildBands[0].Rows)
  326. {
  327. if (row.GetValue("CHC") != "True") continue;
  328. DataRow dr = copyTab.NewRow();
  329. CopyRowToRow(((DataRowView)row.ListObject).Row, dr);
  330. copyTab.Rows.Add(dr);
  331. }
  332. }
  333. else
  334. {
  335. foreach (UltraGridRow row in ultraGrid1.ActiveRow.ChildBands[0].Rows)
  336. {
  337. DataRow dr = copyTab.NewRow();
  338. CopyRowToRow(((DataRowView)row.ListObject).Row, dr);
  339. copyTab.Rows.Add(dr);
  340. }
  341. DataRow dr2 = copyTab2.NewRow();
  342. CopyRowToRow(((DataRowView)ultraGrid1.ActiveRow.ListObject).Row, dr2);
  343. copyTab2.Rows.Add(dr2);
  344. }
  345. DataTable[] copyTabs = new DataTable[] { copyTab, copyTab2 };
  346. Clipboard.SetData("Gic", copyTabs);
  347. }
  348. private void CopyRowToRow(DataRow srcRow, DataRow desRow)
  349. {
  350. for (int i = 0; i < srcRow.Table.Columns.Count; i++)
  351. {
  352. string columnName = srcRow.Table.Columns[i].ColumnName;
  353. desRow[columnName] = srcRow[columnName];
  354. }
  355. }
  356. /// <summary>
  357. /// 粘贴
  358. /// </summary>
  359. private void Paste()
  360. {
  361. DataTable[] copyTabs = (DataTable[])Clipboard.GetData("Gic");
  362. if (copyTabs == null)
  363. {
  364. MessageUtil.ShowWarning("没有数据,请复制后再进行操作!");
  365. return;
  366. }
  367. DataTable copyTab = copyTabs[0];
  368. DataTable copyTab2 = copyTabs[1];
  369. if (copyTab == null || copyTab.Rows.Count == 0)
  370. {
  371. MessageUtil.ShowWarning("没有数据,请复制后再进行操作!");
  372. return;
  373. }
  374. dataTable2.BeginInit();
  375. string gic = "";
  376. UltraGridRow rowParent;
  377. if (ultraGrid1.ActiveRow.HasParent())
  378. {
  379. //if (ultraGrid1.ActiveRow.ParentRow.ChildBands[0].Rows.Count > 0)
  380. //{
  381. // MessageUtil.ShowWarning("该记录下存在子记录,不能进行粘贴操作!");
  382. // return;
  383. //}
  384. gic = ultraGrid1.ActiveRow.ParentRow.GetValue("GIC");
  385. rowParent = ultraGrid1.ActiveRow.ParentRow;
  386. }
  387. else
  388. {
  389. //if (ultraGrid1.ActiveRow.ChildBands[0].Rows.Count > 0)
  390. //{
  391. // MessageUtil.ShowWarning("该记录下存在子记录,不能进行粘贴操作!");
  392. // return;
  393. //}
  394. gic = ultraGrid1.GetActiveRowValue("GIC");
  395. rowParent = ultraGrid1.ActiveRow;
  396. }
  397. List<string> notCopyColumns = new List<string>();
  398. notCopyColumns.AddRange("CHC", "CREATE_TIME", "CREATE_NAME", "UPDATE_TIME", "UPDATE_NAME",
  399. "DELETE_TIME", "DELETE_NAME", "VALIDFLAG", "GIC", "MSC", "STD_CODE_NK", "STD_NAME_NK", "STDSTYLE", "PSC_DESC",
  400. "PSC", "PROCESS_CODE", "PRODUCNAME", "STEELNAME", "STD_NAME", "STD_STYLE_DESC",
  401. "PRODUCCODE_NK", "PRODUCNAME_NK", "PROCESS_CDOE", "PROCESS_DESC", "STEELCODE_NK", "STEELNAME_NK");
  402. if (copyTab2.Rows.Count > 0)
  403. {
  404. DataRow drParent = ((DataRowView)rowParent.ListObject).Row;
  405. foreach (DataColumn column in dataTable1.Columns)
  406. {
  407. string columnName = column.ColumnName;
  408. if (notCopyColumns.Contains(columnName) == true) continue;
  409. drParent[columnName] = copyTab2.Rows[0][columnName];
  410. }
  411. }
  412. foreach (DataRow row in copyTab.Rows)
  413. {
  414. DataRow tempRow = dataTable2.NewRow();
  415. foreach (DataColumn column in dataTable2.Columns)
  416. {
  417. string columnName = column.ColumnName;
  418. bool isCopyProcess = (columnName == "PROCESS_CDOE") || (columnName == "PROCESS_DESC") ? true : false;
  419. if (notCopyColumns.Contains(columnName) && !isCopyProcess) continue;
  420. tempRow[columnName] = row[columnName];
  421. }
  422. tempRow["GIC"] = gic;
  423. dataTable2.Rows.Add(tempRow);
  424. }
  425. dataTable2.EndInit();
  426. if (copyTab.Rows.Count > 0 && ultraGrid1.ActiveRow != null)
  427. {
  428. ultraGrid1.ActiveRow.ExpandAll();
  429. }
  430. ultraGrid1.UpdateData();
  431. }
  432. /// <summary>
  433. /// 取消分组
  434. /// </summary>
  435. private void CancleGroup()
  436. {
  437. int ischeck = 0; //是否勾选
  438. int isselect = 0; //勾选项是否已写入数据库
  439. int isvalid = 0; //是否有效
  440. int hasindex = 0;
  441. ArrayList plist = new ArrayList();
  442. foreach (UltraGridRow row in ultraGrid1.Rows)
  443. {
  444. if (row.HasChild() && row.Cells["CHC"].Value.ToString().ToUpper() == "TRUE")
  445. {
  446. MessageBox.Show("主表不能进行取消分组操作", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  447. return;
  448. }
  449. foreach (UltraGridRow crow in row.ChildBands[0].Rows)
  450. {
  451. ArrayList clist = new ArrayList(); //需要取消的GIC和XH
  452. if (crow.Cells["CHC"].Value.ToString().ToUpper() == "TRUE")
  453. {
  454. if (crow.Cells["VALIDFLAG"].Value.ToString().Equals(""))
  455. {
  456. isselect += 1;
  457. }
  458. if (crow.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
  459. {
  460. isvalid += 1;
  461. }
  462. if (crow.Cells["GROUP_SEQ"].Value.ToString().Equals(""))
  463. {
  464. hasindex += 1;
  465. }
  466. ischeck += 1;
  467. clist.Add(crow.Cells["GIC"].Value.ToString());
  468. clist.Add(crow.Cells["XH"].Value.ToString());
  469. plist.Add(clist);
  470. _gic = crow.Cells["GIC"].Value.ToString();
  471. _isEx = true;
  472. }
  473. }
  474. }
  475. if (ischeck == 0)
  476. {
  477. MessageBox.Show("请选择你要取消分组的记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  478. return;
  479. }
  480. if (isselect > 0)
  481. {
  482. MessageBox.Show("您选择的记录中存在未保存的项,不能对其进行取消分组操作", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  483. return;
  484. }
  485. if (isvalid > 0)
  486. {
  487. MessageBox.Show("您选择的记录中存在无效数据,无法取消分组", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  488. return;
  489. }
  490. if (hasindex > 0)
  491. {
  492. MessageBox.Show("您选择的记录中存在未分组的数据,无法取消分组", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  493. return;
  494. }
  495. if (MessageBox.Show("是否确认对所选项进行取消分组?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  496. {
  497. return;
  498. }
  499. int count = ServerHelper.SetData("com.steering.pss.qcm.CoreComMscStdProcess.cancleGroup", new Object[] { plist }, this.ob);
  500. if (count > 0)
  501. {
  502. MessageBox.Show("取消分组成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  503. DoQuery();
  504. }
  505. }
  506. /// <summary>
  507. /// 查询条件
  508. /// </summary>
  509. /// <returns></returns>
  510. private ArrayList GetQueryData()
  511. {
  512. ArrayList list = new ArrayList();
  513. //标准名称
  514. string stdName = "";
  515. if (ultraCheckStd.Checked)
  516. stdName = ultraTextStd.Text.Trim();
  517. list.Add(stdName);
  518. //冶金规范码
  519. string msc = "";
  520. if (ultraCheckMSC.Checked)
  521. {
  522. msc = ultraTextMSC.Text.Trim();
  523. }
  524. list.Add(msc);
  525. //是否包含无效
  526. string valid = "1";
  527. if (ultraCheckValid.Checked)
  528. valid = "0";
  529. list.Add(valid);
  530. list.Add(stdCode);
  531. return list;
  532. }
  533. private void DoQuery()
  534. {
  535. //查询交付标准、内控标准或者Alpha
  536. ArrayList QueryConditon = GetQueryData();
  537. //主表查询
  538. dataTable2.Clear();
  539. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreComMscStdProcess.getMscStdProcess",
  540. new Object[] { QueryConditon, CustomInfo, gic, msc, codeJg, produccodeNk, steelcodeNk, processCode, modelCode }, this.ob);
  541. GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
  542. //从表查询
  543. DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.CoreComMscStdProcess.getMscStdProcessC",
  544. new Object[] { QueryConditon, CustomInfo, gic, msc, codeJg, produccodeNk, steelcodeNk, processCode, modelCode }, this.ob);
  545. GridHelper.CopyDataToDatatable(ref dt1, ref this.dataTable2, true);
  546. //不同颜色区分是否有效数据
  547. QcmBaseCommon.SetGridColor(ultraGrid1, "VALIDFLAG", "无效");
  548. QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
  549. UltraGridBand bc = ultraGrid1.DisplayLayout.Bands[0];
  550. UltraGridBand bcC = ultraGrid1.DisplayLayout.Bands[1];
  551. UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["MEMO"], bc.Columns["MSC"], bc.Columns["MODEL_DESC"] };
  552. GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid1, col);
  553. //isSelect = 0;
  554. //定位行和展开行
  555. UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "GIC" }, new string[] { _gic });
  556. if (rows1.Length > 0)
  557. {
  558. rows1[0].Activate();
  559. if (_isEx)
  560. rows1[0].ExpandAll();
  561. }
  562. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  563. {
  564. ugr.Cells["CHKNK"].Value = "选择";
  565. }
  566. _isEx = false;
  567. _gic = "";
  568. dataTable1.AcceptChanges();
  569. dataTable2.AcceptChanges();
  570. //清空复制数据
  571. //_copyedRows.Clear();
  572. }
  573. public void QueryPurchaseAgreement(string stdCodeNk)
  574. {
  575. dataTable2.Clear();
  576. dataTable1.Clear();
  577. DataTable dtP = ServerHelper.GetData("com.steering.pss.qcm.CoreComMscStdProcess.getPurchaseAgreementGic",
  578. new object[] { stdCodeNk }, ob);
  579. GridHelper.CopyDataToDatatable(ref dtP, ref this.dataTable1, true);
  580. DataTable dtC = ServerHelper.GetData("com.steering.pss.qcm.CoreComMscStdProcess.getPurchaseAgreementProc",
  581. new object[] { stdCodeNk }, ob);
  582. GridHelper.CopyDataToDatatable(ref dtC, ref this.dataTable2, true);
  583. QcmBaseCommon.SetGridColor(ultraGrid1, "VALIDFLAG", "无效");
  584. QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
  585. }
  586. public void ultraGrid1_CellChange(object sender, CellEventArgs e)
  587. {
  588. ultraGrid1.UpdateData();
  589. UltraGridRow ugr = ultraGrid1.DisplayLayout.ActiveRow;
  590. if (e.Cell.Column.Key.Equals("MSC"))//冶金规范码
  591. {
  592. string msc = ugr.Cells["MSC"].Value.ToString();
  593. DataRow[] dr = ((DataTable)MscUce.DataSource).Select("MSC='" + msc + "'");
  594. if (dr.Length > 0)
  595. {
  596. ugr.Cells["PSC"].Value = dr[0][2];
  597. ugr.Cells["PSC_DESC"].Value = dr[0][3];
  598. ugr.Cells["PRODUCNAME"].Value = dr[0][4];
  599. ugr.Cells["STD_NAME"].Value = dr[0][5];
  600. ugr.Cells["STEELNAME"].Value = dr[0][6];
  601. ugr.Cells["STD_STYLE_DESC"].Value = dr[0][7];
  602. ugr.Cells["STDSTYLE"].Value = dr[0][8];
  603. }
  604. }
  605. if (e.Cell.Column.Key.Equals("STATION_CODE")) //子表工序点
  606. {
  607. string stationcode = ugr.Cells["STATION_CODE"].Value.ToString();
  608. DataRow[] dr = ((DataTable)StationUce.DataSource).Select("STATION_CODE='" + stationcode + "'");
  609. if (dr.Length > 0)
  610. {
  611. ugr.Cells["PROCESS_CDOE"].Value = dr[0][2];
  612. ugr.Cells["PROCESS_DESC"].Value = dr[0][3];
  613. }
  614. }
  615. if (e.Cell.Column.Key.Equals("STD_CODE_NK")) //标准下拉框选择
  616. {
  617. ugr.Cells["STD_NAME_NK"].Value = ugr.Cells["STD_CODE_NK"].Text;
  618. DataRow[] dr = ((DataTable)StdUce.DataSource).Select("STD_CODE='" + ugr.Cells["STD_CODE_NK"].Value + "'");
  619. if (dr.Length > 0)
  620. ugr.Cells["STDSTYLE"].Value = dr[0][2];
  621. }
  622. if (e.Cell.Column.Key.Equals("PROCESS_CDOE"))
  623. {
  624. ugr.Cells["PROCESS_DESC"].Value = e.Cell.Text;
  625. }
  626. if (e.Cell.Column.Key.Equals("CHC")) //
  627. {
  628. Activation activation = Activation.ActivateOnly;
  629. if (Convert.ToBoolean(e.Cell.Value))
  630. {
  631. activation = Activation.AllowEdit;
  632. }
  633. CellsCollection cells = e.Cell.Row.Cells;
  634. for (int i = 0; i < cells.Count; i++)
  635. {
  636. if (!cells[i].Column.Key.Equals("CHC"))
  637. {
  638. e.Cell.Row.Cells[i].Activation = activation;
  639. }
  640. }
  641. }
  642. }
  643. private void ultraGrid1_AfterRowInsert(object sender, RowEventArgs e)
  644. {
  645. string style = "";
  646. if (CustomInfo == "1")
  647. style = "G";
  648. if (CustomInfo == "2")
  649. style = "N";
  650. //if (CustomInfo == "3")
  651. // style = "K";
  652. //if (CustomInfo == "4")
  653. // style = "S";
  654. UltraGridRow ugr = ultraGrid1.ActiveRow;
  655. if (!ugr.HasParent())
  656. {
  657. string gicStr = "";
  658. string gic = "";
  659. DataRow[] dr = dataTable1.Select("", "GIC DESC");
  660. if (dr.Length > 0)
  661. {
  662. gic = dr[0]["GIC"].ToString();
  663. }
  664. if (!gic.Equals(""))
  665. {
  666. int number = int.Parse(gic.Substring(4, 6));
  667. gicStr = "GIC" + style + string.Format("{0:000000}", number + 1);
  668. _index = number + 1;
  669. }
  670. else
  671. {
  672. gicStr = "GIC" + style + string.Format("{0:000000}", _index);
  673. _index = _index + 1;
  674. }
  675. //赋值理化索引号
  676. ugr.Cells["GIC"].Value = gicStr;
  677. ugr.Cells["PROCESS_CDOE"].Value = "G";
  678. ugr.Cells["PROCESS_DESC"].Value = ugr.Cells["PROCESS_CDOE"].Text;
  679. }
  680. else
  681. {
  682. int indexSeq = 0;
  683. DataRow[] dr = dataTable2.Select("GIC='" + ugr.Cells["GIC"].Value.ToString() + "'", "XH DESC");
  684. if (dr.Length > 0)
  685. {
  686. indexSeq = Convert.ToInt32(dr[0]["XH"]);
  687. }
  688. indexSeq += 1;
  689. //赋值序号
  690. this.ultraGrid1.DisplayLayout.ActiveRow.Cells["XH"].Value = indexSeq;
  691. }
  692. //增加行如果没有勾选则不可编辑
  693. if (!Convert.ToBoolean(ugr.Cells["CHC"].Value))
  694. {
  695. for (int i = 0; i < ugr.Cells.Count; i++)
  696. {
  697. if (!ugr.Cells[i].Column.Key.Equals("CHC"))
  698. ugr.Cells[i].Activation = Activation.ActivateOnly;
  699. if (ugr.Cells[i].Column.Key.Equals("CHKNK"))
  700. ugr.Cells["CHKNK"].Value = "选择";
  701. }
  702. }
  703. e.Row.Update();
  704. }
  705. FrmComMSCStdProcess _frmComMSCStdProcess = null;
  706. private void ultraGrid1_ClickCellButton(object sender, CellEventArgs e)
  707. {
  708. if (e.Cell.Column.Key.Equals("MODEL_DESC") && ultraGrid1.DisplayLayout.ActiveRow.Cells["CHC"].Value.ToString().ToUpper() == "TRUE")
  709. {
  710. UltraGridRow row = this.ultraGrid1.DisplayLayout.ActiveRow;
  711. FrmModel frms = new FrmModel();
  712. frms.FrmOb = this.ob;
  713. frms.Desc = row.Cells["MODEL_DESC"].Value.ToString();
  714. frms.ShowDialog();
  715. row.Cells["MODEL_CODE"].Value = frms.Code;
  716. row.Cells["MODEL_DESC"].Value = frms.Desc;
  717. }
  718. if (e.Cell.Column.Key.Equals("CHKNK"))
  719. {
  720. UltraGridRow ugr = ultraGrid1.ActiveRow;
  721. _frmComMSCStdProcess = new FrmComMSCStdProcess();
  722. _frmComMSCStdProcess.PopupLoad("3", ob);
  723. _frmComMSCStdProcess.UltraPanel1.Visible = false;
  724. _frmComMSCStdProcess.ultraToolbarsManager1.Visible = true;
  725. _frmComMSCStdProcess.Msc = msc;
  726. _frmComMSCStdProcess.CodeJg = "";
  727. _frmComMSCStdProcess.DoQuery1();
  728. if (_frmComMSCStdProcess.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  729. {
  730. DataRow CurRow, NewRow;
  731. for (int i = 0; i < _frmComMSCStdProcess.dataTable2.Rows.Count; i++)
  732. {
  733. CurRow = _frmComMSCStdProcess.dataTable2.Rows[i];
  734. NewRow = dataTable2.NewRow();
  735. if (!_frmComMSCStdProcess.Ids.Contains(CurRow["GIC"].ToString2()))
  736. {
  737. continue;
  738. }
  739. for (int j = 0; j < _frmComMSCStdProcess.dataTable2.Columns.Count; j++)
  740. {
  741. try
  742. {
  743. if (dataTable2.Columns.Contains(_frmComMSCStdProcess.dataTable2.Columns[j].ColumnName))
  744. {
  745. if (_frmComMSCStdProcess.dataTable2.Columns[j].ColumnName == "GIC")
  746. {
  747. NewRow[_frmComMSCStdProcess.dataTable2.Columns[j].ColumnName] = ultraGrid1.ActiveRow.GetValue("GIC");
  748. }
  749. else
  750. {
  751. NewRow[_frmComMSCStdProcess.dataTable2.Columns[j].ColumnName] = CurRow[j];
  752. }
  753. }
  754. }
  755. catch { }
  756. }
  757. dataTable2.Rows.Add(NewRow);
  758. }
  759. ultraGrid1.UpdateData();
  760. ultraGrid1.ActiveRow.ExpandAll();
  761. }
  762. }
  763. }
  764. private int GetGridSelectCount()
  765. {
  766. foreach (UltraGridRow row in ultraGrid1.Rows)
  767. {
  768. if (row.Cells["CHC"].Value.ToString() == "True")
  769. {
  770. return 1;
  771. }
  772. UltraGridRow[] rows = GridHelper.GetRowsWithKey(row.ChildBands[0],
  773. new string[] { "CHC" }, new string[] { "True" });
  774. if (rows.Length > 0)
  775. {
  776. return 1;
  777. }
  778. }
  779. return 0;
  780. }
  781. private DataRow GetComBaseStdRowByPk(string stdCode)
  782. {
  783. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getComBaseStdByPk",
  784. new object[] { stdCode }, ob);
  785. return dt.Rows[0];
  786. }
  787. private void DoSave()
  788. {
  789. string style = "G";
  790. DataRow comBaseStdRow = null;
  791. if (CustomInfo == "2")
  792. {
  793. comBaseStdRow = GetComBaseStdRowByPk(stdCode);
  794. if (comBaseStdRow["ACCEPT_BID"].ToString() == "1")
  795. {
  796. style = "N";
  797. }
  798. else
  799. {
  800. style = "L";
  801. }
  802. }
  803. if (GetGridSelectCount() == 0)
  804. {
  805. MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  806. return;
  807. }
  808. if (CustomInfo == "2")
  809. {
  810. if (comBaseStdRow["ACCEPT_BID"].ToString() == "1" && comBaseStdRow["UNIT_CODE"].ToString() != UserInfo.GetDeptid()
  811. && UserInfo.GetUserID() != "admin" && UserInfo.GetUserID() != "longjinhua")
  812. {
  813. MessageUtil.ShowWarning("该记录只有[" + comBaseStdRow["UNIT_DESC"].ToString() + "]的成员才能操作!");
  814. return;
  815. }
  816. }
  817. ArrayList baseData = new ArrayList();
  818. ArrayList childData = new ArrayList();
  819. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  820. {
  821. UltraGridRow ugr = ultraGrid1.Rows[i];
  822. DataRow rowGic = null;
  823. //主表操作
  824. if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
  825. {
  826. if (ugr.GetValue("VALIDFLAG") != "")
  827. {
  828. rowGic = GetMscGicByGic(ugr.GetValue("GIC"));
  829. }
  830. if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowGic != null)
  831. {
  832. string[] units = ClsBaseInfo.GetUnitByUserName(rowGic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
  833. if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
  834. {
  835. MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
  836. ugr.Activate();
  837. return;
  838. }
  839. }
  840. ComMscStdProcessEntity com = GetBaseData(ugr, rowGic);
  841. if (com == null)
  842. {
  843. MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  844. return;
  845. }
  846. _gic = com.Gic;
  847. baseData.Add(JSONFormat.Format(com));
  848. }
  849. //从表操作
  850. if (ugr.HasChild())
  851. {
  852. if (ugr.Cells["VALIDFLAG"].Value.ToString().Equals("") && !Convert.ToBoolean(ugr.Cells["CHC"].Value))
  853. {
  854. MessageBox.Show("请选择主记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  855. return;
  856. }
  857. for (int j = 0; j < ugr.ChildBands[0].Rows.Count; j++)
  858. {
  859. UltraGridRow ugrc = ugr.ChildBands[0].Rows[j];
  860. if (Convert.ToBoolean(ugrc.Cells["CHC"].Value))
  861. {
  862. if (ugr.GetValue("VALIDFLAG") != "")
  863. {
  864. rowGic = GetMscGicByGic(ugr.GetValue("GIC"));
  865. }
  866. if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowGic != null)
  867. {
  868. string[] units = ClsBaseInfo.GetUnitByUserName(rowGic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
  869. if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
  870. {
  871. MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
  872. ugrc.Activate();
  873. return;
  874. }
  875. }
  876. ComMscStdProcessCEntity comc = GetChildData(ugrc, rowGic);
  877. if (comc == null)
  878. {
  879. MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  880. return;
  881. }
  882. _gic = comc.Gic;
  883. _isEx = true;
  884. childData.Add(JSONFormat.Format(comc));
  885. }
  886. }
  887. }
  888. }
  889. if (MessageBox.Show("是否保存选择记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  890. {
  891. return;
  892. }
  893. if (baseData.Count > 0 || childData.Count > 0)
  894. {
  895. int count = ServerHelper.SetData("com.steering.pss.qcm.CoreComMscStdProcess.saveMscStdProcess",
  896. new Object[] { baseData, childData, style }, this.ob);
  897. if (count > 0)
  898. {
  899. MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  900. DoQuery();
  901. }
  902. }
  903. }
  904. private void DoDeleteOrResume(Boolean flag)
  905. {
  906. if (GetGridSelectCount() == 0)
  907. {
  908. MessageBox.Show("请选择记录", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  909. return;
  910. }
  911. DataRow comBaseStdRow = null;
  912. if (CustomInfo == "2")
  913. {
  914. comBaseStdRow = GetComBaseStdRowByPk(stdCode);
  915. if (comBaseStdRow["ACCEPT_BID"].ToString() == "1" && comBaseStdRow["UNIT_CODE"].ToString() != UserInfo.GetDeptid()
  916. && UserInfo.GetUserID() != "admin")
  917. {
  918. MessageUtil.ShowWarning("该记录只有[" + comBaseStdRow["UNIT_DESC"].ToString() + "]的成员才能" + (flag ? "作废" : "恢复") + "!");
  919. return;
  920. }
  921. }
  922. ArrayList baseList = new ArrayList();
  923. ArrayList childList = new ArrayList();
  924. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  925. {
  926. if (Convert.ToBoolean(ugr.Cells["CHC"].Value.ToString()))
  927. {
  928. DataRow rowGic = null;
  929. if (ugr.GetValue("VALIDFLAG") != "")
  930. {
  931. rowGic = GetMscGicByGic(ugr.GetValue("GIC"));
  932. }
  933. if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowGic != null)
  934. {
  935. string[] units = ClsBaseInfo.GetUnitByUserName(rowGic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
  936. if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
  937. {
  938. MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
  939. ugr.Activate();
  940. return;
  941. }
  942. }
  943. if (CheckAuthority(ugr) == false)
  944. {
  945. MessageUtil.ShowWarning(errMessage);
  946. return;
  947. }
  948. if (CheckRows(ugr) && flag)
  949. {
  950. MessageBox.Show("无效记录不能作废", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  951. return;
  952. }
  953. if (flag && (ugr.Cells["VALIDFLAG"].Value.ToString().Equals("提交审核") || ugr.Cells["VALIDFLAG"].Value.ToString().Equals("已审核")))
  954. {
  955. MessageBox.Show("提交审核或已审核记录不能作废!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  956. return;
  957. }
  958. if (!CheckRows(ugr) && !flag)
  959. {
  960. MessageBox.Show("有效记录不能恢复", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  961. return;
  962. }
  963. ComMscStdProcessEntity com = new ComMscStdProcessEntity();
  964. com.Gic = ugr.Cells["GIC"].Value.ToString();
  965. com.DeleteName = UserInfo.GetUserName();
  966. baseList.Add(JSONFormat.Format(com));
  967. if (flag && ugr.HasChild())
  968. {
  969. if (MessageBox.Show("所对应子记录都将作废!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  970. {
  971. return;
  972. }
  973. foreach (UltraGridRow ugrC in ugr.ChildBands[0].Rows)
  974. {
  975. ComMscStdProcessCEntity comC = new ComMscStdProcessCEntity();
  976. comC.Gic = ugrC.Cells["GIC"].Value.ToString();
  977. comC.Xh = ugrC.Cells["XH"].Value.ToString();
  978. comC.DeleteName = UserInfo.GetUserName();
  979. childList.Add(JSONFormat.Format(comC));
  980. }
  981. }
  982. _gic = ugr.Cells["GIC"].Value.ToString();
  983. }
  984. //如果主表行拥有子项
  985. if (ugr.HasChild())
  986. {
  987. foreach (UltraGridRow ugrC in ugr.ChildBands[0].Rows)
  988. {
  989. //如果子项被勾选
  990. if (Convert.ToBoolean(ugrC.Cells["CHC"].Value.ToString()))
  991. {
  992. DataRow rowGic = null;
  993. if (ugr.GetValue("VALIDFLAG") != "")
  994. {
  995. rowGic = GetMscGicByGic(ugr.GetValue("GIC"));
  996. }
  997. if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowGic != null)
  998. {
  999. string[] units = ClsBaseInfo.GetUnitByUserName(rowGic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
  1000. if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
  1001. {
  1002. MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
  1003. ugrC.Activate();
  1004. return;
  1005. }
  1006. }
  1007. if (CheckAuthority(ugr) == false)
  1008. {
  1009. MessageUtil.ShowWarning(errMessage);
  1010. return;
  1011. }
  1012. if (!flag && CheckRows(ugrC.ParentRow) && !Convert.ToBoolean(ugrC.ParentRow.Cells["CHC"].Value))
  1013. {
  1014. MessageBox.Show("请选择主记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  1015. return;
  1016. }
  1017. if (CheckRows(ugrC) && flag)
  1018. {
  1019. MessageBox.Show("无效记录不能作废", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  1020. return;
  1021. }
  1022. if (!CheckRows(ugrC) && !flag)
  1023. {
  1024. MessageBox.Show("有效记录不能恢复", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  1025. return;
  1026. }
  1027. if (flag)
  1028. {
  1029. if (ugrC.ParentRow.Cells["VALIDFLAG"].Value.ToString() != "录入状态"
  1030. && ugrC.ParentRow.Cells["VALIDFLAG"].Value.ToString() != "无效"
  1031. && ugr.Cells["VALIDFLAG"].Value.ToString() != "")
  1032. {
  1033. MessageUtil.ShowWarning("主记录为提交审核或已审核状态时,无法作废");
  1034. return;
  1035. }
  1036. }
  1037. ComMscStdProcessCEntity comC = new ComMscStdProcessCEntity();
  1038. comC.Gic = ugrC.Cells["GIC"].Value.ToString();
  1039. comC.Xh = ugrC.Cells["XH"].Value.ToString();
  1040. comC.DeleteName = UserInfo.GetUserName();
  1041. childList.Add(JSONFormat.Format(comC));
  1042. _gic = ugr.Cells["GIC"].Value.ToString();
  1043. _isEx = true;
  1044. }
  1045. }
  1046. }
  1047. }
  1048. if (MessageBox.Show("是否" + (flag ? "作废" : "恢复") + "选择记录", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  1049. {
  1050. return;
  1051. }
  1052. if (baseList.Count > 0 || childList.Count > 0)
  1053. {
  1054. int count = ServerHelper.SetData("com.steering.pss.qcm.CoreComMscStdProcess.deleteOrResume", new Object[] { baseList, childList, flag }, this.ob);
  1055. if (count > 0)
  1056. {
  1057. DoQuery();
  1058. MessageBox.Show((flag ? "作废" : "恢复") + "成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
  1059. }
  1060. }
  1061. }
  1062. /// <summary>
  1063. /// 行记录是否有效
  1064. /// </summary>
  1065. /// <param name="ugr"></param>
  1066. /// <returns></returns>
  1067. private bool CheckRows(UltraGridRow ugr)
  1068. {
  1069. if (ugr.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
  1070. return true;
  1071. else
  1072. return false;
  1073. }
  1074. private DataTable GetMscTabByMsc(string msc)
  1075. {
  1076. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getComMscByMsc",
  1077. new object[] { msc }, ob);
  1078. return dt;
  1079. }
  1080. private string GetMscByGic(string gic)
  1081. {
  1082. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreComMscStdProcess.getComGicByGic",
  1083. new object[] { gic }, ob);
  1084. if (dt.Rows.Count > 0)
  1085. {
  1086. return dt.Rows[0]["MSC"].ToString();
  1087. }
  1088. return "";
  1089. }
  1090. /// <summary>
  1091. /// 通过主键查询加工主表
  1092. /// </summary>
  1093. /// <param name="gic"></param>
  1094. /// <returns></returns>
  1095. private DataRow GetMscGicByGic(string gic)
  1096. {
  1097. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreComMscStdProcess.getComGicByGic",
  1098. new object[] { gic }, ob);
  1099. if (dt.Rows.Count == 0)
  1100. {
  1101. return null;
  1102. }
  1103. else
  1104. {
  1105. return dt.Rows[0];
  1106. }
  1107. }
  1108. private bool CheckAuthority(UltraGridRow row)
  1109. {
  1110. if (CustomInfo == "1")
  1111. {
  1112. string mscOld;
  1113. if (row.GetValue("VALIDFLAG") != "")
  1114. {
  1115. mscOld = GetMscByGic(row.GetValue("GIC"));
  1116. }
  1117. else
  1118. {
  1119. mscOld = row.HasParent() ? row.ParentRow.GetValue("MSC") : row.GetValue("MSC");
  1120. }
  1121. DataTable dtMsc = GetMscTabByMsc(mscOld);
  1122. //if (dtMsc.Rows[0]["UNIT_CODE"].ToString() != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
  1123. //{
  1124. // errMessage = "该条记录对应的冶金规范是[" + dtMsc.Rows[0]["UNIT_DESC"].ToString() + "]科室维护的,您没有权限!";
  1125. // row.Activate();
  1126. // return false;
  1127. //}
  1128. }
  1129. return true;
  1130. }
  1131. /// <summary>
  1132. /// 主项数据
  1133. /// </summary>
  1134. /// <param name="ugr">UltraGridRow</param>
  1135. /// <returns></returns>
  1136. private ComMscStdProcessEntity GetBaseData(UltraGridRow ugr, DataRow rowGic)
  1137. {
  1138. ComMscStdProcessEntity com = new ComMscStdProcessEntity();
  1139. com.Gic = ugr.Cells["GIC"].Value.ToString().Trim();
  1140. com.Psc = ugr.Cells["PSC"].Value.ToString().Trim();
  1141. com.Msc = ugr.Cells["MSC"].Value.ToString();
  1142. if (CustomInfo == "1" && com.Msc.Equals(""))
  1143. {
  1144. errMessage = "请选择冶金规范码";
  1145. return null;
  1146. }
  1147. if (CheckAuthority(ugr) == false) return null;
  1148. com.Stdstyle = ugr.Cells["STDSTYLE"].Value.ToString().Trim();
  1149. if (com.Stdstyle.Equals("订货标准"))
  1150. com.Stdstyle = "G";
  1151. else if (com.Stdstyle.Equals("协议标准"))
  1152. com.Stdstyle = "X";
  1153. else if (com.Stdstyle.Equals("Alpha"))
  1154. com.Stdstyle = "K";
  1155. else if (com.Stdstyle.Equals("内控"))
  1156. com.Stdstyle = "N";
  1157. else if (com.Stdstyle.Equals("试验标准"))
  1158. com.Stdstyle = "S";
  1159. else
  1160. com.Stdstyle = "P";
  1161. com.StdCodeNk = ugr.Cells["STD_CODE_NK"].Value.ToString().Trim();
  1162. com.StdNameNk = ugr.Cells["STD_NAME_NK"].Value.ToString().Trim();
  1163. if (CustomInfo != "1" && com.StdNameNk.Equals(""))
  1164. {
  1165. errMessage = "请选择标准名称";
  1166. return null;
  1167. }
  1168. com.ProcessCdoe = ugr.Cells["PROCESS_CDOE"].Value.ToString().Trim();
  1169. com.ProcessDesc = ugr.Cells["PROCESS_DESC"].Value.ToString().Trim();
  1170. com.CreateName = UserInfo.GetUserName();
  1171. com.CreateTime = ugr.Cells["CREATE_TIME"].Value.ToString().Trim();
  1172. com.UpdateName = UserInfo.GetUserName();
  1173. com.Memo = ugr.Cells["MEMO"].Value.ToString();
  1174. com.ProducHead = ugr.GetValue("PRODUC_HEAD");
  1175. com.Validflag = ugr.Cells["VALIDFLAG"].Value.ToString().Trim();
  1176. com.ModelCode = ugr.Cells["MODEL_CODE"].Value.ToString();
  1177. com.ModelDesc = ugr.Cells["MODEL_DESC"].Value.ToString();
  1178. com.Validflag = ugr.Cells["VALIDFLAG"].Value.ToString();
  1179. com.CodeJg = codeJg == "DefaultValue" ? "" : codeJg;
  1180. com.SteelcodeNk = ugr.GetValue("STEELCODE_NK");
  1181. com.SteelnameNk = ugr.GetValue("STEELNAME_NK");
  1182. com.ModelCodeNk = ugr.GetValue("MODEL_CODE_NK");
  1183. com.ModelDescNk = ugr.GetValue("MODEL_DESC_NK");
  1184. com.ProduccodeNk = ugr.GetValue("PRODUCCODE_NK");
  1185. com.ProducnameNk = ugr.GetValue("PRODUCNAME_NK");
  1186. if (rowGic != null && (rowGic["VALIDFLAG"].ToString() == "2" || rowGic["VALIDFLAG"].ToString() == "3"))
  1187. {
  1188. errMessage = "提交审核或已审核记录不能保存";
  1189. return null;
  1190. }
  1191. //if (CustomInfo == "2" && com.ProduccodeNk == "")
  1192. //{
  1193. // errMessage = "请选择品名!";
  1194. // return null;
  1195. //}
  1196. return com;
  1197. }
  1198. /// <summary>
  1199. /// 从表数据
  1200. /// </summary>
  1201. /// <param name="ugr">UltraGridRow</param>
  1202. /// <returns></returns>
  1203. private ComMscStdProcessCEntity GetChildData(UltraGridRow ugr, DataRow rowGic)
  1204. {
  1205. if (CheckAuthority(ugr) == false) return null;
  1206. if (rowGic != null && (rowGic["VALIDFLAG"].ToString() == "2" || rowGic["VALIDFLAG"].ToString() == "3"))
  1207. {
  1208. errMessage = "主记录为提交审核或已审核状态时,无法修改";
  1209. return null;
  1210. }
  1211. string gic = ugr.Cells["GIC"].Value.ToString().Trim();
  1212. string xh = ugr.Cells["XH"].Value.ToString().Trim();
  1213. string stationcode = ugr.Cells["STATION_CODE"].Value.ToString().Trim();
  1214. if (stationcode.Equals(""))
  1215. {
  1216. errMessage = "请选择工序点名称";
  1217. return null;
  1218. }
  1219. //string processcode = ugr.Cells["PROCESS_CDOE"].Value.ToString().Trim();
  1220. //if (processcode.Equals(""))
  1221. //{
  1222. // errMessage = "请选择工序名称";
  1223. // return null;
  1224. //}
  1225. //string processcodec = ugr.Cells["PROCESS_CDOE_C"].Value.ToString().Trim();
  1226. //if (processcodec.Equals(""))
  1227. //{
  1228. // errMessage = "请选择二级工序名称";
  1229. // return null;
  1230. //}
  1231. string valueText = ugr.Cells["VALUE_TEXT"].Value.ToString();
  1232. string valueNum = ugr.Cells["VALUE_NUM"].Value.ToString();
  1233. if (valueText == "" && valueNum == "")
  1234. {
  1235. errMessage = "文本值和数值必须输入一个";
  1236. return null;
  1237. }
  1238. if (valueText != "" && valueNum != "")
  1239. {
  1240. errMessage = "文本值和数值只能输入一个";
  1241. return null;
  1242. }
  1243. ComMscStdProcessCEntity com = new ComMscStdProcessCEntity();
  1244. com.Gic = gic;
  1245. com.Xh = xh;
  1246. com.StationCode = stationcode;
  1247. com.StationDesc = ugr.Cells["STATION_CODE"].Text;
  1248. com.ProcessCdoe = ugr.Cells["PROCESS_CDOE"].Value.ToString().Trim();
  1249. com.ProcessDesc = ugr.Cells["PROCESS_DESC"].Value.ToString();
  1250. com.ProcessCdoeC = ugr.Cells["PROCESS_CDOE"].Value.ToString().Trim();
  1251. com.ProcessDescC = ugr.Cells["PROCESS_DESC_C"].Value.ToString();
  1252. com.ValueText = ugr.Cells["VALUE_TEXT"].Value.ToString();
  1253. com.ValueNum = ugr.Cells["VALUE_NUM"].Value.ToString();
  1254. com.ValueMemo = ugr.Cells["VALUE_MEMO"].Value.ToString();
  1255. com.CreateName = this.UserInfo.GetUserName();
  1256. com.UpdateName = this.UserInfo.GetUserName();
  1257. com.Memo = ugr.Cells["MEMO"].Value.ToString();
  1258. com.Validflag = ugr.Cells["VALIDFLAG"].Value.ToString();
  1259. com.GroupSeq = ugr.Cells["GROUP_SEQ"].Value.ToString();
  1260. com.MinD = ugr.Cells["MIN_D"].Value.ToString();
  1261. com.MaxD = ugr.Cells["MAX_D"].Value.ToString();
  1262. com.MinH = ugr.Cells["MIN_H"].Value.ToString();
  1263. com.MaxH = ugr.Cells["MAX_H"].Value.ToString();
  1264. com.MinDSign = ugr.Cells["MIN_D_SIGN"].Value.ToString();
  1265. com.MaxDSign = ugr.Cells["MAX_D_SIGN"].Value.ToString();
  1266. com.MinHSign = ugr.Cells["MIN_H_SIGN"].Value.ToString();
  1267. com.MaxHSign = ugr.Cells["MAX_H_SIGN"].Value.ToString();
  1268. if (CustomInfo == "2")
  1269. {
  1270. if (com.MinDSign != "" && com.MinD == "")
  1271. {
  1272. errMessage = "请输入外径下限值!";
  1273. ugr.SetCellActive("MIN_D");
  1274. return null;
  1275. }
  1276. else if (com.MinDSign == "" && com.MinD != "")
  1277. {
  1278. errMessage = "请选择外径下限符号!";
  1279. ugr.SetCellActive("MIN_D_SIGN");
  1280. return null;
  1281. }
  1282. else if (com.MaxDSign != "" && com.MaxD == "")
  1283. {
  1284. errMessage = "请输入外径上限值!";
  1285. ugr.SetCellActive("MAX_D");
  1286. return null;
  1287. }
  1288. else if (com.MaxDSign == "" && com.MaxD != "")
  1289. {
  1290. errMessage = "请选择外径上限符号!";
  1291. ugr.SetCellActive("MAX_D_SIGN");
  1292. return null;
  1293. }
  1294. else if (com.MinHSign != "" && com.MinH == "")
  1295. {
  1296. errMessage = "请输入壁厚下限值!";
  1297. ugr.SetCellActive("MIN_H");
  1298. return null;
  1299. }
  1300. else if (com.MinHSign == "" && com.MinH != "")
  1301. {
  1302. errMessage = "请选择壁厚下限符号!";
  1303. ugr.SetCellActive("MIN_H_SIGN");
  1304. return null;
  1305. }
  1306. else if (com.MaxHSign != "" && com.MaxH == "")
  1307. {
  1308. errMessage = "请输入壁厚上限值!";
  1309. ugr.SetCellActive("MAX_H");
  1310. return null;
  1311. }
  1312. else if (com.MaxHSign == "" && com.MaxH != "")
  1313. {
  1314. errMessage = "请选择壁厚上限符号!";
  1315. ugr.SetCellActive("MAX_H_SIGN");
  1316. return null;
  1317. }
  1318. else if (com.MinDSign == "=" && com.MaxDSign != "")
  1319. {
  1320. errMessage = "外径下限符号为等号时,不能存在外径上限符号和外径上限值!";
  1321. ugr.SetCellActive("MAX_D_SIGN");
  1322. return null;
  1323. }
  1324. else if (com.MinHSign == "=" && com.MaxHSign != "")
  1325. {
  1326. errMessage = "壁厚下限符号为等号时,不能存在壁厚上限符号和壁厚上限值!";
  1327. ugr.SetCellActive("MAX_H_SIGN");
  1328. return null;
  1329. }
  1330. else if (com.MinD != "" && com.MaxD != ""
  1331. && decimal.Parse(com.MinD) >= decimal.Parse(com.MaxD))
  1332. {
  1333. errMessage = "外径下限值不能大于等于外径上限值!";
  1334. ugr.SetCellActive("MIN_D");
  1335. return null;
  1336. }
  1337. else if (com.MinH != "" && com.MaxH != ""
  1338. && decimal.Parse(com.MinH) >= decimal.Parse(com.MaxH))
  1339. {
  1340. errMessage = "壁厚下限值不能大于等于壁厚上限值!";
  1341. ugr.SetCellActive("MIN_H");
  1342. return null;
  1343. }
  1344. }
  1345. return com;
  1346. }
  1347. private void ultraCheckStd_CheckedChanged(object sender, EventArgs e)
  1348. {
  1349. if (ultraCheckStd.Checked)
  1350. {
  1351. ultraTextStd.ReadOnly = false;
  1352. }
  1353. else
  1354. {
  1355. ultraTextStd.ReadOnly = true;
  1356. }
  1357. }
  1358. private void ultraCheckMSC_CheckedChanged(object sender, EventArgs e)
  1359. {
  1360. if (ultraCheckMSC.Checked)
  1361. {
  1362. ultraTextMSC.ReadOnly = false;
  1363. }
  1364. else
  1365. {
  1366. ultraTextMSC.ReadOnly = true;
  1367. }
  1368. }
  1369. private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
  1370. {
  1371. if (isPasting)
  1372. {
  1373. e.Row.SetValue("CHC", "True");
  1374. }
  1375. }
  1376. /// <summary>
  1377. /// 2015-07-15 PDY
  1378. /// </summary>
  1379. private void InnerChange()
  1380. {
  1381. ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_CDOE"].CellActivation = Activation.ActivateOnly;
  1382. ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE_NK"].CellActivation = Activation.ActivateOnly;
  1383. ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC"].Hidden = true;
  1384. }
  1385. private void ultraTextEditor3_EditorButtonClick(object sender, EditorButtonEventArgs e)
  1386. {
  1387. if (ultraGrid1.ActiveCell.Column.Key == "PROCESS_DESC")
  1388. {
  1389. string processCodes = ultraGrid1.ActiveRow.GetValue("PROCESS_CDOE");
  1390. ChoiceProcessPopup choiceProcessPopup = new ChoiceProcessPopup(processCodes, this.ob);
  1391. if (choiceProcessPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  1392. {
  1393. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getProcessByStdCode",
  1394. new object[] { this.stdCode }, ob);
  1395. string stdProcessCodes = dt.Rows[0]["PROCESS_CODE"].ToString();
  1396. string[] processCodesAry = choiceProcessPopup.ProcessCodes.Split(',');
  1397. for (int i = 0; i < processCodesAry.Length; i++)
  1398. {
  1399. if (!stdProcessCodes.Contains(processCodesAry[i].Trim()))
  1400. {
  1401. DataTable dtBaseProcess = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getProcessDescByCode",
  1402. new object[] { processCodesAry[i].Trim() }, ob);
  1403. string processDesc = dtBaseProcess.Rows[0]["PROCESS_DESC"].ToString();
  1404. MessageUtil.ShowWarning("该标准下不包含工序" + processDesc + ", 不能选择!");
  1405. return;
  1406. }
  1407. }
  1408. ultraGrid1.ActiveRow.SetValue("PROCESS_CDOE", choiceProcessPopup.ProcessCodes);
  1409. ultraGrid1.ActiveRow.SetValue("PROCESS_DESC", choiceProcessPopup.ProcessDescs);
  1410. }
  1411. }
  1412. else if (ultraGrid1.ActiveCell.Column.Key == "STEELNAME_NK")
  1413. {
  1414. FrmRepSteel frmSteel = new FrmRepSteel();
  1415. frmSteel.Ob1 = this.ob;
  1416. frmSteel.Code = ultraGrid1.ActiveRow.GetValue("STEELCODE_NK");
  1417. if (frmSteel.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  1418. {
  1419. ultraGrid1.ActiveRow.SetValue("STEELCODE_NK", frmSteel.Code);
  1420. ultraGrid1.ActiveRow.SetValue("STEELNAME_NK", frmSteel.Desc);
  1421. }
  1422. }
  1423. else if (ultraGrid1.ActiveCell.Column.Key == "MODEL_DESC_NK")
  1424. {
  1425. FrmModel frmMode = new FrmModel();
  1426. frmMode.FrmOb = this.ob;
  1427. frmMode.Code = ultraGrid1.ActiveRow.GetValue("MODEL_CODE_NK");
  1428. frmMode.Desc = ultraGrid1.ActiveRow.GetValue("MODEL_DESC_NK");
  1429. if (frmMode.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  1430. {
  1431. ultraGrid1.ActiveRow.SetValue("MODEL_CODE_NK", frmMode.Code);
  1432. ultraGrid1.ActiveRow.SetValue("MODEL_DESC_NK", frmMode.Desc);
  1433. }
  1434. }
  1435. else if (ultraGrid1.ActiveCell.Column.Key == "PRODUCNAME_NK")
  1436. {
  1437. PopupProductName popupProductName = new PopupProductName(
  1438. ultraGrid1.ActiveRow.GetValue("PRODUCCODE_NK"), ob);
  1439. if (popupProductName.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  1440. {
  1441. ultraGrid1.ActiveRow.SetValue("PRODUCCODE_NK", popupProductName.ProductCodes);
  1442. ultraGrid1.ActiveRow.SetValue("PRODUCNAME_NK", popupProductName.ProductNames);
  1443. }
  1444. }
  1445. }
  1446. private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  1447. {
  1448. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in this.ultraGrid1.Selected.Rows)
  1449. {
  1450. ugr.Cells["CHC"].Value = true;
  1451. Activation activation = Activation.ActivateOnly;
  1452. if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
  1453. {
  1454. activation = Activation.AllowEdit;
  1455. //isSelect += 1;
  1456. }
  1457. //else
  1458. //isSelect -= 1;
  1459. CellsCollection cells = ugr.Cells;
  1460. for (int i = 0; i < cells.Count; i++)
  1461. {
  1462. if (!cells[i].Column.Key.Equals("CHC"))
  1463. {
  1464. ugr.Cells[i].Activation = activation;
  1465. }
  1466. }
  1467. }
  1468. }
  1469. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  1470. {
  1471. switch (e.Tool.Key)
  1472. {
  1473. case "查询":
  1474. DoQuery1();
  1475. break;
  1476. case "确认选择":
  1477. Choice();
  1478. break;
  1479. }
  1480. }
  1481. private void DoQuery1()
  1482. {
  1483. //查询交付标准、内控标准或者Alpha
  1484. ArrayList QueryConditon = GetQueryData();
  1485. //主表查询
  1486. dataTable2.Clear();
  1487. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreComMscStdProcess.getComProcessNK",
  1488. new Object[] { msc}, this.ob);
  1489. GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
  1490. //从表查询
  1491. DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.CoreComMscStdProcess.getComProcessNKC",
  1492. new Object[] { msc }, this.ob);
  1493. GridHelper.CopyDataToDatatable(ref dt1, ref this.dataTable2, true);
  1494. //不同颜色区分是否有效数据
  1495. QcmBaseCommon.SetGridColor(ultraGrid1, "VALIDFLAG", "无效");
  1496. QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
  1497. UltraGridBand bc = ultraGrid1.DisplayLayout.Bands[0];
  1498. UltraGridBand bcC = ultraGrid1.DisplayLayout.Bands[1];
  1499. UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["MEMO"], bc.Columns["MSC"], bc.Columns["MODEL_DESC"] };
  1500. GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid1, col);
  1501. //isSelect = 0;
  1502. //定位行和展开行
  1503. UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "GIC" }, new string[] { _gic });
  1504. if (rows1.Length > 0)
  1505. {
  1506. rows1[0].Activate();
  1507. if (_isEx)
  1508. rows1[0].ExpandAll();
  1509. }
  1510. _isEx = false;
  1511. _gic = "";
  1512. dataTable1.AcceptChanges();
  1513. dataTable2.AcceptChanges();
  1514. //清空复制数据
  1515. //_copyedRows.Clear();
  1516. }
  1517. private DataRow[] rows;
  1518. public DataRow[] Rows
  1519. {
  1520. get { return rows; }
  1521. set { rows = value; }
  1522. }
  1523. List<string> ids;
  1524. public List<string> Ids
  1525. {
  1526. get { return ids; }
  1527. set { ids = value; }
  1528. }
  1529. private void Choice()
  1530. {
  1531. ultraGrid1.UpdateData();
  1532. int count = ultraGrid1.Rows.Where(a => Convert.ToBoolean(a.GetValue("CHC"))).Count();
  1533. if (count > 1)
  1534. {
  1535. MessageUtil.ShowTips("请选择一条数据!");
  1536. return;
  1537. }
  1538. foreach (UltraGridRow ugr in ultraGrid1.Rows.Where(a => Convert.ToBoolean(a.GetValue("CHC"))))
  1539. {
  1540. //从表操作
  1541. if (ugr.HasChild())
  1542. {
  1543. Ids = ugr.ChildBands[0].Rows.Select(p => p.GetValue("GIC")).ToList();
  1544. Rows = dataTable2.Select("GIC IN ('" + string.Join("','", Ids) + "')");
  1545. }
  1546. }
  1547. this.DialogResult = System.Windows.Forms.DialogResult.OK;
  1548. }
  1549. }
  1550. }