FrmProPSCMSC.cs 83 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740
  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.Data;
  9. using System.Drawing;
  10. using System.Text.RegularExpressions;
  11. using System.Windows.Forms;
  12. namespace Core.StlMes.Client.Qcm
  13. {
  14. public partial class FrmProPSCMSC : FrmBase
  15. {
  16. string pscName = ""; //MSC名称
  17. string pscmscName = "";//PSC
  18. string mscNmae = "";//MSC
  19. string strShift = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserOrder();
  20. string strTerm = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserGroup();
  21. string strOperator = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
  22. string STD_CODE, STD_NAME, PRODUCCODE, PRODUCNAME, STEELCODE, STEELNAME, STD_STYLE, STD_STYLE_DESC, NEW_PROC_CODE, NEW_PROC_DESC = " ";
  23. string pscNameDesc = "";
  24. string proMsc = "";//全程工序MSC
  25. string pline = "";//产线号
  26. int iSelectRow = -1; //判定全程途径是否单选
  27. string whole_backlog = "";//工序
  28. string whole_backlog_desc = "";//工序名称
  29. //用于展开操作项
  30. ArrayList listExpanl = new ArrayList();
  31. string falsTra = "false";
  32. TreeNode tNode = new TreeNode();
  33. TreeNode tNodes = new TreeNode();
  34. public FrmProPSCMSC()
  35. {
  36. InitializeComponent();
  37. }
  38. public override void ToolBar_Click(object sender, string ToolbarKey)
  39. {
  40. falsTra = "false";
  41. switch (ToolbarKey)
  42. {
  43. case "Query":
  44. this.doQuery();
  45. break;
  46. case "Add":
  47. this.DoAdd();
  48. if (falsTra.Equals("true"))
  49. {
  50. MessageUtil.ShowTips("操作成功!");
  51. }
  52. else if (falsTra.Equals("triwFalse"))
  53. {
  54. MessageUtil.ShowWarning("请单击选择树菜单品名-->冶金规范码!");
  55. return;
  56. }
  57. else if (falsTra.Equals("com_msc"))
  58. {
  59. MessageUtil.ShowError(" 插入com_msc失败,可能数据错误,请联系计算机中心维护人员处理.");
  60. return;
  61. }
  62. else if (falsTra.Equals("pscrmsc"))
  63. {
  64. MessageUtil.ShowError("插入品名和冶金规范码关系表失败(com_psc_r_msc)失败,可能数据错误,请联系计算机中心维护人员处理.");
  65. return;
  66. }
  67. else if (falsTra.Equals("cicpic"))
  68. {
  69. MessageUtil.ShowError("冶金规范码项目已存在!");
  70. return;
  71. }
  72. else if (falsTra.Equals("backLog"))
  73. {
  74. MessageUtil.ShowWarning("该产线号已存在!,不能重复添加。");
  75. return;
  76. }
  77. else
  78. {
  79. MessageUtil.ShowWarning("未选中任何数据,操作失败!");
  80. return;
  81. }
  82. doQuery();
  83. uldtsMscGetData();
  84. DataTable dtx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_BACKLOG", new Object[] { pscName }, this.ob);
  85. uldtsMscGetDataBACLOG(dtx);
  86. break;
  87. case "Update"://作废
  88. if (boolMsc())
  89. {
  90. if (MessageBox.Show("是否确认无效?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
  91. {
  92. this.DoUpdate("申请作废");
  93. }
  94. }
  95. else
  96. {
  97. MessageUtil.ShowWarning("请选择一条冶金规范码数据!");
  98. }
  99. break;
  100. case "UpdateCs"://审核
  101. if (boolMsc())
  102. {
  103. if (MessageBox.Show("是否确认审核通过?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
  104. {
  105. this.DoUpdate("审核");
  106. }
  107. }
  108. else
  109. {
  110. MessageUtil.ShowWarning("请选择一条冶金规范码数据!");
  111. }
  112. break;
  113. case "UpdateBs"://提交审核
  114. if (boolMsc())
  115. {
  116. if (MessageBox.Show("是否确认提交审核?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
  117. {
  118. this.DoUpdate("提交审核");
  119. }
  120. }
  121. else
  122. {
  123. MessageUtil.ShowWarning("请选择一条冶金规范码数据!");
  124. }
  125. break;
  126. case "UpdateEs"://申请修改
  127. if (boolMsc())
  128. {
  129. if (MessageBox.Show("是否确认申请修改?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
  130. {
  131. this.DoUpdate("申请修改");
  132. }
  133. }
  134. else
  135. {
  136. MessageUtil.ShowWarning("请选择一条冶金规范码数据!");
  137. }
  138. break;
  139. case "UpdateMsc"://更新MSC
  140. if (boolMsc())
  141. {
  142. if (MessageBox.Show("是否确认更新?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
  143. {
  144. this.DoUpdateMsc();
  145. }
  146. }
  147. else
  148. {
  149. MessageUtil.ShowWarning("请选择一条冶金规范码数据!");
  150. }
  151. break;
  152. case "Resume": //恢复
  153. if (boolMsc())
  154. {
  155. if (MessageBox.Show("是否确认恢复?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
  156. {
  157. this.DoUpdate("申请恢复");
  158. }
  159. }
  160. else
  161. {
  162. MessageUtil.ShowWarning("请选择一条冶金规范码数据!");
  163. }
  164. break;
  165. case "Close":
  166. this.Close();
  167. break;
  168. }
  169. }
  170. /**
  171. *验证是否选择冶金规范码
  172. **/
  173. public bool boolMsc()
  174. {
  175. foreach (UltraGridRow ugrs in this.ultraGridMSC.Rows)
  176. {
  177. if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true")
  178. {
  179. return true;
  180. }
  181. }
  182. return false;
  183. }
  184. /**
  185. *除了更新,查询按钮都调用该方法。
  186. **/
  187. public void DoUpdate(string flagName)
  188. {
  189. string flagbug = "";
  190. int selectid = 0;
  191. foreach (UltraGridRow ugr in this.ultraGridMSC.Rows)
  192. {
  193. if (ugr.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true" || ugr.Cells["UCCHOOSE"].Text.ToString().ToLower() == "true")
  194. {
  195. string msc = ugr.Cells["MSC"].Value.ToString().Trim();
  196. string valflag = flagName;
  197. string flag = "";
  198. DataTable dataFlg = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYCOM_MSC_PSCRMSC", new Object[] { msc }, this.ob);
  199. if (dataFlg.Rows.Count <= 0)
  200. {
  201. MessageUtil.ShowWarning(pscName + " 冶金规范码不存在.");
  202. continue;
  203. }
  204. string valName = dataFlg.Rows[0][0].ToString();
  205. if (string.IsNullOrEmpty(valName))
  206. {
  207. flagbug += "冶金规范码:" + msc + " 有效标记不能为空; ";
  208. continue;
  209. }
  210. if (flagName.Equals("申请修改") && valName.Equals("申请修改"))
  211. {
  212. MessageUtil.ShowWarning("不能重复申请修改。");
  213. continue;
  214. }
  215. if (flagName.Equals("提交审核") && valName.Equals("提交审核"))
  216. {
  217. MessageUtil.ShowWarning("不能重复提交审核。");
  218. continue;
  219. }
  220. if (flagName.Equals("审核") && valName.Equals("审核"))
  221. {
  222. MessageUtil.ShowWarning("不能重复审核。");
  223. continue;
  224. }
  225. if (flagName.Equals("申请作废") && valName.Equals("申请作废"))
  226. {
  227. MessageUtil.ShowWarning("不能重复申请作废。");
  228. continue;
  229. }
  230. if (flagName.Equals("申请恢复") && valName.Equals("申请恢复"))
  231. {
  232. MessageUtil.ShowWarning("不能重复申请恢复。");
  233. continue;
  234. }
  235. if (flagName.Equals("申请恢复") && valName.Equals("录入状态"))
  236. {
  237. MessageUtil.ShowWarning("申请恢复失败,已经是录入状态,请提交审核。");
  238. continue;
  239. }
  240. if (flagName.Equals("申请修改") && !valName.Equals("作废"))
  241. {
  242. valflag = "申请修改";
  243. }
  244. else if (flagName.Equals("申请修改") && valName.Equals("作废"))
  245. {
  246. MessageUtil.ShowWarning("作废状态不能申请修改,请先恢复在修改。");
  247. continue;
  248. }
  249. if (flagName.Equals("申请修改") && !valName.Equals("提交审核"))
  250. {
  251. valflag = "申请修改";
  252. }
  253. else if (flagName.Equals("申请修改") && valName.Equals("提交审核"))
  254. {
  255. MessageUtil.ShowWarning("提交审核状态不能申请修改,请先审核完成在修改。");
  256. continue;
  257. }
  258. if (flagName.Equals("申请作废") && !valName.Equals("作废"))
  259. {
  260. valflag = "申请作废";
  261. }
  262. else if (flagName.Equals("申请作废") && valName.Equals("作废"))
  263. {
  264. MessageUtil.ShowWarning("已经作废,不可重复!");
  265. continue;
  266. }
  267. if (flagName.Equals("审核") && valName.Equals("无效"))
  268. {
  269. MessageUtil.ShowWarning("已经作废,请恢复数据,进行下一步操作。");
  270. continue;
  271. }
  272. if (flagName.Equals("申请修改") && valName.Equals("无效"))
  273. {
  274. MessageUtil.ShowWarning("已经作废,请恢复数据,进行下一步操作。");
  275. continue;
  276. }
  277. if (flagName.Equals("申请恢复") && valName.Equals("已生效"))
  278. {
  279. MessageUtil.ShowWarning("已经生效的冶金规范码,操作无效!");
  280. continue;
  281. }
  282. if (flagName.Equals("审核") && valName.Equals("已生效"))
  283. {
  284. MessageUtil.ShowWarning("已经审核的冶金规范码,操作无效!");
  285. continue;
  286. }
  287. if (flagName.Equals("提交审核") && valName.Equals("已生效"))
  288. {
  289. MessageUtil.ShowWarning("已经审核的冶金规范码,提交审核操作无效!");
  290. continue;
  291. }
  292. if (flagName.Equals("审核") && valName.Equals("申请修改"))
  293. {
  294. valflag = "录入状态";
  295. }
  296. if (flagName.Equals("审核") && valName.Equals("申请作废"))
  297. {
  298. valflag = "无效";
  299. }
  300. if (flagName.Equals("审核") && valName.Equals("申请恢复"))
  301. {
  302. valflag = "录入状态";
  303. }
  304. if (flagName.Equals("审核") && valName.Equals("提交审核"))
  305. {
  306. valflag = "已生效";
  307. }
  308. if (flagName.Equals("审核") && valName.Equals("提交审核"))
  309. {
  310. valflag = "已生效";
  311. }
  312. if (flagName.Equals("提交审核") && valName.Equals("录入状态"))
  313. {
  314. valflag = "提交审核";
  315. }
  316. if (flagName.Equals("提交审核") && !valName.Equals("录入状态"))
  317. {
  318. MessageUtil.ShowWarning("MSC码:" + msc + ",必须是录入状态!");
  319. continue;
  320. }
  321. if (flagName.Equals("录入状态") && !valName.Equals("作废"))
  322. {
  323. MessageUtil.ShowWarning("该条数据有效, 恢复失败.");
  324. continue;
  325. }
  326. if (flagName.Equals("审核") && valName.Equals("录入状态"))
  327. {
  328. MessageUtil.ShowWarning("请按照流程操作, 目前状态是录入需要提交审核->审核!");
  329. continue;
  330. }
  331. selectid = ugr.Index;
  332. if (valflag.Trim().Equals("录入状态")) valflag = "A";
  333. else if (valflag.Trim().Equals("提交审核")) valflag = "B";
  334. else if (valflag.Trim().Equals("已生效")) valflag = "C";
  335. else if (valflag.Trim().Equals("无效")) valflag = "D";
  336. else if (valflag.Trim().Equals("申请修改")) valflag = "E";
  337. else if (valflag.Trim().Equals("申请作废")) valflag = "F";
  338. else if (valflag.Trim().Equals("申请恢复")) valflag = "G";
  339. else if (valflag.Trim().Equals("申请审核")) valflag = "H";
  340. if (valflag.Equals("D")) flag = "0";
  341. else flag = "1";
  342. ArrayList parm = new ArrayList();
  343. parm.Add(valflag);//valflag代码标示
  344. parm.Add(msc);//MSC主建代码
  345. CoreClientParam ccp = new CoreClientParam();
  346. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  347. ccp.MethodName = "getLineListUPDATEVALIDFLAG";
  348. ccp.ServerParams = new object[] { parm };
  349. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  350. if (ccp.ReturnCode == -1)
  351. {
  352. return;
  353. }
  354. else
  355. {
  356. parm = new ArrayList();
  357. parm.Add(flag);//valflag代码标示
  358. parm.Add(msc);//MSC主建代码
  359. ccp = new CoreClientParam();
  360. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  361. ccp.MethodName = "getLineListUPDATEPSCRMSCIS";
  362. ccp.ServerParams = new object[] { parm };
  363. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  364. if (ccp.ReturnCode == -1)
  365. {
  366. return;
  367. }
  368. }
  369. }
  370. }
  371. if (!string.IsNullOrEmpty(flagbug))
  372. {
  373. MessageUtil.ShowWarning(flagbug);
  374. }
  375. this.ultraGridMSC.Rows[selectid].Selected = true;
  376. doQuery();
  377. uldtsMscGetData();
  378. }
  379. /**
  380. *只更新冶金规范码数据
  381. **/
  382. public void DoUpdateMsc()
  383. {
  384. string flagbug = "";
  385. int selectid = 0;
  386. foreach (UltraGridRow ugr in this.ultraGridMSC.Rows)
  387. {
  388. if (ugr.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true" || ugr.Cells["UCCHOOSE"].Text.ToString().ToLower() == "true")
  389. {
  390. string msc = ugr.Cells["MSC"].Value.ToString().Trim();
  391. string valflag = ugr.Cells["VALIDFLAG"].Value.ToString();
  392. if (string.IsNullOrEmpty(valflag))
  393. {
  394. flagbug += "冶金规范码:" + msc + " 有效标记不能为空; ";
  395. continue;
  396. }
  397. if (!valflag.Equals("录入状态"))
  398. {
  399. flagbug += "冶金规范码:" + msc + " 录入状态才能修改。";
  400. continue;
  401. }
  402. string department_code = ugr.Cells["DEPARTMENT_DESC"].Text.ToString();
  403. string department_desc = ugr.Cells["DEPARTMENT_CODE"].Text.ToString();
  404. string unit_code = ugr.Cells["UNIT_DESC"].Text.ToString();
  405. string unit_desc = ugr.Cells["UNIT_CODE"].Text.ToString();
  406. string use_code = ugr.Cells["USE_CODE"].Text.ToString();
  407. string use_desc = ugr.Cells["USE_DESC"].Text.ToString();
  408. string user_count = ugr.Cells["USER_COUNT"].Text.ToString();
  409. string msc_seq = ugr.Cells["MSC_SEQ"].Text.ToString();
  410. string msc_desc_seq = ugr.Cells["MSC_DESC_SEQ"].Text.ToString();
  411. string update_name = strOperator;
  412. string memo = ugr.Cells["MEMO"].Text.ToString().Trim();
  413. string msc_style = ugr.Cells["MSC_STYLE"].Text.ToString().Trim();
  414. if (msc_style.Trim().Equals("钢管")) msc_style = "A";
  415. else if (msc_style.Trim().Equals("其他")) msc_style = "B";
  416. string allownk = ugr.Cells["ALLOW_NK"].Text.ToString().Trim();
  417. if (allownk.Trim().Equals("需要")) allownk = "1";
  418. else if (allownk.Trim().Equals("不需要")) allownk = "0";
  419. selectid = ugr.Index;
  420. //if (valflag.Trim().Equals("录入状态")) valflag = "A";
  421. //else if (valflag.Trim().Equals("提交审核")) valflag = "B";
  422. //else if (valflag.Trim().Equals("已生效")) valflag = "C";
  423. //else if (valflag.Trim().Equals("无效")) valflag = "D";
  424. //else if (valflag.Trim().Equals("申请审核")) valflag = "E";
  425. ArrayList parm = new ArrayList();
  426. parm.Add(department_code);
  427. parm.Add(department_desc);
  428. parm.Add(unit_code);
  429. parm.Add(unit_desc);
  430. parm.Add(msc_style);
  431. parm.Add(user_count);
  432. parm.Add(allownk);
  433. parm.Add(msc_seq);
  434. parm.Add(msc_desc_seq);
  435. //parm.Add(valflag);//valflag代码标示
  436. parm.Add(update_name);
  437. parm.Add(memo);
  438. parm.Add(use_code);
  439. parm.Add(use_desc);
  440. parm.Add(msc);//MSC主建代码
  441. CoreClientParam ccp = new CoreClientParam();
  442. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  443. ccp.MethodName = "getLineListSETUPDATECOMMSC";
  444. ccp.ServerParams = new object[] { parm };
  445. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  446. if (ccp.ReturnCode == -1)
  447. {
  448. return;
  449. }
  450. }
  451. }
  452. if (!string.IsNullOrEmpty(flagbug))
  453. {
  454. MessageUtil.ShowWarning(flagbug);
  455. }
  456. else
  457. {
  458. MessageUtil.ShowTips("修改完成");
  459. }
  460. this.ultraGridMSC.Rows[selectid].Selected = true;
  461. doQuery();
  462. uldtsMscGetData();
  463. }
  464. /**
  465. * 已知需要维护3种标准,涉及三张表COM_MSC_ITEM(与树形菜单有关),COM_MSC_STD_CIC,COM_MSC_STD_PIC。
  466. * 1.适用客观无法维护.
  467. * 2.成分标准:新增成分项目 G国标或者K客服标准 生成索引号 新增COM_MSC_STD_CIC成分表,成分表界面维护其他属性。
  468. * 3.材质标准:新增材质项目 G国标或者K客服标准 生成索引号 新增COM_MSC_STD_PIC成分表,材质表界面维护其他属性。
  469. **/
  470. #region 冶金规范码二级。
  471. private void gridMscrj(int Index)
  472. {
  473. foreach (UltraGridRow ugrs in this.ultraGridMSC.Rows[Index].ChildBands[0].Rows)
  474. {
  475. if (ugrs.Cells["BANDUCCHOOSE"].Value.ToString().ToLower() == "true" || ugrs.Cells["BANDUCCHOOSE"].Text.ToString().ToLower() == "true")
  476. {
  477. string msc = " where msc = '" + ugrs.Cells["MSC"].Value.ToString() + "' and ITEM ='" + ugrs.Cells["ITEM"].Value.ToString() + "' AND (item_c ='" + ugrs.Cells["ITEM_C"].Value.ToString() + "' or item_c is null) ";
  478. DataTable dts = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_COM_ITEM", new Object[] { msc }, this.ob);
  479. if (dts.Rows.Count <= 0)
  480. {
  481. /*
  482. msc, index_seq, item, item_c, create_name, create_time,
  483. validflag, memo
  484. */
  485. ArrayList parm = new ArrayList();
  486. parm.Add(ugrs.Cells["MSC"].Value.ToString());
  487. parm.Add(ugrs.Cells["MSC"].Value.ToString());
  488. parm.Add(ugrs.Cells["ITEM"].Value.ToString());
  489. parm.Add(ugrs.Cells["ITEM_C"].Value.ToString());
  490. parm.Add(strOperator);
  491. parm.Add("1");
  492. parm.Add(" ");
  493. CoreClientParam ccp = new CoreClientParam();
  494. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  495. ccp.MethodName = "getLineListINSERTCOM_MSC_ITEM";
  496. ccp.ServerParams = new object[] { parm };
  497. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  498. if (ccp.ReturnCode == -1) { return; }
  499. else
  500. {
  501. string name_item = "";
  502. DataTable dtitem = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_BASE_INFO_SORT_BASE", new Object[] { ugrs.Cells["ITEM"].Value.ToString() }, this.ob);
  503. if (dtitem.Rows[0]["basename"].Equals("成分标准"))
  504. {
  505. dtitem = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_BASE_INFO_SORT_BASE", new Object[] { ugrs.Cells["ITEM_C"].Value.ToString() }, this.ob);
  506. if (dtitem.Rows.Count > 0)
  507. {
  508. if (dtitem.Rows[0]["basename"].Equals("国家标准"))
  509. {
  510. name_item = "G";
  511. }
  512. else if (dtitem.Rows[0]["basename"].Equals("客户标准"))
  513. {
  514. name_item = "K";
  515. }
  516. else
  517. {
  518. MessageUtil.ShowWarning("国家标准和客户标准不存在");
  519. continue;
  520. }
  521. parm = new ArrayList();
  522. parm.Add("CIC" + name_item);
  523. parm.Add(pscmscName);
  524. parm.Add(name_item);
  525. parm.Add(strOperator);
  526. ccp = new CoreClientParam();
  527. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  528. ccp.MethodName = "getLineListINSERTCOM_MSC_STD_CIC";
  529. ccp.ServerParams = new object[] { parm };
  530. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  531. if (ccp.ReturnCode == -1) return;
  532. }
  533. }
  534. else if (dtitem.Rows[0]["basename"].Equals("材质标准"))
  535. {
  536. dtitem = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_BASE_INFO_SORT_BASE", new Object[] { ugrs.Cells["ITEM_C"].Value.ToString() }, this.ob);
  537. if (dtitem.Rows.Count > 0)
  538. {
  539. if (dtitem.Rows[0]["basename"].Equals("国家标准"))
  540. {
  541. name_item = "G";
  542. }
  543. else if (dtitem.Rows[0]["basename"].Equals("客户标准"))
  544. {
  545. name_item = "K";
  546. }
  547. else
  548. {
  549. MessageUtil.ShowWarning("国家标准和客户标准不存在");
  550. continue;
  551. }
  552. parm = new ArrayList();
  553. parm.Add("PIC" + name_item);
  554. parm.Add(pscmscName);
  555. parm.Add(name_item);
  556. parm.Add(strOperator);
  557. ccp = new CoreClientParam();
  558. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  559. ccp.MethodName = "getLineListINSERTCOM_MSC_STD_PIC";
  560. ccp.ServerParams = new object[] { parm };
  561. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  562. if (ccp.ReturnCode == -1) return;
  563. }
  564. }
  565. }
  566. }
  567. else
  568. {
  569. falsTra = "cicpic";
  570. }
  571. }
  572. }
  573. }
  574. #endregion
  575. /**
  576. *新增按钮涉及面有:冶金规范码、冶金规范码二级、全程工序产线。
  577. *1.新增冶金规范码涉及两张表:COM_MSC,COM_PSC_R_MSC;
  578. *2 * 已知需要维护3种标准,涉及三张表COM_MSC_ITEM(与树形菜单有关),COM_MSC_STD_CIC,COM_MSC_STD_PIC。
  579. * 1.适用客观无法维护.
  580. * 2.成分标准:新增成分项目 G国标或者K客服标准 生成索引号 新增COM_MSC_STD_CIC成分表,成分表界面维护其他属性。
  581. * 3.材质标准:新增材质项目 G国标或者K客服标准 生成索引号 新增COM_MSC_STD_PIC成分表,材质表界面维护其他属性。
  582. *3.全程工序产线(COM_MSC_BACKLOG与树菜单有关)简单新增。
  583. **/
  584. private void DoAdd()
  585. {
  586. //IList<string> stName = new List<string>();
  587. //IList<string> stPline = new List<string>();
  588. string strmscCode = "";//冶金规范码
  589. string strPscName = ""; //冶金规范码描述
  590. string errString = "";// 冶金规范码bug
  591. string errItemBug = "";//项目表bug
  592. string errBug = "";//验证
  593. string flagInt = "";
  594. string msc_pline = "";//产线号
  595. #region 冶金规范码
  596. /*msc, msc_desc, use_code, use_desc, department_code,
  597. department_desc, unit_code, unit_desc, msc_style, user_count,
  598. produccode, producname, std_code, std_name, steelcode,
  599. steelname, std_style, std_style_desc, new_proc_code,
  600. new_proc_desc, allow_nk, msc_seq, msc_desc_seq, create_name,
  601. create_time, validflag, memo*/
  602. ultraGridMSC.UpdateData();
  603. foreach (UltraGridRow ugr in this.ultraGridMSC.Rows)
  604. {
  605. if (ugr.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true" || ugr.Cells["UCCHOOSE"].Text.ToString().ToLower() == "true")
  606. {
  607. //用于修改增加后展开
  608. listExpanl.Add(ugr.Index);
  609. string usecode = ugr.Cells["USE_CODE"].Value.ToString().Trim();
  610. string msctos = ugr.Cells["MSC"].Value.ToString().Trim();
  611. this.tNodes.Name = msctos;
  612. int count = Convert.ToInt32(ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYPSCORMSCCOUNT", new Object[] { pscmscName, msctos }, this.ob).Rows[0][0].ToString());
  613. if (count > 0)
  614. {
  615. falsTra = "true";
  616. gridMscrj(ugr.Index);
  617. continue;
  618. }
  619. if (!string.IsNullOrEmpty(pscmscName) && !pscmscName.Substring(0, 3).Equals("PSC"))
  620. {
  621. errBug += "PSC错误,请点击MSC。"; break;
  622. }
  623. if (string.IsNullOrEmpty(ugr.Cells["USER_COUNT"].Value.ToString().Trim())) { errBug += "使用次数不能为空,请填写!"; break; }
  624. if (string.IsNullOrEmpty(ugr.Cells["ALLOW_NK"].Value.ToString().Trim())) { errBug += "是否维护内控标准不能为空,请填写!"; break; }
  625. if (string.IsNullOrEmpty(errBug))
  626. {
  627. strmscCode = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYStaMsc", new Object[] { }, this.ob).Rows[0][0].ToString();
  628. string usedesc = ugr.Cells["USE_CODE"].Text.ToString().Trim();
  629. if (string.IsNullOrEmpty(usecode))
  630. {
  631. strPscName = pscNameDesc;
  632. }
  633. else
  634. {
  635. strPscName = pscNameDesc + "-" + usecode;
  636. }
  637. string departmentcode = ugr.Cells["DEPARTMENT_CODE"].Value.ToString().Trim();
  638. string departmentdesc = ugr.Cells["DEPARTMENT_CODE"].Text.ToString().Trim();
  639. string unitcode = ugr.Cells["UNIT_CODE"].Value.ToString().Trim();
  640. string unitdesc = ugr.Cells["UNIT_CODE"].Text.ToString().Trim();
  641. string mscstyle = ugr.Cells["MSC_STYLE"].Text.ToString().Trim();
  642. if (mscstyle.Trim().Equals("钢管")) mscstyle = "A";
  643. else if (mscstyle.Trim().Equals("其他")) mscstyle = "B";
  644. string usercount = ugr.Cells["USER_COUNT"].Value.ToString().Trim();
  645. string use_code = ugr.Cells["USE_CODE"].Value.ToString().Trim();
  646. string use_desc = ugr.Cells["USE_CODE"].Text.ToString().Trim();
  647. string produccode = this.PRODUCCODE;//品名
  648. string producname = this.PRODUCNAME;
  649. string stdcode = this.STD_CODE;
  650. string stdname = this.STD_NAME;
  651. string steelcode = this.STEELCODE;
  652. string steelname = this.STEELNAME;
  653. string stdstyle = this.STD_STYLE;
  654. string stdstyledesc = this.STD_STYLE_DESC;
  655. string newproccode = this.NEW_PROC_CODE;
  656. string newprocdesc = this.NEW_PROC_DESC;
  657. string allownk = ugr.Cells["ALLOW_NK"].Text.ToString().Trim();
  658. string mscseq = " ";
  659. string mscdescseq = " ";
  660. if (allownk.Trim().Equals("需要")) allownk = "1";
  661. else if (allownk.Trim().Equals("不需要")) allownk = "0";
  662. if (!string.IsNullOrEmpty(ugr.Cells["MSC_SEQ"].Text.Trim()))
  663. {
  664. mscseq = ugr.Cells["MSC_SEQ"].Text.ToString().Trim().Substring(0, 20);
  665. mscdescseq = ugr.Cells["MSC_SEQ"].Text.ToString().Trim();
  666. }
  667. string createname = strOperator;
  668. string validflag = "A";
  669. //if (validflag.Trim().Equals("录入状态")) validflag = "A";
  670. //else if (validflag.Trim().Equals("提交审核")) validflag = "B";
  671. //else if (validflag.Trim().Equals("已生效")) validflag = "C";
  672. //else if (validflag.Trim().Equals("无效")) validflag = "D";
  673. string memo = ugr.Cells["MEMO"].Value.ToString().Trim();
  674. if (flagInt.Trim().Equals("无效")) flagInt = "0";
  675. else flagInt = "1";
  676. ArrayList parm = new ArrayList();
  677. parm.Add(strmscCode);
  678. parm.Add(strPscName);
  679. parm.Add(usecode);
  680. parm.Add(usedesc);
  681. parm.Add(departmentcode);
  682. parm.Add(departmentdesc);
  683. parm.Add(unitcode);
  684. parm.Add(unitdesc);
  685. parm.Add(mscstyle);
  686. parm.Add(usercount);
  687. parm.Add(produccode);
  688. parm.Add(producname);
  689. parm.Add(stdcode);
  690. parm.Add(stdname);
  691. parm.Add(steelcode);
  692. parm.Add(steelname);
  693. parm.Add(stdstyle);
  694. parm.Add(stdstyledesc);
  695. parm.Add(newproccode);
  696. parm.Add(newprocdesc);
  697. parm.Add(allownk);
  698. parm.Add(mscseq);
  699. parm.Add(mscdescseq);
  700. parm.Add(createname);
  701. parm.Add(validflag);
  702. parm.Add(memo);
  703. CoreClientParam ccp = new CoreClientParam();
  704. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  705. ccp.MethodName = "getLineListInsertMSC";
  706. ccp.ServerParams = new object[] { parm };
  707. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  708. if (ccp.ReturnCode == -1)
  709. {
  710. falsTra = "com_msc";
  711. return;
  712. }
  713. else
  714. {
  715. parm = new ArrayList();
  716. parm.Add(pscmscName);//PSC代码
  717. parm.Add(pscmscName);//PSC描述
  718. parm.Add(usecode);
  719. parm.Add(usedesc);
  720. parm.Add(strmscCode);
  721. parm.Add(strPscName);
  722. parm.Add(createname);
  723. parm.Add(flagInt);
  724. parm.Add(memo);
  725. ccp = new CoreClientParam();
  726. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  727. ccp.MethodName = "getLineListInsertPSCRMSC";
  728. ccp.ServerParams = new object[] { parm };
  729. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  730. if (ccp.ReturnCode == -1) { falsTra = "pscrmsc"; return; }
  731. else { falsTra = "true"; gridMscrj(ugr.Index); }
  732. }
  733. }
  734. }
  735. #endregion
  736. }
  737. #region 全程工序
  738. foreach (UltraGridRow ugrs in this.ultraGridBack.Rows)
  739. {
  740. if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true")
  741. {
  742. if (!string.IsNullOrEmpty(pscName) && pscName.Substring(0, 3).Equals("MSC"))
  743. {
  744. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_BACKLOGS", new Object[] { pscName, ugrs.Cells["msc_pline"].Value.ToString() }, this.ob);
  745. if (dt.Rows.Count > 0)
  746. {
  747. falsTra = "backLog";
  748. //stName.Add(ugrs.Cells["msc"].Value.ToString());
  749. //stPline.Add(ugrs.Cells["msc_pline"].Value.ToString());
  750. continue;
  751. }
  752. if (pscName.Substring(0, 3).Equals("MSC"))
  753. {
  754. ArrayList parm = new ArrayList();
  755. string memo = ugrs.Cells["MEMO"].Value.ToString();
  756. parm.Add(pscName);
  757. parm.Add(pscName);
  758. parm.Add(strOperator);
  759. parm.Add(memo);
  760. CoreClientParam ccp = new CoreClientParam();
  761. ccp.ServerName = "com.steering.pss.qcm.CoreFrmProPSCMSC";
  762. ccp.MethodName = "getLineListINSERTCOM_MSC_BACKLOG";
  763. ccp.ServerParams = new object[] { parm };
  764. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  765. if (ccp.ReturnCode == -1) { return; }
  766. else
  767. {
  768. falsTra = "true";
  769. }
  770. }
  771. }
  772. else
  773. {
  774. falsTra = "triwFalse";
  775. return;
  776. }
  777. }
  778. }
  779. #endregion
  780. if (!string.IsNullOrEmpty(errString))
  781. {
  782. MessageUtil.ShowWarning("其他冶金规范维护成功,以下冶金规范已存在:" + errString + "; /R 错误提示:" + errBug);
  783. }
  784. if (!string.IsNullOrEmpty(errItemBug))
  785. {
  786. MessageUtil.ShowWarning(errItemBug);
  787. }
  788. if (!string.IsNullOrEmpty(errBug))
  789. {
  790. MessageUtil.ShowWarning(errBug);
  791. return;
  792. }
  793. }
  794. /**加载全程工序点路径
  795. * 11.27提出需求未实现部分:勾选大工序循环次数(ICOUNT)>1 在工序点画面复制一份相同数据如:选中一条热处理大工序循环次数=2,工序点只有一条热处理1显示两遍,保存到工序点表(com_msc_station).同工序流水号。
  796. **/
  797. public void loadStation(string mscs, string msc_plines)
  798. {
  799. DataTable dtStiation = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERY_MSC_STATION_DESC", new Object[] { mscs, msc_plines }, this.ob);
  800. string staTionName = "全程工序点路径: ";
  801. for (int j = 0; j < dtStiation.Rows.Count; j++)
  802. {
  803. staTionName += dtStiation.Rows[j]["STATION_DESC"].ToString() + "-";
  804. }
  805. this.labelStation.Text = staTionName.Substring(0, staTionName.Length - 1);
  806. }
  807. private void FrmProPSCMSC_Load(object sender, EventArgs e)
  808. {
  809. doQuery();
  810. loadBox();
  811. }
  812. //初始化box
  813. private void loadBox()
  814. {
  815. DataTable isx = new DataTable();
  816. DataTable unLoad = new DataTable();
  817. unLoad.Columns.Add("Name", typeof(System.String));
  818. unLoad.Columns.Add("Code", typeof(System.String));
  819. //引用MSC代码
  820. this.MSCBOX.DataSource = null;
  821. isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQueryMSC", new Object[] { }, this.ob);
  822. for (int i = 0; i < isx.Rows.Count; i++)
  823. {
  824. unLoad.Rows.Add(isx.Rows[i]["代码"].ToString(), isx.Rows[i]["代码"].ToString());
  825. }
  826. if (isx.Rows.Count > 0)
  827. {
  828. this.MSCBOX.DataSource = unLoad;
  829. DataRow dr = unLoad.NewRow();
  830. unLoad.Rows.InsertAt(dr, 0);
  831. MSCBOX.DataSource = unLoad;
  832. MSCBOX.DisplayMember = "Name";
  833. MSCBOX.ValueMember = "Code";
  834. }
  835. //AlpHa代码
  836. isx = new DataTable();
  837. this.STDBOX.DataSource = null;
  838. isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQuerySTD", new Object[] { }, this.ob);
  839. unLoad = new DataTable();
  840. unLoad.Columns.Add("Name", typeof(System.String));
  841. unLoad.Columns.Add("Code", typeof(System.String));
  842. for (int i = 0; i < isx.Rows.Count; i++)
  843. {
  844. unLoad.Rows.Add(isx.Rows[i]["代码描述"].ToString(), isx.Rows[i]["代码"].ToString());
  845. }
  846. if (isx.Rows.Count > 0)
  847. {
  848. this.STDBOX.DataSource = unLoad;
  849. DataRow dr = unLoad.NewRow();
  850. unLoad.Rows.InsertAt(dr, 0);
  851. STDBOX.DataSource = unLoad;
  852. STDBOX.DisplayMember = "Name";
  853. STDBOX.ValueMember = "Code";
  854. }
  855. //类型:钢管,其他。
  856. isx = new DataTable();
  857. this.MSCSTYLECOMBX.DataSource = null;
  858. isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQueryType", new Object[] { }, this.ob);
  859. unLoad = new DataTable();
  860. unLoad.Columns.Add("Name", typeof(System.String));
  861. unLoad.Columns.Add("Code", typeof(System.String));
  862. for (int i = 0; i < isx.Rows.Count; i++)
  863. {
  864. unLoad.Rows.Add(isx.Rows[i]["代码描述"].ToString(), i.ToString());
  865. }
  866. if (isx.Rows.Count > 0)
  867. {
  868. this.MSCSTYLECOMBX.DataSource = unLoad;
  869. DataRow dr = unLoad.NewRow();
  870. unLoad.Rows.Add(dr);
  871. MSCSTYLECOMBX.DataSource = unLoad;
  872. MSCSTYLECOMBX.DisplayMember = "Name";
  873. MSCSTYLECOMBX.ValueMember = "Code";
  874. }
  875. //维护内控标准:需要,不需要。
  876. isx = new DataTable();
  877. this.ALLOWNKBOX.DataSource = null;
  878. isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYLKAK", new Object[] { }, this.ob);
  879. unLoad = new DataTable();
  880. unLoad.Columns.Add("Name", typeof(System.String));
  881. unLoad.Columns.Add("Code", typeof(System.String));
  882. for (int i = 0; i < isx.Rows.Count; i++)
  883. {
  884. unLoad.Rows.Add(isx.Rows[i]["代码描述"].ToString(), i.ToString());
  885. }
  886. if (isx.Rows.Count > 0)
  887. {
  888. this.ALLOWNKBOX.DataSource = unLoad;
  889. DataRow dr = unLoad.NewRow();
  890. unLoad.Rows.Add(dr);
  891. ALLOWNKBOX.DataSource = unLoad;
  892. ALLOWNKBOX.DisplayMember = "Name";
  893. ALLOWNKBOX.ValueMember = "Code";
  894. }
  895. //状态 录入,已生效......
  896. isx = new DataTable();
  897. this.VALIDFLAGBOX.DataSource = null;
  898. isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQueryVALIDFLAG", new Object[] { }, this.ob);
  899. if (isx.Rows.Count > 0)
  900. {
  901. this.VALIDFLAGBOX.DataSource = isx;
  902. DataRow dr = isx.NewRow();
  903. isx.Rows.InsertAt(dr, 0);
  904. VALIDFLAGBOX.DataSource = isx;
  905. }
  906. //查询项目规范项
  907. isx = new DataTable();
  908. this.ultraITEMBOX.DataSource = null;
  909. isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_BASE_INFO", new Object[] { }, this.ob);
  910. unLoad = new DataTable();
  911. unLoad.Columns.Add("Name", typeof(System.String));
  912. unLoad.Columns.Add("Code", typeof(System.String));
  913. for (int i = 0; i < isx.Rows.Count; i++)
  914. {
  915. unLoad.Rows.Add(isx.Rows[i]["basename"].ToString(), isx.Rows[i]["basecode"].ToString());
  916. }
  917. if (isx.Rows.Count > 0)
  918. {
  919. this.ultraITEMBOX.DataSource = unLoad;
  920. DataRow dr = unLoad.NewRow();
  921. unLoad.Rows.InsertAt(dr, 0);
  922. ultraITEMBOX.DataSource = unLoad;
  923. ultraITEMBOX.DisplayMember = "Name";
  924. ultraITEMBOX.ValueMember = "Code";
  925. }
  926. //获取内控标准
  927. isx = new DataTable();
  928. this.ultraComboSTDNK.DataSource = null;
  929. isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_BASE_STD_NK", new Object[] { }, this.ob);
  930. unLoad = new DataTable();
  931. unLoad.Columns.Add("Name", typeof(System.String));
  932. unLoad.Columns.Add("Code", typeof(System.String));
  933. for (int i = 0; i < isx.Rows.Count; i++)
  934. {
  935. unLoad.Rows.Add(isx.Rows[i]["std_name"].ToString(), isx.Rows[i]["std_code"].ToString());
  936. }
  937. if (isx.Rows.Count > 0)
  938. {
  939. this.ultraComboSTDNK.DataSource = unLoad;
  940. DataRow dr = unLoad.NewRow();
  941. unLoad.Rows.InsertAt(dr, 0);
  942. ultraComboSTDNK.DataSource = unLoad;
  943. ultraComboSTDNK.DisplayMember = "Name";
  944. ultraComboSTDNK.ValueMember = "Code";
  945. }
  946. //获取部门
  947. isx = new DataTable();
  948. this.ultraComboDepart.DataSource = null;
  949. isx = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getDepartment", new Object[] { }, this.ob);
  950. unLoad = new DataTable();
  951. unLoad.Columns.Add("Name", typeof(System.String));
  952. unLoad.Columns.Add("Code", typeof(System.String));
  953. for (int i = 0; i < isx.Rows.Count; i++)
  954. {
  955. unLoad.Rows.Add(isx.Rows[i]["DEPARTNAME"].ToString(), isx.Rows[i]["DEPARTID"].ToString());
  956. }
  957. if (isx.Rows.Count > 0)
  958. {
  959. this.ultraComboDepart.DataSource = unLoad;
  960. DataRow dr = unLoad.NewRow();
  961. unLoad.Rows.InsertAt(dr, 0);
  962. ultraComboDepart.DataSource = unLoad;
  963. ultraComboDepart.DisplayMember = "Name";
  964. ultraComboDepart.ValueMember = "Code";
  965. }
  966. //获取科室
  967. isx = new DataTable();
  968. this.ultraComboSection.DataSource = null;
  969. isx = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getSection", new Object[] { }, this.ob);
  970. unLoad = new DataTable();
  971. unLoad.Columns.Add("Name", typeof(System.String));
  972. unLoad.Columns.Add("Code", typeof(System.String));
  973. for (int i = 0; i < isx.Rows.Count; i++)
  974. {
  975. unLoad.Rows.Add(isx.Rows[i]["DEPARTNAME"].ToString(), isx.Rows[i]["DEPARTID"].ToString());
  976. }
  977. if (isx.Rows.Count > 0)
  978. {
  979. this.ultraComboSection.DataSource = unLoad;
  980. DataRow dr = unLoad.NewRow();
  981. unLoad.Rows.InsertAt(dr, 0);
  982. ultraComboSection.DataSource = unLoad;
  983. ultraComboSection.DisplayMember = "Name";
  984. ultraComboSection.ValueMember = "Code";
  985. }
  986. }
  987. //查询树形结构
  988. private void doQuery()
  989. {
  990. //产品规范
  991. tNode = new TreeNode();
  992. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQuery", new Object[] { }, this.ob);
  993. DataTable fnodedt = new DataTable(); //一级
  994. DataTable datblBack = new DataTable(); //工序
  995. DataTable datblGrad = new DataTable(); //钢种
  996. DataTable fnodeLipn = new DataTable(); //二级
  997. this.treeViewName.Nodes.Clear();
  998. TreeNode fnode = new TreeNode();
  999. TreeNode fnodeLp = new TreeNode();//工序
  1000. TreeNode fnodexs = new TreeNode(); //冶金
  1001. TreeNode fnodexGx = new TreeNode(); //工序
  1002. TreeNode fnodexGz = new TreeNode(); //钢种
  1003. int j = 0;
  1004. int x = 0;
  1005. for (int i = 0; i < dt.Rows.Count; i++)
  1006. {
  1007. string mscName = dt.Rows[i]["msc"].ToString();
  1008. //正在修改的树形结构、
  1009. if (i > 0)
  1010. {
  1011. if (dt.Rows[i - 1]["psc"].ToString().Equals(dt.Rows[i]["psc"].ToString()))
  1012. {
  1013. j = j + 1;
  1014. //二级
  1015. if (!string.IsNullOrEmpty(dt.Rows[i]["psc"].ToString()) && !string.IsNullOrEmpty(dt.Rows[i]["msc"].ToString()))
  1016. {
  1017. fnode = treeViewName.Nodes[i - j];
  1018. fnode.Nodes.Add(dt.Rows[i]["msc"].ToString(), dt.Rows[i]["mscdesc"].ToString());
  1019. fnodedt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECT_MSC_STATION_ITEMCODE", new Object[] { mscName }, this.ob);
  1020. fnodeLipn = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_BACKLOG", new Object[] { mscName }, this.ob);
  1021. fnodeLp = fnode.LastNode;
  1022. fnodexs = fnode.LastNode;
  1023. fnodexGx = fnode.LastNode;
  1024. fnodexGz = fnode.LastNode;
  1025. x = 0;
  1026. //加载成分和标准
  1027. for (int r = 0; r < fnodedt.Rows.Count; r++)
  1028. {
  1029. if (r > 0 && fnodedt.Rows[r - 1]["item"].ToString().Equals(fnodedt.Rows[r]["item"].ToString()))
  1030. {
  1031. fnode.Nodes.Add(fnodedt.Rows[r]["item"].ToString(), fnodedt.Rows[r]["basename_c"].ToString());
  1032. continue;
  1033. }
  1034. fnode = fnodexs;
  1035. fnodexs = fnode;
  1036. fnode.Nodes.Add(fnodedt.Rows[r]["item"].ToString(), fnodedt.Rows[r]["basename"].ToString());
  1037. if (!string.IsNullOrEmpty(fnodedt.Rows[r]["basename_c"].ToString()))
  1038. {
  1039. fnode = fnode.LastNode;
  1040. fnode.Nodes.Add(fnodedt.Rows[r]["item"].ToString(), fnodedt.Rows[r]["basename_c"].ToString());
  1041. }
  1042. }
  1043. //加载全程工序
  1044. for (int w = 0; w < fnodeLipn.Rows.Count; w++)
  1045. {
  1046. fnode = fnodeLp;
  1047. fnode.Nodes.Add(fnodeLipn.Rows[w]["msc_pline"].ToString(), "全程路径产线号-" + fnodeLipn.Rows[w]["msc_pline"].ToString());
  1048. datblBack = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECT_MSC_STATION_PROCESSDESC", new Object[] { mscName, fnodeLipn.Rows[w]["msc_pline"] }, this.ob);
  1049. for (int r = 0; r < datblBack.Rows.Count; r++)
  1050. {
  1051. if (r > 0 && datblBack.Rows[r - 1]["process_code"].ToString().Equals(datblBack.Rows[r]["process_code"].ToString()))
  1052. {
  1053. fnode.Nodes.Add(datblBack.Rows[r]["station_code"].ToString(), datblBack.Rows[r]["station_desc"].ToString());
  1054. continue;
  1055. }
  1056. if (!string.IsNullOrEmpty(datblBack.Rows[r]["process_desc"].ToString().Trim()) && !string.IsNullOrEmpty(datblBack.Rows[r]["process_code"].ToString().Trim()))
  1057. {
  1058. fnode = fnodeLp.LastNode;
  1059. fnode.Nodes.Add(datblBack.Rows[r]["process_code"].ToString(), datblBack.Rows[r]["process_desc"].ToString());
  1060. if (!string.IsNullOrEmpty(datblBack.Rows[r]["station_code"].ToString().Trim()))
  1061. {
  1062. fnode = fnode.LastNode;
  1063. fnode.Nodes.Add(datblBack.Rows[r]["station_code"].ToString(), datblBack.Rows[r]["station_desc"].ToString());
  1064. }
  1065. }
  1066. }
  1067. //加载钢种
  1068. datblGrad = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECT_MSC_STATION_GRADECODE", new Object[] { mscName, fnodeLipn.Rows[w]["msc_pline"].ToString() }, this.ob);
  1069. for (int r = 0; r < datblGrad.Rows.Count; r++)
  1070. {
  1071. if (r > 0 && datblGrad.Rows[r - 1]["gradecode"].ToString().Equals(datblGrad.Rows[r]["gradecode"].ToString()))
  1072. {
  1073. fnode.Nodes.Add(datblGrad.Rows[r]["gradecode"].ToString(), datblGrad.Rows[r]["gradename"].ToString() + "-" + datblGrad.Rows[r]["std_name"].ToString());
  1074. continue;
  1075. }
  1076. fnode = fnodeLp.LastNode;
  1077. fnode.Nodes.Add(datblGrad.Rows[r]["gradecode"].ToString(), datblGrad.Rows[r]["gradename"].ToString() + "-" + datblGrad.Rows[r]["std_name"].ToString());
  1078. }
  1079. }
  1080. }
  1081. continue;
  1082. }
  1083. }
  1084. //一级
  1085. if (!string.IsNullOrEmpty(dt.Rows[i]["psc"].ToString()))
  1086. {
  1087. treeViewName.Nodes.Add(dt.Rows[i]["psc"].ToString(), dt.Rows[i]["psc_desc"].ToString());
  1088. }
  1089. //二级
  1090. if (!string.IsNullOrEmpty(dt.Rows[i]["psc"].ToString()) && !string.IsNullOrEmpty(dt.Rows[i]["msc"].ToString()))
  1091. {
  1092. fnode = treeViewName.Nodes[i - j];
  1093. fnode.Nodes.Add(dt.Rows[i]["msc"].ToString(), dt.Rows[i]["mscdesc"].ToString());
  1094. fnodedt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECT_MSC_STATION_ITEMCODE", new Object[] { mscName }, this.ob);
  1095. fnodeLipn = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_BACKLOG", new Object[] { mscName }, this.ob);
  1096. fnodeLp = fnode.LastNode;
  1097. fnodexs = fnode.LastNode;
  1098. fnodexGx = fnode.LastNode;
  1099. fnodexGz = fnode.LastNode;
  1100. x = 0;
  1101. for (int r = 0; r < fnodedt.Rows.Count; r++)
  1102. {
  1103. if (r > 0 && fnodedt.Rows[r - 1]["item"].ToString().Equals(fnodedt.Rows[r]["item"].ToString()))
  1104. {
  1105. fnode.Nodes.Add(fnodedt.Rows[r]["item"].ToString(), fnodedt.Rows[r]["basename_c"].ToString());
  1106. continue;
  1107. }
  1108. fnode = fnodexs;
  1109. fnodexs = fnode;
  1110. fnode.Nodes.Add(fnodedt.Rows[r]["item"].ToString(), fnodedt.Rows[r]["basename"].ToString());
  1111. if (!string.IsNullOrEmpty(fnodedt.Rows[r]["basename_c"].ToString()))
  1112. {
  1113. fnode = fnode.LastNode;
  1114. fnode.Nodes.Add(fnodedt.Rows[r]["item"].ToString(), fnodedt.Rows[r]["basename_c"].ToString());
  1115. }
  1116. }
  1117. for (int w = 0; w < fnodeLipn.Rows.Count; w++)
  1118. {
  1119. fnode = fnodeLp;
  1120. fnode.Nodes.Add(fnodeLipn.Rows[w]["msc_pline"].ToString(), "全程路径产线号-" + fnodeLipn.Rows[w]["msc_pline"].ToString());
  1121. datblBack = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECT_MSC_STATION_PROCESSDESC", new Object[] { mscName, fnodeLipn.Rows[w]["msc_pline"] }, this.ob);
  1122. for (int r = 0; r < datblBack.Rows.Count; r++)
  1123. {
  1124. if (r > 0 && datblBack.Rows[r - 1]["process_code"].ToString().Equals(datblBack.Rows[r]["process_code"].ToString()))
  1125. {
  1126. fnode.Nodes.Add(datblBack.Rows[r]["station_code"].ToString(), datblBack.Rows[r]["station_desc"].ToString());
  1127. continue;
  1128. }
  1129. if (!string.IsNullOrEmpty(datblBack.Rows[r]["process_desc"].ToString().Trim()) && !string.IsNullOrEmpty(datblBack.Rows[r]["process_code"].ToString().Trim()))
  1130. {
  1131. fnode = fnodeLp.LastNode;
  1132. fnode.Nodes.Add(datblBack.Rows[r]["process_code"].ToString(), datblBack.Rows[r]["process_desc"].ToString());
  1133. if (!string.IsNullOrEmpty(datblBack.Rows[r]["station_code"].ToString().Trim()))
  1134. {
  1135. fnode = fnode.LastNode;
  1136. fnode.Nodes.Add(datblBack.Rows[r]["station_code"].ToString(), datblBack.Rows[r]["station_desc"].ToString());
  1137. }
  1138. }
  1139. }
  1140. datblGrad = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListSELECT_MSC_STATION_GRADECODE", new Object[] { mscName, fnodeLipn.Rows[w]["msc_pline"].ToString() }, this.ob);
  1141. for (int r = 0; r < datblGrad.Rows.Count; r++)
  1142. {
  1143. if (r > 0 && datblGrad.Rows[r - 1]["gradecode"].ToString().Equals(datblGrad.Rows[r]["gradecode"].ToString()))
  1144. {
  1145. fnode.Nodes.Add(datblGrad.Rows[r]["gradecode"].ToString(), datblGrad.Rows[r]["gradename"].ToString() + "-" + datblGrad.Rows[r]["std_name"].ToString());
  1146. continue;
  1147. }
  1148. fnode = fnodeLp.LastNode;
  1149. fnode.Nodes.Add(datblGrad.Rows[r]["gradecode"].ToString(), datblGrad.Rows[r]["gradename"].ToString() + "-" + datblGrad.Rows[r]["std_name"].ToString());
  1150. }
  1151. }
  1152. }
  1153. }
  1154. //自动展开功能只处理PSC,MSC,MSC子节点三级。tNodes在点击树节点事件保存起来的。
  1155. if (!string.IsNullOrEmpty(tNodes.Name))
  1156. {
  1157. for (int e = 0; e < this.treeViewName.Nodes.Count; e++)
  1158. {
  1159. //展开PSC节点
  1160. if (this.treeViewName.Nodes[e].Name.Equals(tNodes.Name))
  1161. {
  1162. this.treeViewName.Nodes[e].Expand();
  1163. return;
  1164. }
  1165. //展开MSC节点
  1166. for (int w = 0; w < this.treeViewName.Nodes[e].Nodes.Count; w++)
  1167. {
  1168. if (this.treeViewName.Nodes[e].Nodes[w].Name.Equals(tNodes.Name))
  1169. {
  1170. this.treeViewName.Nodes[e].Expand();
  1171. this.treeViewName.Nodes[e].Nodes[w].ExpandAll();
  1172. return;
  1173. }
  1174. }
  1175. //展开MSC子节点
  1176. for (int w = 0; w < this.treeViewName.Nodes[e].Nodes.Count; w++)
  1177. {
  1178. for (int r = 0; r < this.treeViewName.Nodes[e].Nodes[w].Nodes.Count; r++)
  1179. {
  1180. if (this.treeViewName.Nodes[e].Nodes[w].Nodes[r].Name.Equals(tNodes.Name))
  1181. {
  1182. this.treeViewName.Nodes[e].Expand();
  1183. this.treeViewName.Nodes[e].Nodes[w].Expand();
  1184. this.treeViewName.Nodes[e].Nodes[w].Nodes[r].ExpandAll();
  1185. return;
  1186. }
  1187. }
  1188. }
  1189. }
  1190. }
  1191. }
  1192. //查询冶金规范码
  1193. private void uldtsMscGetData()
  1194. {
  1195. string columnName = "";
  1196. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQueryComMsc", new Object[] { pscmscName }, this.ob);
  1197. int i = 0;
  1198. uldtsMsc.Tables[0].Clear();
  1199. foreach (DataRow dr in dt.Rows)
  1200. {
  1201. DataRow _dr = uldtsMsc.Tables[0].NewRow();
  1202. foreach (DataColumn dc in uldtsMsc.Tables[0].Columns)
  1203. {
  1204. _dr[dc.ColumnName] = dr[dc.ColumnName];
  1205. }
  1206. uldtsMsc.Tables[0].Rows.Add(_dr);
  1207. columnName += "'" + uldtsMsc.Tables[0].Rows[i]["MSC"].ToString() + "',";
  1208. i++;
  1209. }
  1210. if (dt.Rows.Count > 0)
  1211. {
  1212. int idex = Convert.ToInt32(columnName.LastIndexOf(","));
  1213. string sql = "where msc in (" + columnName.Substring(0, idex) + ") ";
  1214. DataTable dts = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_COM_ITEM", new Object[] { sql }, this.ob);
  1215. uldtsMsc.Tables[1].Clear();
  1216. foreach (DataRow dr in dts.Rows)
  1217. {
  1218. DataRow _dr = uldtsMsc.Tables[1].NewRow();
  1219. foreach (DataColumn dc in uldtsMsc.Tables[1].Columns)
  1220. {
  1221. _dr[dc.ColumnName] = dr[dc.ColumnName];
  1222. }
  1223. uldtsMsc.Tables[1].Rows.Add(_dr);
  1224. }
  1225. }
  1226. foreach (UltraGridRow ugr in this.ultraGridMSC.Rows)
  1227. {
  1228. if (ugr.Cells["VALIDFLAG"].Value.ToString().ToLower() == "无效")
  1229. {
  1230. this.ultraGridMSC.Rows[ugr.Index].CellAppearance.BackColor = Color.Red;
  1231. this.ultraGridMSC.DisplayLayout.Override.AllowColMoving = AllowColMoving.WithinBand;
  1232. this.ultraGridMSC.DisplayLayout.Override.AllowColSwapping = AllowColSwapping.WithinBand;
  1233. this.ultraGridMSC.DisplayLayout.Override.TemplateAddRowCellAppearance.BackColor = Color.Yellow;
  1234. this.ultraGridMSC.DisplayLayout.Override.TemplateAddRowCellAppearance.ForeColor = Color.LightYellow;
  1235. }
  1236. }
  1237. foreach (int ix in listExpanl)
  1238. {
  1239. this.ultraGridMSC.Rows[ix].ExpandAll();
  1240. }
  1241. listExpanl = new ArrayList();
  1242. GridHelper.RefreshAndAutoSizeExceptRows(ultraGridMSC, new UltraGridColumn[] { });
  1243. }
  1244. //查询冶金规范产线表
  1245. private void uldtsMscGetDataBACLOG(DataTable dttos)
  1246. {
  1247. DataTable dt = dttos;
  1248. iSelectRow = -1;
  1249. this.uldtsBaclog.Tables[0].Clear();
  1250. foreach (DataRow dr in dt.Rows)
  1251. {
  1252. DataRow _dr = uldtsBaclog.Tables[0].NewRow();
  1253. foreach (DataColumn dc in uldtsBaclog.Tables[0].Columns)
  1254. {
  1255. _dr[dc.ColumnName] = dr[dc.ColumnName];
  1256. }
  1257. uldtsBaclog.Tables[0].Rows.Add(_dr);
  1258. }
  1259. }
  1260. //刷新冶金规范产线表
  1261. private void uldtsMscGetDataBAClogs(DataTable dttos)
  1262. {
  1263. DataTable dt = dttos;
  1264. this.uldtsBaclog.Tables[0].Clear();
  1265. foreach (DataRow dr in dt.Rows)
  1266. {
  1267. DataRow _dr = uldtsBaclog.Tables[0].NewRow();
  1268. foreach (DataColumn dc in uldtsBaclog.Tables[0].Columns)
  1269. {
  1270. _dr[dc.ColumnName] = dr[dc.ColumnName];
  1271. }
  1272. uldtsBaclog.Tables[0].Rows.Add(_dr);
  1273. }
  1274. }
  1275. //查询钢种
  1276. private void uldtsMscGetDatabBaseGrade(DataTable dttos)
  1277. {
  1278. DataTable dt = dttos;
  1279. this.uldtsProce.Tables["TableGrade"].Clear();
  1280. foreach (DataRow dr in dt.Rows)
  1281. {
  1282. DataRow _dr = this.uldtsProce.Tables["TableGrade"].NewRow();
  1283. foreach (DataColumn dc in this.uldtsProce.Tables["TableGrade"].Columns)
  1284. {
  1285. _dr[dc.ColumnName] = dr[dc.ColumnName];
  1286. }
  1287. this.uldtsProce.Tables["TableGrade"].Rows.Add(_dr);
  1288. }
  1289. }
  1290. //树形结构点击事件
  1291. private void treeViewName_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
  1292. {
  1293. if (tNode.Text.Trim() != "")
  1294. {
  1295. tNode.NodeFont = new Font("宋体", 9F, System.Drawing.FontStyle.Regular);
  1296. tNode.BackColor = Color.Empty;
  1297. }
  1298. e.Node.NodeFont = new Font("宋体", 10F, System.Drawing.FontStyle.Underline);
  1299. e.Node.BackColor = Color.Empty;
  1300. e.Node.BackColor = Color.LightBlue;
  1301. tNode = e.Node;
  1302. tNodes = e.Node;
  1303. this.uldtsProce.Tables[1].Clear(); //清空工序点数据。
  1304. if (e.Node.Name.Length > 3 && e.Node.Name.ToString().Substring(0, 3).Equals("PSC"))
  1305. {
  1306. this.pscmscName = e.Node.Name.ToString();
  1307. }
  1308. pscName = e.Node.Name.ToString();
  1309. pscNameDesc = e.Node.Text.ToString();
  1310. if (e.Node.Name.Length > 3 && e.Node.Name.ToString().Substring(0, 3).Equals("MSC"))
  1311. {
  1312. this.mscNmae = e.Node.Name.ToString();
  1313. }
  1314. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYStaPsc", new Object[] { pscName }, this.ob);
  1315. if (dt.Rows.Count > 0)
  1316. {
  1317. STD_CODE = dt.Rows[0]["STD_CODE"].ToString();
  1318. STD_NAME = dt.Rows[0]["STD_NAME"].ToString();
  1319. STEELCODE = dt.Rows[0]["STEELCODE"].ToString();
  1320. STEELNAME = dt.Rows[0]["STEELNAME"].ToString();
  1321. STD_STYLE = dt.Rows[0]["STD_STYLE"].ToString();
  1322. STD_STYLE_DESC = dt.Rows[0]["STD_STYLE_DESC"].ToString();
  1323. NEW_PROC_CODE = dt.Rows[0]["NEW_PROC_CODE"].ToString();
  1324. NEW_PROC_DESC = dt.Rows[0]["NEW_PROC_DESC"].ToString();
  1325. PRODUCNAME = dt.Rows[0]["PRODUCNAME"].ToString();
  1326. PRODUCCODE = dt.Rows[0]["PRODUCCODE"].ToString();
  1327. uldtsMscGetData();
  1328. }
  1329. else if (dt.Rows.Count <= 0)
  1330. {
  1331. dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_BACKLOG", new Object[] { pscName }, this.ob);
  1332. uldtsMscGetDataBACLOG(dt);
  1333. }
  1334. }
  1335. /**
  1336. * 两种逻辑:第一种选择冶金规范码项目;第二种:选择冶金规范码二级自动勾选一级。
  1337. *选择冶金规范码项目触发该方法根据ITEM查询com_base_info where SORTCODE = ITEM.
  1338. **/
  1339. private void ultraGrid5_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  1340. {
  1341. ultraGridMSC.UpdateData();
  1342. if (e.Cell.Column.Key.Equals("ITEM") && !string.IsNullOrEmpty(e.Cell.Row.Cells["ITEM"].Value.ToString()))
  1343. {
  1344. DataTable isx = new DataTable();
  1345. this.ultraITEMCBOX.DataSource = null;
  1346. isx = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_BASE_INFO_SORT", new Object[] { e.Cell.Row.Cells["ITEM"].Value.ToString() }, this.ob);
  1347. if (isx.Rows.Count > 0)
  1348. {
  1349. DataTable unLoad = new DataTable();
  1350. unLoad.Columns.Add("Name", typeof(System.String));
  1351. unLoad.Columns.Add("Code", typeof(System.String));
  1352. for (int i = 0; i < isx.Rows.Count; i++)
  1353. {
  1354. unLoad.Rows.Add(isx.Rows[i]["basename"].ToString(), isx.Rows[i]["basecode"].ToString());
  1355. }
  1356. if (isx.Rows.Count > 0)
  1357. {
  1358. this.ultraITEMCBOX.DataSource = unLoad;
  1359. DataRow dr = unLoad.NewRow();
  1360. unLoad.Rows.InsertAt(dr, 0);
  1361. ultraITEMCBOX.DataSource = unLoad;
  1362. ultraITEMCBOX.DisplayMember = "Name";
  1363. ultraITEMCBOX.ValueMember = "Code";
  1364. }
  1365. }
  1366. }
  1367. if (e.Cell.Column.Key.Equals("BANDUCCHOOSE"))
  1368. {
  1369. string toMsc = e.Cell.Row.Cells["MSC"].Value.ToString();
  1370. Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
  1371. for (int i = 0; i < ultraGridMSC.Rows.Count; i++)
  1372. {
  1373. row = ultraGridMSC.Rows[i];
  1374. row.Cells["UCCHOOSE"].Value = false;
  1375. foreach (UltraGridRow ugrs in this.ultraGridMSC.Rows[i].ChildBands[0].Rows)
  1376. {
  1377. if (ugrs.Cells["BANDUCCHOOSE"].Value.ToString().ToLower().Equals("true"))
  1378. {
  1379. row = ultraGridMSC.Rows[i];
  1380. row.Cells["UCCHOOSE"].Value = true;
  1381. break;
  1382. }
  1383. }
  1384. }
  1385. }
  1386. #region 勾选选择处理逻辑。
  1387. //Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
  1388. //for (int i = 0; i < ultraGridMSC.Rows.Count; i++)
  1389. //{
  1390. // row = ultraGridMSC.Rows[i];
  1391. // if (row.Cells["UCCHOOSE"].Value.ToString().ToLower().Equals("true"))
  1392. // {
  1393. // row.Activation = Activation.AllowEdit;
  1394. // }
  1395. // else
  1396. // {
  1397. // //取消勾选变成不可编辑导致勾选栏也不可编辑,待完善。
  1398. // //row.Activation = Activation.ActivateOnly;
  1399. // }
  1400. //}
  1401. //row.Band.Columns["UCCHOOSE"].CellActivation = Activation.AllowEdit;
  1402. #endregion
  1403. #region 使用次数验证
  1404. if (e.Cell.Column.Key.Equals("USER_COUNT") && !e.Cell.Value.ToString().Equals("-") && !e.Cell.Value.ToString().Equals("-1") && !string.IsNullOrEmpty(e.Cell.Value.ToString()))
  1405. {
  1406. string pattern = "^([-+]?\\d+)(\\.\\d+)?$"; ;// 定义正则表达式 ," "里面的是表达式
  1407. Match m = Regex.Match(e.Cell.Value.ToString(), pattern);// 匹配正则表达式
  1408. if (m.Success)
  1409. {
  1410. }
  1411. else
  1412. {
  1413. e.Cell.Value = "";
  1414. MessageUtil.ShowWarning("有效使用次数只允许使用无限:-1和阿拉伯数字0-9.");
  1415. }
  1416. }
  1417. #endregion
  1418. }
  1419. //冶金规范码只允许操作一行。
  1420. public int QuerybriBack()
  1421. {
  1422. this.ultraGridBack.UpdateData();
  1423. int QuerybriBackInt = 0;
  1424. foreach (UltraGridRow ugrs in this.ultraGridBack.Rows)
  1425. {
  1426. if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true")
  1427. {
  1428. QuerybriBackInt = QuerybriBackInt + 1;
  1429. }
  1430. }
  1431. return QuerybriBackInt;
  1432. }
  1433. //加载大工序。
  1434. public void comMsc_Process()
  1435. {
  1436. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_PROCESS", new Object[] { pscName, pline }, this.ob);
  1437. this.uldtsProce.Tables[0].Clear();
  1438. foreach (DataRow dr in dt.Rows)
  1439. {
  1440. int iCount = Convert.ToInt32(dr["ICOUNT"]);
  1441. int iProcessSeq = 1;
  1442. while (iCount > 0)
  1443. {
  1444. DataRow _dr = uldtsProce.Tables[0].NewRow();
  1445. foreach (DataColumn dc in uldtsProce.Tables[0].Columns)
  1446. {
  1447. _dr[dc.ColumnName] = dr[dc.ColumnName];
  1448. }
  1449. _dr["PROCESS_SEQ"] = iProcessSeq;
  1450. uldtsProce.Tables[0].Rows.Add(_dr);
  1451. iCount = iCount - 1;
  1452. iProcessSeq++;
  1453. }
  1454. }
  1455. Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
  1456. for (int i = 0; i < ultraGridProCes.Rows.Count; i++)
  1457. {
  1458. row = ultraGridProCes.Rows[i];
  1459. if (!string.IsNullOrEmpty(row.Cells["MSC"].Value.ToString()))
  1460. {
  1461. row.Cells["UCCHOOSE"].Value = true;
  1462. }
  1463. if (row.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
  1464. {
  1465. row.Cells["UCCHOOSE"].Row.Activation = Activation.ActivateOnly;
  1466. row.CellAppearance.BackColor = Color.Red;
  1467. }
  1468. }
  1469. }
  1470. //勾选冶金规范码触发的事件
  1471. private void ultraGridBack_CellChange(object sender, CellEventArgs e)
  1472. {
  1473. this.ultraGridBack.UpdateData();
  1474. if (e.Cell.Column.Key.Equals("UCCHOOSE") && Convert.ToBoolean(e.Cell.Value))
  1475. {
  1476. if (iSelectRow != -1)
  1477. ultraGridBack.Rows[iSelectRow].Cells["UCCHOOSE"].Value = false;
  1478. iSelectRow = e.Cell.Row.Index;
  1479. pline = e.Cell.Row.Cells["MSC_PLINE"].Value.ToString();
  1480. //刷新钢种
  1481. DataTable dtlipe = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSGRADE_ROWS", new Object[] { pscName, pline }, this.ob);
  1482. this.uldtsMscGetDatabBaseGrade(dtlipe);
  1483. comMsc_Process();
  1484. //加载全程工序点路径
  1485. loadStation(pscName, pline);
  1486. this.doQueryCoupLing();
  1487. }
  1488. else
  1489. {
  1490. iSelectRow = -1;
  1491. //加载全程工序点路径
  1492. loadStation(" ", " ");
  1493. this.uldtsProce.Tables[0].Clear(); //清空大工序点数据。
  1494. this.uldtsProce.Tables["TableGrade"].Clear();//清空接箍码
  1495. this.uldtsCoupling.Tables["TableCoupling"].Clear(); //清空钢种。
  1496. }
  1497. }
  1498. private void ultraGridProCes_CellChange(object sender, CellEventArgs e)
  1499. {
  1500. string name = "0";
  1501. //this.ultraGridProCes.UpdateData();
  1502. //this.uldtsProce.Tables[1].Clear();
  1503. //foreach (UltraGridRow ugrs in this.ultraGridProCes.Rows)
  1504. //{
  1505. // if (ugrs.Cells["UCCHOOSE"].Value.ToString().ToLower() == "true")
  1506. // {
  1507. // string proName = ugrs.Cells["PROCESS_CODE"].Value.ToString();
  1508. // DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_STATION", new Object[] { proName }, this.ob);
  1509. // foreach (DataRow dr in dt.Rows)
  1510. // {
  1511. // DataRow _dr = uldtsProce.Tables[1].NewRow();
  1512. // foreach (DataColumn dc in uldtsProce.Tables[1].Columns)
  1513. // {
  1514. // _dr[dc.ColumnName] = dr[dc.ColumnName];
  1515. // }
  1516. // uldtsProce.Tables[1].Rows.Add(_dr);
  1517. // }
  1518. // }
  1519. //}
  1520. //if (e.Cell.Column.Key.Equals("UCCHOOSE") && Convert.ToBoolean(e.Cell.Value))
  1521. //{
  1522. // string proName = e.Cell.Row.Cells["PROCESS_CODE"].Value.ToString();
  1523. // DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_STATION", new Object[] { proName }, this.ob);
  1524. // foreach (DataRow dr in dt.Rows)
  1525. // {
  1526. // DataRow _dr = uldtsProce.Tables[1].NewRow();
  1527. // foreach (DataColumn dc in uldtsProce.Tables[1].Columns)
  1528. // {
  1529. // _dr[dc.ColumnName] = dr[dc.ColumnName];
  1530. // }
  1531. // uldtsProce.Tables[1].Rows.Add(_dr);
  1532. // }
  1533. //}
  1534. }
  1535. ///<<sunmary>
  1536. ///接箍码查询
  1537. ///</sunmary>
  1538. public void doQueryCoupLing()
  1539. {
  1540. uldtsCoupling.Clear();
  1541. string msc = this.pscName;
  1542. if (string.IsNullOrEmpty(msc))
  1543. {
  1544. return;
  1545. }
  1546. bool flag = true;
  1547. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYJGAndMSC", new Object[] { msc, flag }, this.ob);
  1548. foreach (DataRow dr in dt.Rows)
  1549. {
  1550. DataRow _dr = uldtsCoupling.Tables[0].NewRow();
  1551. foreach (DataColumn dc in uldtsCoupling.Tables[0].Columns)
  1552. {
  1553. _dr[dc.ColumnName] = dr[dc.ColumnName];
  1554. }
  1555. uldtsCoupling.Tables[0].Rows.Add(_dr);
  1556. }
  1557. Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
  1558. for (int i = 0; i < ultraGridCpling.Rows.Count; i++)
  1559. {
  1560. row = ultraGridCpling.Rows[i];
  1561. if (!row.Cells["VALIDFLAG"].Value.ToString().Equals("有效"))
  1562. {
  1563. row.Appearance.ForeColor = Color.Red;
  1564. }
  1565. else
  1566. {
  1567. row.Appearance.ForeColor = Color.Black;
  1568. }
  1569. }
  1570. }
  1571. //接箍按钮
  1572. private void butCoupLing_Click(object sender, EventArgs e)
  1573. {
  1574. int i = QuerybriBack();
  1575. if (i == 0) { MessageUtil.ShowWarning("请选择选择一行冶金规范码数据。"); return; }
  1576. JGCodeManage jgcm = new JGCodeManage(ob, pscName, pscNameDesc, "", "", "", "", "", "", "", "", "", "", "");
  1577. jgcm.ShowDialog();
  1578. doQueryCoupLing();
  1579. }
  1580. //备料按钮
  1581. private void butBarNo_Click(object sender, EventArgs e)
  1582. {
  1583. int i = QuerybriBack();
  1584. if (i == 0) { MessageUtil.ShowWarning("请选择选择一行冶金规范码数据。"); return; }
  1585. BLCodeManageParms blCodeParms = new BLCodeManageParms();
  1586. blCodeParms.Ob = ob;
  1587. blCodeParms.Msc = pscName;
  1588. blCodeParms.Msc_desc = pscNameDesc;
  1589. BLCodeManage blcm = new BLCodeManage(blCodeParms);
  1590. blcm.ShowDialog();
  1591. doQueryCoupLing();
  1592. }
  1593. //工序点按钮
  1594. private void buttonProRsta_Click(object sender, EventArgs e)
  1595. {
  1596. int i = QuerybriBack();
  1597. if (i == 0) { MessageUtil.ShowWarning("请选择选择一行冶金规范码数据。"); return; }
  1598. this.ultraGridProCes.UpdateData();
  1599. frmStationSelect frmstr = new frmStationSelect(this.ultraGridProCes, this.ultraGridBack, this.ob, strOperator);
  1600. frmstr.ShowDialog();
  1601. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSCOM_MSC_BACKLOG", new Object[] { pscName }, this.ob);
  1602. uldtsMscGetDataBAClogs(dt);
  1603. if (iSelectRow != -1)
  1604. {
  1605. ultraGridBack.Rows[iSelectRow].Cells["UCCHOOSE"].Value = true;
  1606. //刷新钢种
  1607. DataTable dtlipe = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSGRADE_ROWS", new Object[] { pscName, pline }, this.ob);
  1608. this.uldtsMscGetDatabBaseGrade(dtlipe);
  1609. comMsc_Process();
  1610. //加载全程工序点路径
  1611. loadStation(pscName, pline);
  1612. this.doQueryCoupLing();
  1613. }
  1614. doQuery();
  1615. }
  1616. //钢种按钮
  1617. private void buttonGRAD_Click(object sender, EventArgs e)
  1618. {
  1619. int i = QuerybriBack();
  1620. if (i == 0) { MessageUtil.ShowWarning("请选择一条全程途径数据。"); return; }
  1621. frmInnerMSCRGRD blcm = new frmInnerMSCRGRD();
  1622. blcm.SetOb = this.ob;
  1623. blcm.Msc = this.pscName;
  1624. blcm.Msc_pline = this.pline;
  1625. blcm.NameOrd = strOperator;
  1626. blcm.ShowDialog();
  1627. doQuery();
  1628. //刷新钢种
  1629. DataTable dtlipe = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC.getLineListQUERYSGRADE_ROWS", new Object[] { pscName, pline }, this.ob);
  1630. this.uldtsMscGetDatabBaseGrade(dtlipe);
  1631. }
  1632. }
  1633. }