StandardNChoice.cs 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800
  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.UltraWinGrid;
  6. using System;
  7. using System.Collections;
  8. using System.Collections.Generic;
  9. using System.Data;
  10. using System.Linq;
  11. using System.Windows.Forms;
  12. namespace Core.StlMes.Client.Qcm
  13. {
  14. public partial class StandardNChoice : FrmBase
  15. {
  16. private CtrlMscChem _ctrlMscChem;
  17. public CtrlMscChem CtrlMscChem
  18. {
  19. get { return _ctrlMscChem; }
  20. set { _ctrlMscChem = value; }
  21. }
  22. private CtrlMscMaterial _ctrlMscMaterial;
  23. public CtrlMscMaterial CtrlMscMaterial
  24. {
  25. get { return _ctrlMscMaterial; }
  26. set { _ctrlMscMaterial = value; }
  27. }
  28. private CtrlMSCDetection _ctrlMscDetection;
  29. public CtrlMSCDetection CtrlMscDetection
  30. {
  31. get { return _ctrlMscDetection; }
  32. set { _ctrlMscDetection = value; }
  33. }
  34. private CtrlMscTolerances _ctrlMscTolerances;
  35. public CtrlMscTolerances CtrlMscTolerances
  36. {
  37. get { return _ctrlMscTolerances; }
  38. set { _ctrlMscTolerances = value; }
  39. }
  40. private CtrlMscProductWater _ctrlMscProductWater;
  41. public CtrlMscProductWater CtrlMscProductWater
  42. {
  43. get { return _ctrlMscProductWater; }
  44. set { _ctrlMscProductWater = value; }
  45. }
  46. private CtrlMSCStdProcess _ctrlMscStdProcess;
  47. public CtrlMSCStdProcess CtrlMscStdProcess
  48. {
  49. get { return _ctrlMscStdProcess; }
  50. set { _ctrlMscStdProcess = value; }
  51. }
  52. private string _productCode = "";
  53. public string ProductCode
  54. {
  55. get { return _productCode; }
  56. set { _productCode = value; }
  57. }
  58. private string _productName = "";
  59. public string ProductName1
  60. {
  61. get { return _productName; }
  62. set { _productName = value; }
  63. }
  64. private ArrayList _gradeCodes = new ArrayList();
  65. public ArrayList GradeCodes
  66. {
  67. get { return _gradeCodes; }
  68. set { _gradeCodes = value; }
  69. }
  70. private ArrayList _gradeNames = new ArrayList();
  71. public ArrayList GradeNames
  72. {
  73. get { return _gradeNames; }
  74. set { _gradeNames = value; }
  75. }
  76. private string _steelCode = "";
  77. public string SteelCode
  78. {
  79. get { return _steelCode; }
  80. set { _steelCode = value; }
  81. }
  82. private string _steelName = "";
  83. public string SteelName
  84. {
  85. get { return _steelName; }
  86. set { _steelName = value; }
  87. }
  88. private string _processCode = "";
  89. public string ProcessCode
  90. {
  91. get { return _processCode; }
  92. set { _processCode = value; }
  93. }
  94. private string _processName = "";
  95. public string ProcessName
  96. {
  97. get { return _processName; }
  98. set { _processName = value; }
  99. }
  100. private string _msc = "";
  101. public string Msc
  102. {
  103. get { return _msc; }
  104. set { _msc = value; }
  105. }
  106. private string _mscPline = "";
  107. public string MscPline
  108. {
  109. get { return _mscPline; }
  110. set { _mscPline = value; }
  111. }
  112. private string _stdCode = "";
  113. public string StdCode
  114. {
  115. get { return _stdCode; }
  116. set { _stdCode = value; }
  117. }
  118. private string _stdStyle = "";
  119. public string StdStyle
  120. {
  121. get { return _stdStyle; }
  122. set { _stdStyle = value; }
  123. }
  124. private string _psc = "";
  125. private string _ordLnPk = "";
  126. private string _modelCode = "";
  127. private List<string> _cics = new List<string>();
  128. public List<string> Cics
  129. {
  130. get { return _cics; }
  131. set { _cics = value; }
  132. }
  133. private List<string> _pics = new List<string>();
  134. public List<string> Pics
  135. {
  136. get { return _pics; }
  137. set { _pics = value; }
  138. }
  139. private List<string> _dics = new List<string>();
  140. public List<string> Dics
  141. {
  142. get { return _dics; }
  143. set { _dics = value; }
  144. }
  145. private List<string> _sics = new List<string>();
  146. public List<string> Sics
  147. {
  148. get { return _sics; }
  149. set { _sics = value; }
  150. }
  151. private List<string> _wics = new List<string>();
  152. public List<string> Wics
  153. {
  154. get { return _wics; }
  155. set { _wics = value; }
  156. }
  157. private List<string> _gics = new List<string>();
  158. public List<string> Gics
  159. {
  160. get { return _gics; }
  161. set { _gics = value; }
  162. }
  163. public StandardNChoice(string productCode, string productName, ArrayList gradeCodes, ArrayList gradeNames,
  164. string processCode, string processName, string msc, string mscPline, string steelCode, string steelName,
  165. string stdCode, string stdStyle, string ordLnPk, string psc, OpeBase ob)
  166. {
  167. InitializeComponent();
  168. _productCode = productCode;
  169. _productName = productName;
  170. _gradeCodes = gradeCodes;
  171. _gradeNames = gradeNames;
  172. _processCode = processCode;
  173. _processName = processName;
  174. _msc = msc;
  175. _mscPline = mscPline;
  176. _steelCode = steelCode;
  177. _steelName = steelName;
  178. _stdCode = stdCode;
  179. _stdStyle = stdStyle;
  180. _ordLnPk = ordLnPk;
  181. _psc = psc;
  182. this.ob = ob;
  183. DataRow orderLine;
  184. if (ordLnPk.StartsWith("BL"))
  185. {
  186. orderLine = GetBlInfoByPk(ordLnPk);
  187. }
  188. else
  189. {
  190. orderLine = GetOrderLineByPk(ordLnPk);
  191. }
  192. if (orderLine != null)
  193. {
  194. _modelCode = orderLine["MODEL_CODE"].ToString();
  195. }
  196. _ctrlMscChem = new CtrlMscChem(ultraTabPageControl1);
  197. _ctrlMscMaterial = new CtrlMscMaterial(ultraTabPageControl2);
  198. _ctrlMscDetection = new CtrlMSCDetection(ultraTabPageControl4);
  199. _ctrlMscTolerances = new CtrlMscTolerances(ultraTabPageControl3);
  200. _ctrlMscProductWater = new CtrlMscProductWater(ultraTabPageControl5);
  201. _ctrlMscStdProcess = new CtrlMSCStdProcess(ultraTabPageControl6);
  202. _ctrlMscChem._frmChemStd.UltraGrid1.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.No;
  203. _ctrlMscMaterial._frmMaterialStd.UltraGrid1.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.No;
  204. _ctrlMscDetection._frmDetectionStd.UltraGrid1.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.No;
  205. _ctrlMscTolerances._frmTolerancesStd.UltraGrid1.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.No;
  206. _ctrlMscProductWater._frmWaterStd.UltraGrid1.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.No;
  207. _ctrlMscStdProcess._frmProcessStd.UltraGrid1.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.No;
  208. GridHelper.SetExcludeColumnsActive(_ctrlMscChem._frmChemStd.UltraGrid1.DisplayLayout.Bands[0], "CHC");
  209. GridHelper.SetExcludeColumnsActive(_ctrlMscMaterial._frmMaterialStd.UltraGrid1.DisplayLayout.Bands[0], "CHC");
  210. GridHelper.SetExcludeColumnsActive(_ctrlMscDetection._frmDetectionStd.UltraGrid1.DisplayLayout.Bands[0], "CHC");
  211. GridHelper.SetExcludeColumnsActive(_ctrlMscTolerances._frmTolerancesStd.UltraGrid1.DisplayLayout.Bands[0], "CHC");
  212. GridHelper.SetExcludeColumnsActive(_ctrlMscProductWater._frmWaterStd.UltraGrid1.DisplayLayout.Bands[0], "CHC");
  213. GridHelper.SetExcludeColumnsActive(_ctrlMscStdProcess._frmProcessStd.UltraGrid1.DisplayLayout.Bands[0], "CHC");
  214. GridHelper.SetExcludeColumnsActive(_ctrlMscChem._frmChemStd.UltraGrid1.DisplayLayout.Bands[1], "CHC");
  215. GridHelper.SetExcludeColumnsActive(_ctrlMscMaterial._frmMaterialStd.UltraGrid1.DisplayLayout.Bands[1], "CHC");
  216. GridHelper.SetExcludeColumnsActive(_ctrlMscDetection._frmDetectionStd.UltraGrid1.DisplayLayout.Bands[1], "CHC");
  217. GridHelper.SetExcludeColumnsActive(_ctrlMscTolerances._frmTolerancesStd.UltraGrid1.DisplayLayout.Bands[1], "CHC");
  218. GridHelper.SetExcludeColumnsActive(_ctrlMscProductWater._frmWaterStd.UltraGrid1.DisplayLayout.Bands[1], "CHC");
  219. GridHelper.SetExcludeColumnsActive(_ctrlMscStdProcess._frmProcessStd.UltraGrid1.DisplayLayout.Bands[1], "CHC");
  220. _ctrlMscChem._frmChemStd.UltraGrid1.CellChange += _ctrlMscChem_CellChange;
  221. _ctrlMscMaterial._frmMaterialStd.UltraGrid1.CellChange += _ctrlMscMaterial_CellChange;
  222. _ctrlMscTolerances._frmTolerancesStd.UltraGrid1.CellChange += _ctrlMscTolerances_CellChange;
  223. _ctrlMscDetection._frmDetectionStd.UltraGrid1.CellChange += _ctrlMscDetection_CellChange;
  224. _ctrlMscProductWater._frmWaterStd.UltraGrid1.CellChange += _ctrlMscProductWater_CellChange;
  225. _ctrlMscStdProcess._frmProcessStd.UltraGrid1.CellChange += _ctrlMscStdProcess_CellChange;
  226. }
  227. void _ctrlMscStdProcess_CellChange(object sender, CellEventArgs e)
  228. {
  229. if (e.Cell.Column.Key == "CHC")
  230. {
  231. if (e.Cell.Value.ToString() == "True")
  232. {
  233. _gics.Add(e.Cell.Row.GetValue("GIC"));
  234. }
  235. else
  236. {
  237. _gics.Remove(e.Cell.Row.GetValue("GIC"));
  238. }
  239. }
  240. }
  241. void _ctrlMscProductWater_CellChange(object sender, CellEventArgs e)
  242. {
  243. if (e.Cell.Column.Key == "CHC")
  244. {
  245. if (e.Cell.Value.ToString() == "True")
  246. {
  247. _wics.Add(e.Cell.Row.GetValue("WIC"));
  248. }
  249. else
  250. {
  251. _wics.Remove(e.Cell.Row.GetValue("WIC"));
  252. }
  253. }
  254. }
  255. void _ctrlMscDetection_CellChange(object sender, CellEventArgs e)
  256. {
  257. if (e.Cell.Column.Key == "CHC")
  258. {
  259. if (e.Cell.Value.ToString() == "True")
  260. {
  261. _dics.Add(e.Cell.Row.GetValue("DIC"));
  262. }
  263. else
  264. {
  265. _dics.Remove(e.Cell.Row.GetValue("DIC"));
  266. }
  267. }
  268. }
  269. void _ctrlMscTolerances_CellChange(object sender, CellEventArgs e)
  270. {
  271. if (e.Cell.Column.Key == "CHC")
  272. {
  273. if (e.Cell.Value.ToString() == "True")
  274. {
  275. _sics.Add(e.Cell.Row.GetValue("SIC"));
  276. }
  277. else
  278. {
  279. _sics.Remove(e.Cell.Row.GetValue("SIC"));
  280. }
  281. }
  282. }
  283. void _ctrlMscMaterial_CellChange(object sender, CellEventArgs e)
  284. {
  285. if (e.Cell.Column.Key == "CHC")
  286. {
  287. if (e.Cell.Value.ToString() == "True")
  288. {
  289. _pics.Add(e.Cell.Row.GetValue("PIC"));
  290. }
  291. else
  292. {
  293. _pics.Remove(e.Cell.Row.GetValue("PIC"));
  294. }
  295. }
  296. }
  297. void _ctrlMscChem_CellChange(object sender, CellEventArgs e)
  298. {
  299. if (e.Cell.Column.Key == "CHC")
  300. {
  301. if (e.Cell.Value.ToString() == "True")
  302. {
  303. _cics.Add(e.Cell.Row.GetValue("CIC"));
  304. }
  305. else
  306. {
  307. _cics.Remove(e.Cell.Row.GetValue("CIC"));
  308. }
  309. }
  310. }
  311. bool tabControlVisible = false;
  312. private void StandardNChoice_Load(object sender, EventArgs e)
  313. {
  314. tabControlVisible = true;
  315. ControlTabControlVisible();
  316. tabControlVisible = false;
  317. QueryAlpha();
  318. }
  319. private void ControlTabControlVisible()
  320. {
  321. DataTable stationType = GetStationType();
  322. if (stationType != null)
  323. {
  324. if (stationType.Select("STATION_TYPE = '403202'").Length > 0)
  325. {
  326. ultraTabControl1.Tabs["2"].Visible = true;
  327. }
  328. else
  329. {
  330. ultraTabControl1.Tabs["2"].Visible = false;
  331. }
  332. if (stationType.Select("STATION_TYPE = '403201'").Length > 0)
  333. {
  334. ultraTabControl1.Tabs["1"].Visible = true;
  335. }
  336. else
  337. {
  338. ultraTabControl1.Tabs["1"].Visible = false;
  339. }
  340. if (stationType.Select("STATION_TYPE = '403203'").Length > 0)
  341. {
  342. ultraTabControl1.Tabs["3"].Visible = true;
  343. }
  344. else
  345. {
  346. ultraTabControl1.Tabs["3"].Visible = false;
  347. }
  348. if (stationType.Select("STATION_TYPE = '403204'").Length > 0)
  349. {
  350. ultraTabControl1.Tabs["4"].Visible = true;
  351. }
  352. else
  353. {
  354. ultraTabControl1.Tabs["4"].Visible = false;
  355. }
  356. if (stationType.Select("STATION_TYPE = '403205'").Length > 0)
  357. {
  358. ultraTabControl1.Tabs["5"].Visible = true;
  359. }
  360. else
  361. {
  362. ultraTabControl1.Tabs["5"].Visible = false;
  363. }
  364. if (stationType.Select("STATION_TYPE = '403208'").Length > 0)
  365. {
  366. ultraTabControl1.Tabs["6"].Visible = true;
  367. }
  368. else
  369. {
  370. ultraTabControl1.Tabs["6"].Visible = false;
  371. }
  372. }
  373. }
  374. private DataTable GetStationType()
  375. {
  376. if (_msc == "") return null;
  377. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getStationType",
  378. new object[] { _msc, _mscPline, _processCode }, ob);
  379. return dt;
  380. }
  381. private DataRow GetOrderLineByPk(string ordLnPk)
  382. {
  383. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreInnerMSCRGRD2.getOrderLineByPk",
  384. new object[] { ordLnPk }, ob);
  385. if (dt.Rows.Count > 0)
  386. {
  387. return dt.Rows[0];
  388. }
  389. else
  390. {
  391. return null;
  392. }
  393. }
  394. private DataRow GetBlInfoByPk(string blCode)
  395. {
  396. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreInnerMSCRGRD2.getBlInfoByPk",
  397. new object[] { blCode }, ob);
  398. if (dt.Rows.Count > 0)
  399. {
  400. return dt.Rows[0];
  401. }
  402. else
  403. {
  404. return null;
  405. }
  406. }
  407. private void SetGridChoice(UltraGrid grid, List<string> ics, string key)
  408. {
  409. grid.BeginUpdate();
  410. foreach (var row in grid.Rows)
  411. {
  412. if (ics.Contains(row.GetValue(key)))
  413. {
  414. row.SetValue("CHC", "True");
  415. }
  416. //if ((grid.DisplayLayout.Bands[0].Columns.Exists("VALIDFLAGNAME") && row.GetValue("VALIDFLAGNAME") == "无效"
  417. // || grid.DisplayLayout.Bands[0].Columns.Exists("VALIDFLAG") && row.GetValue("VALIDFLAG") == "无效") && row.GetValue("CHC").ToUpper() == "FALSE")
  418. //{
  419. // row.Hidden = true;
  420. //}
  421. }
  422. grid.EndUpdate();
  423. grid.UpdateData();
  424. }
  425. private void QueryAlpha()
  426. {
  427. if (ultraTabControl1.SelectedTab == null) return;
  428. switch (ultraTabControl1.SelectedTab.Key)
  429. {
  430. case "1":
  431. _ctrlMscChem.ShowStdGrid("", _productCode, _gradeCodes, _steelCode, _processCode, this.ob);
  432. _ctrlMscChem.QueryStd("", _productCode, _gradeCodes, _modelCode);
  433. //_ctrlMscChem.ExpandFirstRow();
  434. SetGridChoice(_ctrlMscChem._frmChemStd.UltraGrid1, _cics, "CIC");
  435. break;
  436. case "2":
  437. _ctrlMscMaterial.ShowStdGrid("", _gradeCodes, _productCode, _steelCode, _processCode, _msc, _ordLnPk, this.ob);
  438. _ctrlMscMaterial.QueryStd("", _gradeCodes, _modelCode);
  439. //_ctrlMscMaterial.ExpandFirstRow();
  440. SetGridChoice(_ctrlMscMaterial._frmMaterialStd.UltraGrid1, _pics, "PIC");
  441. break;
  442. case "3":
  443. _ctrlMscTolerances.ShowStdGrid("", _productCode, _steelCode, _processCode, this.ob);
  444. _ctrlMscTolerances.QueryStd("", _modelCode);
  445. //_ctrlMscTolerances.ExpandFirstRow();
  446. SetGridChoice(_ctrlMscTolerances._frmTolerancesStd.UltraGrid1, _sics, "SIC");
  447. break;
  448. case "4":
  449. _ctrlMscDetection.ShowStdGrid("", _stdCode, _stdStyle, "0", _productCode,
  450. _steelCode, _processCode, this.ob);
  451. _ctrlMscDetection.QueryStd("", _modelCode);
  452. //_ctrlMscDetection.ExpandFirstRow();
  453. SetGridChoice(_ctrlMscDetection._frmDetectionStd.UltraGrid1, _dics, "DIC");
  454. break;
  455. case "5":
  456. _ctrlMscProductWater.ShowStdGrid("", _productCode, _steelCode, _processCode, _psc, _ordLnPk, this.ob);
  457. _ctrlMscProductWater.QueryStd("", _modelCode);
  458. //_ctrlMscProductWater.ExpandFirstRow();
  459. SetGridChoice(_ctrlMscProductWater._frmWaterStd.UltraGrid1, _wics, "WIC");
  460. break;
  461. case "6":
  462. _ctrlMscStdProcess.ShowStdGrid("", _productCode, _steelCode, _processCode, this.ob);
  463. _ctrlMscStdProcess.QueryStd("", _modelCode);
  464. //_ctrlMscStdProcess.ExpandFirstRow();
  465. SetGridChoice(_ctrlMscStdProcess._frmProcessStd.UltraGrid1, _gics, "GIC");
  466. break;
  467. }
  468. }
  469. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  470. {
  471. try
  472. {
  473. this.Cursor = Cursors.WaitCursor;
  474. if (tabControlVisible) return;
  475. QueryAlpha();
  476. }
  477. finally
  478. {
  479. this.Cursor = Cursors.Default;
  480. }
  481. }
  482. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  483. {
  484. switch (e.Tool.Key)
  485. {
  486. case "确认选择":
  487. Submit();
  488. break;
  489. case "内控维护":
  490. NkEdite();
  491. break;
  492. case "已选内控":
  493. ChoicedNk();
  494. break;
  495. case "关闭":
  496. this.Close();
  497. break;
  498. }
  499. }
  500. private void ChoicedNk()
  501. {
  502. ProcessNkIndexPop nkIndexPop = new ProcessNkIndexPop(_msc, _mscPline, _processCode, ob);
  503. nkIndexPop.ShowDialog();
  504. }
  505. public void NkEdite()
  506. {
  507. if (ultraTabControl1.SelectedTab == null)
  508. {
  509. MessageUtil.ShowWarning("请至少选择一个成分、理化、公差、探伤、水压、加工类型的工序点!");
  510. return;
  511. }
  512. FrmStandarNSub frmStandarNSub = new FrmStandarNSub(_processCode, _processName, _gradeCodes,
  513. _gradeNames, _productCode, _productName, _msc, _mscPline, _steelCode, _steelName, _psc, ob);
  514. frmStandarNSub.ob = this.ob;
  515. DialogResult result = frmStandarNSub.ShowDialog();
  516. QueryAlpha();
  517. }
  518. private void AddICList(List<string> list, string strICs)
  519. {
  520. string[] strAryICs = strICs.Split(',');
  521. foreach (string str in strAryICs)
  522. {
  523. list.Add(str);
  524. }
  525. }
  526. private string GetICsFromList(List<string> list)
  527. {
  528. string iCs = "";
  529. foreach (string str in list)
  530. {
  531. iCs += iCs == "" ? str : ("," + str);
  532. }
  533. return iCs;
  534. }
  535. private void Submit()
  536. {
  537. if (!ultraTabControl1.Tabs["1"].Visible)
  538. {
  539. _cics.Clear();
  540. }
  541. if (!ultraTabControl1.Tabs["2"].Visible)
  542. {
  543. _pics.Clear();
  544. }
  545. if (!ultraTabControl1.Tabs["3"].Visible)
  546. {
  547. _sics.Clear();
  548. }
  549. if (!ultraTabControl1.Tabs["4"].Visible)
  550. {
  551. _dics.Clear();
  552. }
  553. if (!ultraTabControl1.Tabs["5"].Visible)
  554. {
  555. _wics.Clear();
  556. }
  557. if (!ultraTabControl1.Tabs["6"].Visible)
  558. {
  559. _gics.Clear();
  560. }
  561. if (ultraTabControl1.Tabs["1"].Active)
  562. {
  563. if (_ordLnPk == "abc")
  564. {
  565. _cics.Clear();
  566. }
  567. foreach (UltraGridRow row in _ctrlMscChem._frmChemStd.UltraGrid1.Rows)
  568. {
  569. if (row.GetValue("CHC") == "False")
  570. {
  571. _cics.Remove(row.GetValue("CIC"));
  572. }
  573. else
  574. {
  575. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreChemStandard.getMscCicByCic",
  576. new object[] { row.GetValue("CIC") }, ob);
  577. if (!dt.Rows[0]["PROCESS_CODE"].ToString().Contains(_processCode))
  578. {
  579. MessageUtil.ShowWarning("只能关联适用工序包含" + _processName + "的成分内控!");
  580. return;
  581. }
  582. if (!_cics.Contains(row.GetValue("CIC"))) _cics.Add(row.GetValue("CIC"));
  583. }
  584. }
  585. }
  586. if (ultraTabControl1.Tabs["2"].Active)
  587. {
  588. if (_ordLnPk == "abc")
  589. {
  590. _pics.Clear();
  591. }
  592. foreach (UltraGridRow row in _ctrlMscMaterial._frmMaterialStd.UltraGrid1.Rows)
  593. {
  594. if (row.GetValue("CHC") == "False")
  595. {
  596. _pics.Remove(row.GetValue("PIC"));
  597. }
  598. else
  599. {
  600. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComMaterial.getComPicByPic",
  601. new object[] { row.GetValue("PIC") }, ob);
  602. if (!dt.Rows[0]["PROCESS_CDOE"].ToString().Contains(_processCode))
  603. {
  604. MessageUtil.ShowWarning("只能关联适用工序包含" + _processName + "的理化内控!");
  605. return;
  606. }
  607. if (!_pics.Contains(row.GetValue("PIC"))) _pics.Add(row.GetValue("PIC"));
  608. }
  609. }
  610. }
  611. if (ultraTabControl1.Tabs["3"].Active)
  612. {
  613. if (_ordLnPk == "abc")
  614. {
  615. _sics.Clear();
  616. }
  617. foreach (UltraGridRow row in _ctrlMscTolerances._frmTolerancesStd.UltraGrid1.Rows)
  618. {
  619. if (row.GetValue("CHC") == "False")
  620. {
  621. _sics.Remove(row.GetValue("SIC"));
  622. }
  623. else
  624. {
  625. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreTolerances.getComSicBySic",
  626. new object[] { row.GetValue("SIC") }, ob);
  627. if (!dt.Rows[0]["PROCESS_CODE"].ToString().Contains(_processCode))
  628. {
  629. MessageUtil.ShowWarning("只能关联适用工序包含" + _processName + "的公差内控!");
  630. return;
  631. }
  632. if (!_sics.Contains(row.GetValue("SIC"))) _sics.Add(row.GetValue("SIC"));
  633. }
  634. }
  635. }
  636. if (ultraTabControl1.Tabs["4"].Active)
  637. {
  638. if (_ordLnPk == "abc")
  639. {
  640. _dics.Clear();
  641. }
  642. foreach (UltraGridRow row in _ctrlMscDetection._frmDetectionStd.UltraGrid1.Rows)
  643. {
  644. if (row.GetValue("CHC") == "False")
  645. {
  646. _dics.Remove(row.GetValue("DIC"));
  647. }
  648. else
  649. {
  650. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreDetection.getComDicByDic",
  651. new object[] { row.GetValue("DIC") }, ob);
  652. if (!dt.Rows[0]["PROCESS_CODE"].ToString().Contains(_processCode))
  653. {
  654. MessageUtil.ShowWarning("只能关联适用工序包含" + _processName + "的探伤内控!");
  655. return;
  656. }
  657. if (!_dics.Contains(row.GetValue("DIC"))) _dics.Add(row.GetValue("DIC"));
  658. }
  659. }
  660. }
  661. if (ultraTabControl1.Tabs["5"].Active)
  662. {
  663. if (_ordLnPk == "abc")
  664. {
  665. _wics.Clear();
  666. }
  667. foreach (UltraGridRow row in _ctrlMscProductWater._frmWaterStd.UltraGrid1.Rows)
  668. {
  669. if (row.GetValue("CHC") == "False")
  670. {
  671. _wics.Remove(row.GetValue("WIC"));
  672. }
  673. else
  674. {
  675. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreWaterStand.getComWicByWic",
  676. new object[] { row.GetValue("WIC") }, ob);
  677. if (!dt.Rows[0]["PROCESS_CDOE"].ToString().Contains(_processCode))
  678. {
  679. MessageUtil.ShowWarning("只能关联适用工序包含" + _processName + "的水压内控!");
  680. return;
  681. }
  682. if (!_wics.Contains(row.GetValue("WIC"))) _wics.Add(row.GetValue("WIC"));
  683. }
  684. }
  685. }
  686. if (ultraTabControl1.Tabs["6"].Active)
  687. {
  688. if (_ordLnPk == "abc")
  689. {
  690. _gics.Clear();
  691. }
  692. foreach (UltraGridRow row in _ctrlMscStdProcess._frmProcessStd.UltraGrid1.Rows)
  693. {
  694. if (row.GetValue("CHC") == "False")
  695. {
  696. _gics.Remove(row.GetValue("GIC"));
  697. }
  698. else
  699. {
  700. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreComMscStdProcess.getComGicByGic",
  701. new object[] { row.GetValue("GIC") }, ob);
  702. if (!dt.Rows[0]["PROCESS_CDOE"].ToString().Contains(_processCode))
  703. {
  704. MessageUtil.ShowWarning("只能关联适用工序包含" + _processName + "的加工内控!");
  705. return;
  706. }
  707. if (!_gics.Contains(row.GetValue("GIC"))) _gics.Add(row.GetValue("GIC"));
  708. }
  709. }
  710. }
  711. //去重复 处理老数据。
  712. _cics = _cics.Distinct().ToList();
  713. _pics = _pics.Distinct().ToList();
  714. _sics = _sics.Distinct().ToList();
  715. _dics = _dics.Distinct().ToList();
  716. _wics = _wics.Distinct().ToList();
  717. _gics = _gics.Distinct().ToList();
  718. ServerHelper.SetData("com.steering.pss.qcm.CoreInnerMSCRGRD2.updateMscProcessNk",
  719. new object[] { _msc, _mscPline, _processCode, _cics, _pics, _sics, _dics, _wics, _gics }, ob);
  720. MessageUtil.ShowTips("保存成功!");
  721. }
  722. }
  723. }