FrmProPSCMSC2Popup.cs 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802
  1. using Core.Mes.Client.Comm.Server;
  2. using Core.Mes.Client.Comm.Tool;
  3. using CoreFS.CA06;
  4. using Infragistics.Win.UltraWinGrid;
  5. using Infragistics.Win.UltraWinToolbars;
  6. using System;
  7. using System.Collections;
  8. using System.Data;
  9. using System.Linq;
  10. using System.Windows.Forms;
  11. namespace Core.StlMes.Client.Qcm
  12. {
  13. /// <summary>
  14. /// 两大规范异常类型
  15. /// </summary>
  16. public enum StdExceptionType
  17. {
  18. /// <summary>
  19. /// MSC异常
  20. /// </summary>
  21. MSC,
  22. /// <summary>
  23. /// MSCN
  24. /// </summary>
  25. MSCN,
  26. /// <summary>
  27. /// 交付标准异常
  28. /// </summary>
  29. Delivery,
  30. /// <summary>
  31. /// 钢种异常
  32. /// </summary>
  33. Grade,
  34. /// <summary>
  35. /// 内控标准异常
  36. /// </summary>
  37. NkStd,
  38. /// <summary>
  39. /// 接箍码异常
  40. /// </summary>
  41. Jg,
  42. /// <summary>
  43. /// 接箍备料码异常
  44. /// </summary>
  45. BlWithJg,
  46. /// <summary>
  47. /// 备料码异常
  48. /// </summary>
  49. Bl,
  50. /// <summary>
  51. /// 附件图片异常
  52. /// </summary>
  53. Fj,
  54. /// <summary>
  55. /// 制程
  56. /// </summary>
  57. BackLog,
  58. /// <summary>
  59. /// 生产周期
  60. /// </summary>
  61. ProductDate,
  62. /// <summary>
  63. /// 所有MSC(某个psc下的所有MSC, 针对技术评审的一个按钮。)
  64. /// </summary>
  65. AllMsc
  66. }
  67. public delegate void StdSucessHandler(object sender, StdEventArgs e);
  68. public partial class FrmProPSCMSC2Popup : FrmBase
  69. {
  70. private string _productCode = "";
  71. private string _stdCode = "";
  72. private string _steelCode = "";
  73. private string _stdStyle = "";
  74. private string _psc = "";
  75. private string _useCode = "";
  76. private string _mscUseCode = "";
  77. private string _custer = "";
  78. private string _msc = "";
  79. //查询框条件MSC
  80. private string _txtMsc = "";
  81. private string _dimater = "";
  82. private string _height = "";
  83. private string _model = "";
  84. private string _mscPline = "";
  85. private string _designKey = "";
  86. private string _ordLnPk = "";
  87. private string _designObjKey = "";
  88. private string _exceptionMsg = "";
  89. private string _custAlphaNo = "";
  90. private string _specialDesc = "";
  91. private string _specCode = "";
  92. private FrmProPSCMSC2 frmMsc;
  93. private string closeAction = "";
  94. private StdExceptionType? _stdExType;
  95. public event StdSucessHandler StdSucessEvent;
  96. public UltraGrid MscGrid
  97. {
  98. get { return frmMsc.ControlMsc.GridMsc; }
  99. }
  100. private bool _isCraft = false;
  101. public bool IsCraft
  102. {
  103. get { return _isCraft; }
  104. set { _isCraft = value; }
  105. }
  106. /// <summary>
  107. /// 弹窗构造函数
  108. /// </summary>
  109. /// <param name="args">输入参数</param>
  110. /// <param name="stdExType">异常类型</param>
  111. /// <param name="exceptionMsg">异常提示信息</param>
  112. public FrmProPSCMSC2Popup(string[] args, string custAlphaNo, string specialDesc, string mscUseCode, string ordLnPk, bool isCraft,
  113. string[] dataPurviewIds, StdExceptionType? stdExType, string exceptionMsg, OpeBase ob)
  114. {
  115. InitializeComponent();
  116. this.ob = ob;
  117. _custAlphaNo = custAlphaNo;
  118. _specialDesc = specialDesc;
  119. _isCraft = isCraft;
  120. _ordLnPk = ordLnPk;
  121. _mscUseCode = mscUseCode;
  122. if (stdExType == StdExceptionType.MSC)
  123. {
  124. _psc = args[0] == "" ? "1" : args[0];
  125. _custer = args[1];
  126. _useCode = args[2];
  127. _msc = args[3];
  128. }
  129. else if (stdExType == StdExceptionType.MSCN)
  130. {
  131. _psc = args[0] == "" ? "1" : args[0];
  132. _custer = args[1];
  133. _useCode = args[2];
  134. _msc = args[3];
  135. }
  136. else if (stdExType == StdExceptionType.AllMsc)
  137. {
  138. _psc = args[0] == "" ? "1" : args[0];
  139. _txtMsc = args[1];
  140. _dimater = args[2];
  141. _height = args[3];
  142. _specCode = args[4];
  143. _ordLnPk = args[5];
  144. }
  145. else if (stdExType == StdExceptionType.ProductDate)
  146. {
  147. _msc = args[0];
  148. _mscPline = args[1];
  149. _psc = GetPscByMsc(_msc);
  150. }
  151. else if (stdExType == StdExceptionType.BackLog)
  152. {
  153. _psc = args[0] == "" ? "1" : args[0];
  154. _useCode = args[1];
  155. _msc = args[2];
  156. _dimater = args[3];
  157. _height = args[4];
  158. _model = args[5];
  159. _designKey = args[6];
  160. _ordLnPk = args[7];
  161. _designObjKey = args[8];
  162. }
  163. else if (stdExType == StdExceptionType.Jg)
  164. {
  165. _psc = args[0] == "" ? "1" : args[0];
  166. _useCode = args[1];
  167. _msc = args[2];
  168. _dimater = args[3];
  169. _height = args[4];
  170. _model = args[5];
  171. _designObjKey = args[6];
  172. _ordLnPk = args[7];
  173. _specCode = args[8];
  174. }
  175. else if (stdExType == StdExceptionType.Fj)
  176. {
  177. _psc = args[0] == "" ? "1" : args[0];
  178. _useCode = args[1];
  179. _msc = args[2];
  180. _designObjKey = args[3];
  181. }
  182. else
  183. {
  184. _psc = args[0] == "" ? "1" : args[0];
  185. _useCode = args[1];
  186. _msc = args[2];
  187. _dimater = args[3];
  188. _height = args[4];
  189. _model = args[5];
  190. }
  191. _stdExType = stdExType;
  192. _exceptionMsg = exceptionMsg;
  193. ultraStatusBar1.Panels["ExMsg"].Text = exceptionMsg;
  194. frmMsc = new FrmProPSCMSC2();
  195. frmMsc.TopLevel = false;
  196. frmMsc.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
  197. this.panel1.Controls.Add(frmMsc);
  198. frmMsc.Dock = DockStyle.Fill;
  199. frmMsc.ob = ob;
  200. frmMsc.ckbDeleteFilter.Checked = false;
  201. //frmMsc.PopupLoad("", ob);
  202. SetPopupQueryCondition();
  203. frmMsc.DataPurviewIds = dataPurviewIds;
  204. //base.OnLoad(EventArgs.Empty);
  205. frmMsc.Show();
  206. //frmMsc.SplitContainer1.BringToFront();
  207. frmMsc.ControlMsc.GridMsc.AfterRowActivate += new EventHandler(GridMsc_AfterRowActivate);
  208. frmMsc.UltraToolbarsManager1.ToolClick += new ToolClickEventHandler(frmMscUltraToolbarsManager1_ToolClick);
  209. frmMsc.Load += frmMsc_Load;
  210. Query();
  211. //...
  212. }
  213. void frmMsc_Load(object sender, EventArgs e)
  214. {
  215. HidenTools();
  216. }
  217. public FrmProPSCMSC2Popup(OpeBase ob, string productCode, string stdCode,
  218. string steelCode, string stdStyle)
  219. {
  220. InitializeComponent();
  221. ultraStatusBar1.Visible = false;
  222. this.panel5.Visible = false;
  223. this.panel3.Height = 34;
  224. _productCode = productCode;
  225. _stdCode = stdCode;
  226. _steelCode = steelCode;
  227. _stdStyle = stdStyle;
  228. this.ob = ob;
  229. frmMsc = new FrmProPSCMSC2();
  230. frmMsc.PopupLoad("", ob);
  231. //base.OnLoad(EventArgs.Empty);
  232. this.panel1.Controls.Add(frmMsc.SplitContainer1);
  233. frmMsc.SplitContainer1.BringToFront();
  234. frmMsc.UltraPanel1.Enabled = false;
  235. frmMsc.ControlMsc.GridMsc.InitializeRow += new Infragistics.Win.UltraWinGrid.InitializeRowEventHandler(GridMsc_InitializeRow);
  236. frmMsc.ControlMsc.GridMsc.AfterRowInsert += new Infragistics.Win.UltraWinGrid.RowEventHandler(GridMsc_AfterRowInsert);
  237. SetDefaulCondition();
  238. Query();
  239. }
  240. private string GetPscByMsc(string msc)
  241. {
  242. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getPscByMsc",
  243. new object[] { msc }, ob);
  244. if (dt.Rows.Count > 0)
  245. {
  246. return dt.Rows[0][0].ToString();
  247. }
  248. return "";
  249. }
  250. void GridMsc_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
  251. {
  252. e.Row.Cells["MSC_STYLE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
  253. e.Row.Cells["MSC_STYLE"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  254. }
  255. void GridMsc_AfterRowInsert(object sender, Infragistics.Win.UltraWinGrid.RowEventArgs e)
  256. {
  257. e.Row.Cells["MSC_STYLE"].Value = "A";
  258. }
  259. private void SetDefaulCondition()
  260. {
  261. ArrayList list = new ArrayList();
  262. list.Add(_productCode);
  263. list.Add(_stdCode);
  264. list.Add(_steelCode);
  265. list.Add(_stdStyle);
  266. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.BLCodeManage.queryPscCode", new object[] { list }, ob);
  267. frmMsc.TxtPscCode.Text = dt.Rows[0][0].ToString();
  268. }
  269. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  270. {
  271. switch (e.Tool.Key)
  272. {
  273. case "查询":
  274. Query();
  275. break;
  276. case "新增":
  277. frmMsc.ToolBar_Click(null, "Add");
  278. break;
  279. case "修改":
  280. frmMsc.ToolBar_Click(null, "UpdateMsc");
  281. break;
  282. case "申请修改":
  283. frmMsc.ToolBar_Click(null, "UpdateEs");
  284. break;
  285. case "提交审核":
  286. frmMsc.ToolBar_Click(null, "UpdateBs");
  287. break;
  288. case "审核":
  289. frmMsc.ToolBar_Click(null, "UpdateCs");
  290. break;
  291. case "作废":
  292. frmMsc.ToolBar_Click(null, "Delete");
  293. break;
  294. case "恢复":
  295. frmMsc.ToolBar_Click(null, "Resume");
  296. break;
  297. case "刷新":
  298. frmMsc.ToolBar_Click(null, "Refresh");
  299. break;
  300. }
  301. }
  302. private void SetPopupQueryCondition()
  303. {
  304. frmMsc.TxtPscCode.Text = _psc;
  305. frmMsc.txtMsc.Text = _txtMsc;
  306. frmMsc.ControlMsc.Msc = _msc;
  307. frmMsc.DimaterCp = _dimater;
  308. frmMsc.HeightCp = _height;
  309. frmMsc.OrdLnPk = _ordLnPk;
  310. frmMsc.CustAlphaNo = _custAlphaNo;
  311. frmMsc.MscUseCode = _mscUseCode;
  312. frmMsc.SpecialDesc = _specialDesc;
  313. frmMsc.IsCraft = _isCraft;
  314. frmMsc.SpecCode = _specCode;
  315. }
  316. private void HidenTools()
  317. {
  318. if (_stdExType == StdExceptionType.MSC)
  319. {
  320. ultraToolbarsManager1.Toolbars[0].Tools["查询"].SharedProps.Visible = false;
  321. ultraToolbarsManager1.Toolbars[0].Tools["申请修改"].SharedProps.Visible = false;
  322. ultraToolbarsManager1.Toolbars[0].Tools["提交审核"].SharedProps.Visible = true;
  323. ultraToolbarsManager1.Toolbars[0].Tools["审核"].SharedProps.Visible = true;
  324. ultraToolbarsManager1.Toolbars[0].Tools["作废"].SharedProps.Visible = false;
  325. ultraToolbarsManager1.Toolbars[0].Tools["恢复"].SharedProps.Visible = false;
  326. }
  327. else if (_stdExType == StdExceptionType.MSCN)
  328. {
  329. ultraToolbarsManager1.Toolbars[0].Tools["查询"].SharedProps.Visible = false;
  330. ultraToolbarsManager1.Toolbars[0].Tools["申请修改"].SharedProps.Visible = false;
  331. ultraToolbarsManager1.Toolbars[0].Tools["提交审核"].SharedProps.Visible = true;
  332. ultraToolbarsManager1.Toolbars[0].Tools["审核"].SharedProps.Visible = true;
  333. ultraToolbarsManager1.Toolbars[0].Tools["作废"].SharedProps.Visible = false;
  334. ultraToolbarsManager1.Toolbars[0].Tools["恢复"].SharedProps.Visible = false;
  335. frmMsc.UltraTabControl3.Tabs["JG"].Visible = false;
  336. frmMsc.UltraTabControl3.Tabs["BL"].Visible = false;
  337. frmMsc.UltraTabControl3.Tabs["IMG"].Visible = false;
  338. frmMsc.UltraTabControl3.Tabs["PROCEDURE"].Visible = false;
  339. }
  340. else if (_stdExType == StdExceptionType.AllMsc)
  341. {
  342. //...
  343. ultraStatusBar1.Visible = false;
  344. this.panel5.Visible = false;
  345. this.panel3.Height = 34;
  346. frmMsc.CtrlMscJg1.UltraToolbarsManager1.Toolbars[0].Tools["查看技术要求"].SharedProps.Visible = true;
  347. }
  348. else if (_stdExType == StdExceptionType.BackLog || _stdExType == StdExceptionType.ProductDate)
  349. {
  350. if (this.panel4.Visible == true)
  351. {
  352. this.panel4.Visible = false;
  353. this.panel3.Height = 85;
  354. }
  355. frmMsc.UltraTabControl3.Tabs["JG"].Visible = false;
  356. frmMsc.UltraTabControl3.Tabs["BL"].Visible = false;
  357. frmMsc.UltraTabControl3.Tabs["IMG"].Visible = false;
  358. if (frmMsc.UltraTabControl3.Tabs["PROCEDURE"].Visible == true)
  359. {
  360. frmMsc.UltraTabControl3.Tabs["PROCEDURE"].Selected = true;
  361. }
  362. if (_designObjKey == "1")
  363. {
  364. frmMsc.UltraToolbarsManager1.Toolbars[0].Tools["设定制程"].SharedProps.Visible = true;
  365. }
  366. }
  367. else if (_stdExType == StdExceptionType.Jg)
  368. {
  369. if (this.panel4.Visible == true)
  370. {
  371. this.panel4.Visible = false;
  372. this.panel3.Height = panel3.Height - panel4.Height;
  373. }
  374. frmMsc.UltraTabControl3.Tabs["PROCEDURE"].Visible = true;
  375. frmMsc.UltraTabControl3.Tabs["STAND_PAY"].Visible = false;
  376. frmMsc.UltraTabControl3.Tabs["BL"].Visible = false;
  377. frmMsc.UltraTabControl3.Tabs["IMG"].Visible = false;
  378. if (frmMsc.UltraTabControl3.Tabs["JG"].Visible == true)
  379. {
  380. frmMsc.UltraTabControl3.Tabs["JG"].Selected = true;
  381. }
  382. if (_designObjKey != "" && _designObjKey.Split(',')[1] == "1") //约定好designObjKey中,以逗号分割的第二个值如果等于1就需要设定接箍。
  383. {
  384. frmMsc.UltraToolbarsManager1.Toolbars[0].Tools["设定接箍"].SharedProps.Visible = true;
  385. }
  386. frmMsc.CtrlMscJg1.UltraToolbarsManager1.Toolbars[0].Tools["查看技术要求"].SharedProps.Visible = true;
  387. }
  388. else if (_stdExType == StdExceptionType.Bl)
  389. {
  390. if (this.panel4.Visible == true)
  391. {
  392. this.panel4.Visible = false;
  393. this.panel3.Height = panel3.Height - panel4.Height;
  394. }
  395. frmMsc.UltraTabControl3.Tabs["PROCEDURE"].Visible = false;
  396. frmMsc.UltraTabControl3.Tabs["STAND_PAY"].Visible = false;
  397. frmMsc.UltraTabControl3.Tabs["JG"].Visible = false;
  398. frmMsc.UltraTabControl3.Tabs["IMG"].Visible = true;
  399. if (frmMsc.UltraTabControl3.Tabs["BL"].Visible == true)
  400. {
  401. frmMsc.UltraTabControl3.Tabs["BL"].Selected = true;
  402. }
  403. }
  404. else if (_stdExType == StdExceptionType.Fj)
  405. {
  406. if (this.panel4.Visible == true)
  407. {
  408. this.panel4.Visible = false;
  409. this.panel3.Height = panel3.Height - panel4.Height;
  410. }
  411. frmMsc.UltraTabControl3.Tabs["PROCEDURE"].Visible = false;
  412. frmMsc.UltraTabControl3.Tabs["STAND_PAY"].Visible = false;
  413. frmMsc.UltraTabControl3.Tabs["JG"].Visible = false;
  414. frmMsc.UltraTabControl3.Tabs["BL"].Visible = false;
  415. frmMsc.UltraTabControl3.Tabs["IMG"].Visible = true;
  416. frmMsc.UltraTabControl3.Tabs["IMG"].Selected = true;
  417. if (_designObjKey == "1") //等于1就是设定附件图片
  418. {
  419. frmMsc.UltraToolbarsManager1.Toolbars[0].Tools["设定附件图片"].SharedProps.Visible = true;
  420. }
  421. }
  422. else if (_stdExType == StdExceptionType.Grade)
  423. {
  424. if (this.panel4.Visible == true)
  425. {
  426. this.panel4.Visible = false;
  427. this.panel3.Height = panel3.Height - panel4.Height;
  428. }
  429. frmMsc.UltraTabControl3.Tabs["STAND_PAY"].Visible = false;
  430. frmMsc.UltraTabControl3.Tabs["JG"].Visible = false;
  431. frmMsc.UltraTabControl3.Tabs["BL"].Visible = false;
  432. frmMsc.UltraTabControl3.Tabs["IMG"].Visible = false;
  433. if (frmMsc.UltraTabControl3.Tabs["PROCEDURE"].Visible == true)
  434. {
  435. frmMsc.UltraTabControl3.Tabs["PROCEDURE"].Selected = true;
  436. }
  437. }
  438. else if (_stdExType == StdExceptionType.NkStd)
  439. {
  440. if (this.panel4.Visible == true)
  441. {
  442. this.panel4.Visible = false;
  443. this.panel3.Height = panel3.Height - panel4.Height;
  444. }
  445. frmMsc.UltraTabControl3.Tabs["STAND_PAY"].Visible = false;
  446. frmMsc.UltraTabControl3.Tabs["JG"].Visible = false;
  447. frmMsc.UltraTabControl3.Tabs["BL"].Visible = false;
  448. frmMsc.UltraTabControl3.Tabs["IMG"].Visible = false;
  449. if (frmMsc.UltraTabControl3.Tabs["PROCEDURE"].Visible == true)
  450. {
  451. frmMsc.UltraTabControl3.Tabs["PROCEDURE"].Selected = true;
  452. }
  453. }
  454. if (frmMsc.UltraTabControl3.SelectedTab == null)
  455. {
  456. foreach (ToolBase tb in frmMsc.UltraToolbarsManager1.Toolbars[0].Tools)
  457. {
  458. tb.SharedProps.Visible = false;
  459. }
  460. }
  461. }
  462. private void frmMscUltraToolbarsManager1_ToolClick(object sender, ToolClickEventArgs e)
  463. {
  464. if (e.Tool.Key == "设定制程")
  465. {
  466. PopupSetBacklog popupSetBacklog = new PopupSetBacklog(_designKey, _ordLnPk, _msc, _isCraft, ob);
  467. popupSetBacklog.ShowDialog();
  468. }
  469. else if (e.Tool.Key == "设定接箍")
  470. {
  471. PopupSetDesignJg popupSetDesignJg = new PopupSetDesignJg(_ordLnPk, _isCraft, ob);
  472. popupSetDesignJg.ShowDialog();
  473. }
  474. else if (e.Tool.Key == "设定附件图片")
  475. {
  476. PopupSetFjImg setFjImg = new PopupSetFjImg(_ordLnPk, _msc, ob);
  477. setFjImg.ShowDialog();
  478. }
  479. }
  480. void GridMsc_AfterRowActivate(object sender, EventArgs e)
  481. {
  482. HidenTools();
  483. }
  484. private void Query()
  485. {
  486. frmMsc.ToolBar_Click(null, "Query");
  487. }
  488. private void btnClose_Click(object sender, EventArgs e)
  489. {
  490. try
  491. {
  492. this.Cursor = Cursors.WaitCursor;
  493. closeAction = "Ok";
  494. if (StdSucessEvent != null)
  495. {
  496. StdEventArgs e2 = GetResultArgs();
  497. if (e2 == null)
  498. {
  499. closeAction = "";
  500. return;
  501. }
  502. StdSucessEvent(this, e2);
  503. }
  504. this.DialogResult = DialogResult.OK;
  505. }
  506. finally
  507. {
  508. this.Cursor = Cursors.Default;
  509. }
  510. }
  511. private StdEventArgs GetResultArgs()
  512. {
  513. StdEventArgs e = new StdEventArgs();
  514. if (_stdExType == StdExceptionType.MSC || _stdExType == StdExceptionType.MSCN)
  515. {
  516. IQueryable<UltraGridRow> queryable = frmMsc.ControlMsc.GridMsc.Rows.AsQueryable().Where("CHK = 'True'");
  517. int selectCount = queryable.Count();
  518. if (selectCount == 0 && _stdExType != null)
  519. {
  520. MessageUtil.ShowWarning("请选择一条冶金规范码!");
  521. return null;
  522. }
  523. UltraGridRow[] rows = queryable.ToArray();
  524. string msc = rows[0].GetValue("MSC");
  525. e.Result = "1";
  526. e.Msc = msc;
  527. return e;
  528. }
  529. else if (_stdExType == StdExceptionType.BackLog || _stdExType == StdExceptionType.ProductDate)
  530. {
  531. if (frmMsc.UltraGrid4.ActiveRow == null)
  532. {
  533. MessageUtil.ShowWarning("请选择一条制程!");
  534. return null;
  535. }
  536. e.MscPline = frmMsc.UltraGrid4.GetActiveRowValue("MSC_PLINE");
  537. e.Result = "1";
  538. return e;
  539. }
  540. else if (_stdExType == StdExceptionType.Jg)
  541. {
  542. if (frmMsc.CtrlMscJg1.UltraGrid1.ActiveRow == null)
  543. {
  544. MessageUtil.ShowWarning("请选择一条接箍!");
  545. return null;
  546. }
  547. e.JgCode = frmMsc.CtrlMscJg1.UltraGrid1.GetActiveRowValue("CODE_JG");
  548. string[] blWithJgs = new string[frmMsc.CtrlMscJg1.UltraGrid2.Rows.Count];
  549. for (int i = 0; i < frmMsc.CtrlMscJg1.UltraGrid2.Rows.Count; i++)
  550. {
  551. blWithJgs[i] = frmMsc.CtrlMscJg1.UltraGrid2.Rows[i].GetValue("PSC_BL");
  552. }
  553. e.BlWithJgs = blWithJgs;
  554. e.Result = "1";
  555. return e;
  556. }
  557. else if (_stdExType == StdExceptionType.Bl)
  558. {
  559. if (frmMsc.CtrlMscBl1.UltraGrid1.Rows.Count == 0)
  560. {
  561. MessageUtil.ShowWarning("请维护备料码!");
  562. return null;
  563. }
  564. IQueryable<UltraGridRow> queryableRow = frmMsc.CtrlMscBl1.UltraGrid1.Rows.AsQueryable();
  565. string[] groupNos = queryableRow.GroupBy(a => a.GetValue("GROUP_NUM")).Select(a => a.Key).ToArray();
  566. PopupChoiceGroup popupChoiceGroup = new PopupChoiceGroup(groupNos);
  567. DialogResult dialogResult = popupChoiceGroup.ShowDialog();
  568. if (dialogResult == DialogResult.OK)
  569. {
  570. string[] blCodes = queryableRow.Where("GROUP_NUM = '" + popupChoiceGroup.GroupNo + "'")
  571. .Select(a => a.GetValue("PSC_BL")).ToArray();
  572. e.BlCodes = blCodes;
  573. e.Result = "1";
  574. return e;
  575. }
  576. else
  577. {
  578. return null;
  579. }
  580. }
  581. else if (_stdExType == StdExceptionType.Fj)
  582. {
  583. e.Result = "1";
  584. return e;
  585. }
  586. else if (_stdExType == StdExceptionType.Grade)
  587. {
  588. if (frmMsc.UltraGrid7.ActiveRow == null)
  589. {
  590. MessageUtil.ShowWarning("请选择一条钢种!");
  591. return null;
  592. }
  593. e.MscPline = frmMsc.UltraGrid4.GetActiveRowValue("MSC_PLINE");
  594. e.Result = "1";
  595. return e;
  596. }
  597. else if (_stdExType == StdExceptionType.NkStd)
  598. {
  599. if (frmMsc.UltraGrid4.ActiveRow == null)
  600. {
  601. MessageUtil.ShowWarning("请选择一条制程!");
  602. return null;
  603. }
  604. e.MscPline = frmMsc.UltraGrid4.GetActiveRowValue("MSC_PLINE");
  605. e.Result = "1";
  606. return e;
  607. }
  608. return null;
  609. }
  610. private void FrmProPSCMSC2Popup_Shown(object sender, EventArgs e)
  611. {
  612. if (_stdExType == StdExceptionType.MSC)
  613. {
  614. frmMsc.SplitContainer3.Panel2Collapsed = true;
  615. frmMsc.SplitContainer2.Panel2Collapsed = true;
  616. frmMsc.SplitContainer1.Panel1Collapsed = true;
  617. }
  618. else if (_stdExType == StdExceptionType.MSCN)
  619. {
  620. frmMsc.SplitContainer1.Panel1Collapsed = true;
  621. frmMsc.SplitContainer2.Panel2Collapsed = true;
  622. }
  623. else if (_stdExType == StdExceptionType.AllMsc)
  624. {
  625. frmMsc.SplitContainer1.Panel1Collapsed = true;
  626. }
  627. else if (_stdExType == StdExceptionType.BackLog || _stdExType == StdExceptionType.ProductDate)
  628. {
  629. frmMsc.SplitContainer1.Panel1Collapsed = true;
  630. frmMsc.SplitContainer2.Panel2Collapsed = true;
  631. }
  632. else if (_stdExType == StdExceptionType.Jg || _stdExType == StdExceptionType.Fj)
  633. {
  634. frmMsc.SplitContainer1.Panel1Collapsed = true;
  635. frmMsc.SplitContainer2.Panel2Collapsed = true;
  636. }
  637. else if (_stdExType == StdExceptionType.Bl)
  638. {
  639. frmMsc.SplitContainer1.Panel1Collapsed = true;
  640. frmMsc.SplitContainer2.Panel2Collapsed = true;
  641. }
  642. else if (_stdExType == StdExceptionType.Grade)
  643. {
  644. frmMsc.SplitContainer1.Panel1Collapsed = true;
  645. frmMsc.SplitContainer2.Panel2Collapsed = true;
  646. }
  647. else if (_stdExType == StdExceptionType.NkStd)
  648. {
  649. frmMsc.SplitContainer1.Panel1Collapsed = true;
  650. frmMsc.SplitContainer2.Panel2Collapsed = true;
  651. }
  652. }
  653. private void FrmProPSCMSC2Popup_FormClosing(object sender, FormClosingEventArgs e)
  654. {
  655. if (StdSucessEvent != null && closeAction == "")
  656. {
  657. StdEventArgs e2 = new StdEventArgs();
  658. e2.Result = "0";
  659. StdSucessEvent(this, e2);
  660. }
  661. }
  662. private void btnCancel_Click(object sender, EventArgs e)
  663. {
  664. this.Close();
  665. }
  666. private void FrmProPSCMSC2Popup_Load(object sender, EventArgs e)
  667. {
  668. frmMsc.ControlMsc.Msc = _msc;
  669. }
  670. }
  671. public class StdEventArgs : EventArgs
  672. {
  673. //private StdExceptionType? _stdExType = StdExceptionType.MSC;
  674. //public StdExceptionType? StdExType
  675. //{
  676. // get { return _stdExType; }
  677. // set { _stdExType = value; }
  678. //}
  679. private string _result = "";
  680. /// <summary>
  681. /// 执行结果
  682. /// </summary>
  683. public string Result
  684. {
  685. get { return _result; }
  686. set { _result = value; }
  687. }
  688. private string _msc = "";
  689. /// <summary>
  690. /// 冶金规范码
  691. /// </summary>
  692. public string Msc
  693. {
  694. get { return _msc; }
  695. set { _msc = value; }
  696. }
  697. private string _useCode = "";
  698. /// <summary>
  699. /// 用途码
  700. /// </summary>
  701. public string UseCode
  702. {
  703. get { return _useCode; }
  704. set { _useCode = value; }
  705. }
  706. private string _mscPline = "";
  707. /// <summary>
  708. /// 制程号
  709. /// </summary>
  710. public string MscPline
  711. {
  712. get { return _mscPline; }
  713. set { _mscPline = value; }
  714. }
  715. private string _jgCode = "";
  716. /// <summary>
  717. /// 接箍码
  718. /// </summary>
  719. public string JgCode
  720. {
  721. get { return _jgCode; }
  722. set { _jgCode = value; }
  723. }
  724. private string[] _blWithJgs = new string[0];
  725. /// <summary>
  726. /// 接箍码对应的备料集合
  727. /// </summary>
  728. public string[] BlWithJgs
  729. {
  730. get { return _blWithJgs; }
  731. set { _blWithJgs = value; }
  732. }
  733. private string _blGroupNo = "";
  734. /// <summary>
  735. /// 备料分组组号
  736. /// </summary>
  737. public string BlGroupNo
  738. {
  739. get { return _blGroupNo; }
  740. set { _blGroupNo = value; }
  741. }
  742. private string[] _blCodes = new string[0];
  743. /// <summary>
  744. /// 备料集合
  745. /// </summary>
  746. public string[] BlCodes
  747. {
  748. get { return _blCodes; }
  749. set { _blCodes = value; }
  750. }
  751. }
  752. }