FrmCheckConsignQuery.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Infragistics.Win.UltraWinGrid;
  11. using Core.Mes.Client.Comm.Tool;
  12. using System.Collections;
  13. using Core.Mes.Client.Comm.Control;
  14. namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec
  15. {
  16. public partial class FrmCheckConsignQuery : FrmBase
  17. {
  18. private string[] plineCodes = { };
  19. public FrmCheckConsignQuery()
  20. {
  21. InitializeComponent();
  22. }
  23. protected override void OnLoad(EventArgs e)
  24. {
  25. base.OnLoad(e);
  26. publicUltraGridDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
  27. publicUltraGridChemDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  28. ultraGrid3.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.False;//不显示行头
  29. ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  30. pipeQueryBase1.EnterHandler += QueryCheckConsignBase;
  31. plineCodes = comm.GetPlineCode(ValidDataPurviewIds, ob);
  32. }
  33. private void FrmCheckConsignQuery_Load(object sender, EventArgs e)
  34. {
  35. InitColumns();
  36. }
  37. private void InitColumns()
  38. {
  39. publicUltraGridBase1.PublicUltraGridBaseActive += new EventHandler(outdecUltraGridBase1_PublicUltraGridBaseActive);//调用委托事件
  40. publicUltraGridBase1.InitColumnsPipeBase(new string[] { "CHECK_NO", "CRAFT_SOURCE", "CIC", "PROCESS_CODE" }, true, null);
  41. //string[] arrColumnsBase = new string[] { "CHECK_NO", "HEAT_NO", "STEEL_GRADE", "STEEL_NO", "PRODUCT_STD", "CONTRACT_NO", "DIMATER", "HEIGHT", "CONSIGN_DEPT", "CONSIGN_NAME", "CONSIGN_TIME", "ISPRODUCER", "SPEC_REQ", "FLAG", "FLAG_DESC", "REMARK", "IS_RUSH" };
  42. //string[] arrCaptionBase = new string[] { "检验编号", "炉号", "钢级", "钢号", "技术标准", "合同号", "外径", "壁厚", "委托单位", "委托人", "委托时间", "是否监制", "特殊要求", "标志位", "标志位", "备注", "加急" };
  43. //publicUltraGridBase1.InitColumns(arrColumnsBase, arrCaptionBase);
  44. //publicUltraGridBase1.setColumnShowOrHidden(new string[] { "CHECK_NO" }, true);
  45. //publicUltraGridBase1.setOtherColumnReadOnly(null);//可编辑列
  46. string[] arrColumns = new string[] { "BATCH_NO","HEAD_MAT_NO","SAMPLE_NO", "HX", "ONH" };//"FLAG","CHK",
  47. string[] arrCaption = new string[] { "批号", "样管编号", "试样号", "化学", "ONH" };//"试样状态","选择",
  48. publicUltraGridDetail1.InitColumns(arrColumns, arrCaption);
  49. //publicUltraGridDetail1.setOtherColumnReadOnly(null);//可编辑列
  50. //publicUltraGridDetail1.setColumnShowOrHidden(new string[] { "FLAG" }, false);//不需要显示的行
  51. //publicUltraGridDetail1.Ug.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.TemplateOnBottom;
  52. string[] arrColumnsBaseDetail = new string[] { "PHY_CODE_MAX", "PHY_NAME_MAX", "PHY_CODE", "PHY_NAME", "ITEM_CODE_F", "ITEM_NAME_F", "ITEM_CODE_W", "ITEM_NAME_W", "ITEM_CODE_S", "ITEM_NAME_S", "ISRCL" };
  53. string[] arrCaptionBaseDetail = new string[] { "检验项代码", "检验项名称", "检验基础项代码", "检验基础项名称", "方向代码", "方向", "温度代码", "温度", "尺寸代码", "尺寸", "是否小样热处理" };
  54. PublicPipeAndOutdec.InitColumns(arrColumnsBaseDetail, arrCaptionBaseDetail, dataTable3);
  55. PublicPipeAndOutdec.setColumnShowOrHidden(ultraGrid3, new string[] { "PHY_CODE_MAX", "PHY_CODE", "ITEM_CODE_F", "ITEM_NAME_F", "ITEM_CODE_W", "ITEM_NAME_W", "ITEM_CODE_S", "ITEM_NAME_S" }, false);
  56. PublicPipeAndOutdec.setOtherColumnReadOnly(ultraGrid3, null);
  57. //PublicPipeAndOutdec.setOtherColumnReadOnly(publicUltraGridChemDetail1.Ug, null);
  58. }
  59. /// <summary>
  60. /// 重写基类方法
  61. /// </summary>
  62. /// <param name="sender"></param>
  63. /// <param name="ToolbarKey"></param>
  64. public override void ToolBar_Click(object sender, string ToolbarKey)
  65. {
  66. //新增、修改修约值、审核、删除、退出
  67. switch (ToolbarKey)
  68. {
  69. case "Query":
  70. QueryCheckConsignBase();
  71. break;
  72. case "Update":
  73. UpdateCheckConsignBase();
  74. break;
  75. case "Cancel":
  76. CancelCheckConsignBase();
  77. break;
  78. case "Producer":
  79. UpdateProducer();
  80. break;
  81. case "NoProducer":
  82. CancelNoProducer();
  83. break;
  84. case "Send":
  85. UpdateCheckConsignDetail();
  86. break;
  87. case "Print":
  88. RepLimsPipeJGCheckTaskOrder();
  89. break;
  90. case"AddPhy":
  91. addPhyCodeMaxPhy();
  92. break;
  93. case "Close":
  94. if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
  95. {
  96. this.Close();
  97. }
  98. break;
  99. }
  100. }
  101. /// <summary>
  102. /// 增加检验项
  103. /// </summary>
  104. private void addPhyCodeMaxPhy()
  105. {
  106. UltraGridRow row = publicUltraGridBase1.Ur;
  107. if(row == null)return;
  108. if (!row.Cells["CHECK_NO"].Text.Contains("K") && !row.Cells["CHECK_NO"].Text.Contains("Y") && !row.Cells["CHECK_NO"].Text.Contains("N") && !row.Cells["CHECK_NO"].Text.Contains("L"))
  109. {
  110. if (!checkFileNew(row))
  111. {
  112. return;
  113. }
  114. }
  115. FrmAddPhy addPhy = new FrmAddPhy(this.ob,row.Cells["CHECK_NO"].Text);
  116. addPhy.ShowDialog();
  117. }
  118. /// <summary>
  119. /// 验证该炉计划工艺序号是否是最新版本
  120. /// </summary>
  121. /// <param name="row"></param>
  122. /// <returns></returns>
  123. private bool checkFileNew(UltraGridRow row)
  124. {
  125. string planCraftSeq = "";
  126. string craftSeq = "";
  127. //查询炉计划工艺版本序号
  128. DataTable dsPlan = PublicServer.GetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.doQueryPlanCraftSeq", new object[] { row.Cells["HEAT_NO"].Text, row.Cells["PROCESS_CODE"].Text }, ob);
  129. if (dsPlan.Rows.Count > 0)
  130. {
  131. planCraftSeq = dsPlan.Rows[0][0].ToString();
  132. }
  133. //查询工艺最新版本号
  134. DataTable dsCraft = PublicServer.GetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.doQueryCraftSeq", new object[] { row.Cells["CRAFT_FILE_NO"].Text }, ob);
  135. if (dsCraft.Rows.Count > 0)
  136. {
  137. craftSeq = dsCraft.Rows[0][0].ToString();
  138. }
  139. else
  140. {
  141. craftSeq = "0";
  142. }
  143. if (planCraftSeq == craftSeq)
  144. {
  145. return true;
  146. }
  147. else
  148. {
  149. MessageUtil.ShowTips("炉计划未获取最新工艺版本,不允许增加理化项!");
  150. return false;
  151. }
  152. }
  153. //查询检验委托基本信息
  154. private void QueryCheckConsignBase()
  155. {
  156. try
  157. {
  158. ArrayList arrayList = new ArrayList();
  159. arrayList = pipeQueryBase1.GetQueryInfo("012345");
  160. arrayList.Add("");
  161. arrayList.Add(plineCodes);
  162. arrayList.Add(this.CustomInfo.ToString());
  163. publicUltraGridBase1.QueryCheckConsignBase("pipe.PublicPipeBase", arrayList, this.ob);
  164. if (publicUltraGridBase1.Ug.Rows.Count == 0)
  165. {
  166. ClearCheckConsign();
  167. }
  168. }
  169. catch (Exception e)
  170. {
  171. MessageUtil.ShowWarning(e.Message);
  172. return;
  173. }
  174. }
  175. void outdecUltraGridBase1_PublicUltraGridBaseActive(object sender, EventArgs e)
  176. {
  177. try
  178. {
  179. this.Cursor = Cursors.WaitCursor;
  180. pipeShowBase1.ShowBaseInfo(publicUltraGridBase1.Ur);
  181. QueryCheckConsignDetail();
  182. QueryCheckConsignChemDetail();
  183. QueryCheckConsignPhyDetail();
  184. }
  185. finally
  186. {
  187. this.Cursor = Cursors.Default;
  188. }
  189. }
  190. //查询检验委托项目明细信息
  191. /// <summary>
  192. /// 查询检验委托项目明细信息
  193. /// </summary>
  194. private void QueryCheckConsignPhyDetail()
  195. {
  196. try
  197. {
  198. DataTable dt = PublicServer.GetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.QueryCheckConsignPhyDetail",
  199. new Object[] { publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim() }, ob);
  200. if (dt == null || dt.Rows.Count == 0)
  201. {
  202. dataTable3.Rows.Clear();
  203. ultraExpandableGroupBox1.Hide();
  204. return;
  205. }
  206. ultraExpandableGroupBox1.Show();
  207. GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable4
  208. GridHelper.RefreshAndAutoSize(ultraGrid3);//刷新Grid
  209. }
  210. catch (Exception ex)
  211. {
  212. MessageUtil.ShowWarning(ex.Message);
  213. return;
  214. }
  215. }
  216. //查询检验委托明细信息
  217. /// <summary>
  218. /// 查询检验委托明细信息
  219. /// </summary>
  220. private void QueryCheckConsignDetail()
  221. {
  222. try
  223. {
  224. ArrayList al = new ArrayList();
  225. al.Add("");
  226. al.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
  227. publicUltraGridDetail1.QueryCheckConsignDetail("pipe.PublicPipeBase", al, this.ob, 4);
  228. string strHide = "HX,ONH";
  229. PublicPipeAndOutdec.HideNullColumn(strHide, publicUltraGridDetail1.Ug);
  230. publicUltraGridDetail1.setOtherColumnReadOnly(null);//可编辑列
  231. //RefreshAutoSize();//自适应
  232. if (publicUltraGridDetail1.DataTable != null)
  233. {
  234. pipeShowBase1.ShowValue(publicUltraGridDetail1.DataTable.Rows.Count.ToString());
  235. }
  236. }
  237. catch (Exception ex)
  238. {
  239. MessageUtil.ShowWarning(ex.Message);
  240. return;
  241. }
  242. }
  243. //查询检验委托化学明细信息
  244. /// <summary>
  245. /// 查询检验委托化学明细信息
  246. /// </summary>
  247. private void QueryCheckConsignChemDetail()
  248. {
  249. try
  250. {
  251. ArrayList al = new ArrayList();
  252. al.Add("");
  253. al.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
  254. publicUltraGridChemDetail1.QueryCheckConsignChemDetail("pipe.PublicPipeBase", al, this.ob);
  255. //PublicPipeAndOutdec.setOtherColumnReadOnly(publicUltraGridChemDetail1.Ug, null);
  256. //RefreshAutoSize();//自适应
  257. }
  258. catch (Exception ex)
  259. {
  260. MessageUtil.ShowWarning(ex.Message);
  261. return;
  262. }
  263. }
  264. /// <summary>
  265. /// 监制
  266. /// </summary>
  267. private void UpdateProducer()
  268. {
  269. try
  270. {
  271. if (publicUltraGridBase1.Ug == null || publicUltraGridBase1.Ug.Rows.Count == 0)
  272. {
  273. return;
  274. }
  275. if (MessageUtil.ShowYesNoAndQuestion("是否确认监制?") == DialogResult.Yes)
  276. {
  277. ArrayList alBase = new ArrayList();
  278. alBase.Add("1");
  279. alBase.Add("0");
  280. alBase.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
  281. PublicServer.SetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.UpdateProducer",
  282. new Object[] { alBase }, ob);
  283. QueryCheckConsignBase();
  284. MessageUtil.ShowTips("检验监制!");
  285. }
  286. }
  287. catch (Exception e)
  288. {
  289. MessageUtil.ShowWarning(e.Message);
  290. }
  291. }
  292. /// <summary>
  293. /// 取消监制
  294. /// </summary>
  295. private void CancelNoProducer()
  296. {
  297. try
  298. {
  299. if (publicUltraGridBase1.Ug == null || publicUltraGridBase1.Ug.Rows.Count == 0)
  300. {
  301. return;
  302. }
  303. if (MessageUtil.ShowYesNoAndQuestion("是否确认取消监制?") == DialogResult.Yes)
  304. {
  305. ArrayList alBase = new ArrayList();
  306. alBase.Add("0");
  307. alBase.Add("1");
  308. alBase.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
  309. PublicServer.SetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.UpdateProducer",
  310. new Object[] { alBase }, ob);
  311. QueryCheckConsignBase();
  312. MessageUtil.ShowTips("检验取消监制!");
  313. }
  314. }
  315. catch (Exception e)
  316. {
  317. MessageUtil.ShowWarning(e.Message);
  318. }
  319. }
  320. //加急
  321. /// <summary>
  322. /// 加急
  323. /// </summary>
  324. private void UpdateCheckConsignBase()
  325. {
  326. try
  327. {
  328. if (publicUltraGridBase1.Ug == null || publicUltraGridBase1.Ug.Rows.Count == 0)
  329. {
  330. return;
  331. }
  332. if (MessageUtil.ShowYesNoAndQuestion("是否确认加急?") == DialogResult.Yes)
  333. {
  334. ArrayList alBase = new ArrayList();
  335. alBase.Add("1");
  336. alBase.Add(UserInfo.GetUserName());
  337. alBase.Add(DateTime.Now.ToString());
  338. alBase.Add("0");
  339. alBase.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
  340. PublicServer.SetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.UpdateCheckConsignBase",
  341. new Object[] { alBase }, ob);
  342. QueryCheckConsignBase();
  343. MessageUtil.ShowTips("检验加急成功!");
  344. }
  345. }
  346. catch (Exception e)
  347. {
  348. MessageUtil.ShowWarning(e.Message);
  349. }
  350. }
  351. //取消加急
  352. /// <summary>
  353. /// 取消加急
  354. /// </summary>
  355. private void CancelCheckConsignBase()
  356. {
  357. try
  358. {
  359. if (publicUltraGridBase1.Ug == null || publicUltraGridBase1.Ug.Rows.Count == 0)
  360. {
  361. return;
  362. }
  363. if (MessageUtil.ShowYesNoAndQuestion("是否确认取消加急?") == DialogResult.Yes)
  364. {
  365. ArrayList alBase = new ArrayList();
  366. alBase.Add("0");
  367. alBase.Add("");
  368. alBase.Add("");
  369. alBase.Add("1");
  370. alBase.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
  371. PublicServer.SetData("com.steering.lims.data.pipe.FrmCheckConsignQuery.UpdateCheckConsignBase",
  372. new Object[] { alBase }, ob);
  373. QueryCheckConsignBase();
  374. MessageUtil.ShowTips("取消加急成功!");
  375. }
  376. }
  377. catch (Exception e)
  378. {
  379. MessageUtil.ShowWarning(e.Message);
  380. }
  381. }
  382. /// <summary>
  383. /// 调整试验室
  384. /// </summary>
  385. private void UpdateCheckConsignDetail()
  386. {
  387. try
  388. {
  389. if (publicUltraGridBase1.Ur == null || publicUltraGridBase1.Ug == null || publicUltraGridBase1.Ug.Rows.Count == 0)
  390. {
  391. return;
  392. }
  393. if (MessageUtil.ShowYesNoAndQuestion("是否确认调整权限?") == DialogResult.Yes)
  394. {
  395. WinLabItemsSend pc = new WinLabItemsSend();
  396. pc.Ob = this.ob;
  397. pc.StrCheck = publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim();
  398. pc.StrPath = "pipe.FrmCheckConsignQuery";
  399. pc.ShowDialog();
  400. if (pc.DialogResult != DialogResult.OK)
  401. {
  402. return;
  403. }
  404. MessageUtil.ShowTips("调整权限成功!");
  405. }
  406. }
  407. catch (Exception e)
  408. {
  409. MessageUtil.ShowWarning(e.Message);
  410. }
  411. }
  412. //清空检验委托
  413. private void ClearCheckConsign()
  414. {
  415. publicUltraGridDetail1.DataTable.Rows.Clear();
  416. PublicPipeAndOutdec.ReMoveColumns(publicUltraGridDetail1.DataTable, 3);//清除列
  417. dataTable3.Rows.Clear();
  418. publicUltraGridChemDetail1.DataTable.Rows.Clear();
  419. }
  420. private void RepLimsPipeJGCheckTaskOrder()
  421. {
  422. try
  423. {
  424. this.Cursor = Cursors.WaitCursor;
  425. UltraGridRow ugr = publicUltraGridBase1.Ur;
  426. if (ugr == null)
  427. {
  428. MessageUtil.ShowWarning("请选择您要打印的检验任务单!");
  429. return;
  430. }
  431. string strCHECK_NO = ugr.Cells["CHECK_NO"].Value.ToString();
  432. string strurl = "";
  433. //if (ob.MainUrl.StartsWith("http://127.0.0.1"))
  434. //{
  435. // strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepLimsPipeJGCheckTaskOrder.cpt&bypagesize=false&CHECK_NO=" + strCHECK_NO;
  436. //}
  437. //else
  438. //{
  439. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsPipeJGCheckTaskOrder.cpt&bypagesize=false&CHECK_NO=" + strCHECK_NO;
  440. //}
  441. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  442. fBug.AutoSize = true;
  443. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  444. fBug.WindowState = FormWindowState.Maximized;
  445. fBug.Text = "检验任务单";
  446. fBug.Show();
  447. }
  448. finally
  449. {
  450. this.Cursor = Cursors.Default;
  451. }
  452. }
  453. }
  454. }