QCM0201YT.cs 60 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471
  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 System.Collections;
  11. using Infragistics.Win.UltraWinGrid;
  12. using Infragistics.Win;
  13. using ThoughtWorks.QRCode.Codec;
  14. using System.Drawing.Printing;
  15. using System.IO;
  16. using System.Drawing.Imaging;
  17. using System.Drawing.Drawing2D;
  18. namespace Core.LZMes.Client.QCM
  19. {
  20. public partial class QCM0201YT : FrmBase
  21. {
  22. #region 初始化
  23. private String v_line_no = "";//RZ1-热轧 ZB1-中板线 HB1-厚板线 LT1-连退
  24. Image image2;//二维码
  25. private String v_BATCH_NO = "";//轧批号
  26. private int lennum = 0;//长度
  27. public QCM0201YT()
  28. {
  29. InitializeComponent();
  30. }
  31. private void QCM0201YT_Load(object sender, EventArgs e)
  32. {
  33. //获取自定义参数
  34. if (!this.CustomInfo.Equals(""))
  35. {
  36. v_line_no = this.CustomInfo;
  37. }
  38. this.ultraGrid1.DisplayLayout.Bands[0].Columns["PHY_NAME_L_bj"].Header.Caption = "检验项目";
  39. this.ultraGrid4.DisplayLayout.Bands[0].Columns["PHY_NAME_L_bj"].Header.Caption = "检验项目";
  40. // dateTimePicker1.Value = DateTime.Now.Date.AddDays(-1);
  41. dateTimePicker2.Value = DateTime.Now.Date.AddDays(1);
  42. ValueList v = new ValueList();
  43. v.ValueListItems.Add("1", "是");
  44. v.ValueListItems.Add("0", "否");
  45. this.ultraGrid3.DisplayLayout.Bands[0].Columns["ISJUDGE"].ValueList = v.Clone();
  46. ValueList v1 = new ValueList();
  47. v1.ValueListItems.Add("0", "订单");
  48. v1.ValueListItems.Add("1", "人工");
  49. this.ultraGrid3.DisplayLayout.Bands[0].Columns["ITEM_FLAG"].ValueList = v1.Clone();
  50. this.ultraGrid6.DisplayLayout.Bands[0].Columns["ITEM_FLAG"].ValueList = v1.Clone();
  51. v1 = new ValueList();
  52. v1.ValueListItems.Add("0", "订单");
  53. v1.ValueListItems.Add("1", "人工复制");
  54. this.ultraGrid1.DisplayLayout.Bands[0].Columns["ITEM_FLAG"].ValueList = v1.Clone();
  55. this.ultraGrid4.DisplayLayout.Bands[0].Columns["ITEM_FLAG"].ValueList = v1.Clone();
  56. ValueList v2 = new ValueList();
  57. v2.ValueListItems.Add("A", "成分");
  58. v2.ValueListItems.Add("B", "材质");
  59. this.ultraGrid1.DisplayLayout.Bands[0].Columns["smp_catg"].ValueList = v2.Clone();
  60. this.ultraGrid4.DisplayLayout.Bands[0].Columns["smp_catg"].ValueList = v2.Clone();
  61. ValueList v3 = new ValueList();
  62. v3.ValueListItems.Add("YTSX", "优特酸洗");
  63. v3.ValueListItems.Add("YTZZ", "优特轧制");
  64. v3.ValueListItems.Add("YTPZ", "优特平整");
  65. v3.ValueListItems.Add("YTTH", "优特退火");
  66. v3.ValueListItems.Add("YTHZ", "优特横剪(开平)");
  67. v3.ValueListItems.Add("YTZJ", "优特纵剪(分条)");
  68. v3.ValueListItems.Add("YT1", "原料卷");
  69. this.ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_CODE"].ValueList = v3.Clone();
  70. this.ultraGrid4.DisplayLayout.Bands[0].Columns["PROCESS_CODE"].ValueList = v3.Clone();
  71. if (!this.checkBox1.Checked)
  72. {
  73. this.textBox1.Enabled = false;
  74. }
  75. // this.DoQuery();
  76. }
  77. #endregion
  78. #region 功能
  79. public override void ToolBar_Click(object sender, string ToolbarKey)
  80. {
  81. switch (ToolbarKey)
  82. {
  83. case "Query":
  84. this.DoQuery();
  85. break;
  86. case "Send":
  87. this.DoSend();
  88. break;
  89. case "Unsend":
  90. this.DoUnsend();//撤销委托
  91. break;
  92. case "Add":
  93. this.AddBasePhy();//新增检验项
  94. break;
  95. case "AddArtificial":
  96. this.AddArtificial();//新增人工委托
  97. break;
  98. case "Update":
  99. this.DoUpdate();//修改取样材料号
  100. break;
  101. case "AddWt":
  102. this.DoAddWt();//新增复制单条委托
  103. break;
  104. case "DelWt":
  105. this.DoDelWt();//撤销复制单条委托
  106. break;
  107. case "DoDelete":
  108. this.DoDelete();//删除委托
  109. break;
  110. case "DoEject":
  111. this.DoEject();//卷板质量异常处理
  112. break;
  113. case "UpBatchNo":
  114. this.DoUpBatchNo();//复样 修改轧批号 (一炉5个轧批 1 2 3 4 5 取1号轧批委托 夹杂不合格 复 2 3轧批)
  115. break;
  116. case "UpRefBatchNo":
  117. this.DoUpRefBatchNo();//初样 修改指定的按炉引用 (一炉5个轧批 1 2 3 4 5 系统默认为 1 但是现场实际取的是3 所以要人工修改)
  118. break;
  119. case "doPrint":
  120. this.doPrint();//打印
  121. break;
  122. case "DoQuote":
  123. this.DoQuoteKY();
  124. break;
  125. }
  126. }
  127. #region 打印
  128. private void doPrint()
  129. {
  130. RowsCollection rowsCollection = this.ultraGrid1.Rows;
  131. if (this.ultraTabControl1.Tabs[0].Selected) //检验委托
  132. {
  133. rowsCollection = this.ultraGrid1.Rows;
  134. }
  135. else if (this.ultraTabControl1.Tabs[1].Selected)
  136. {
  137. rowsCollection = this.ultraGrid4.Rows;
  138. }
  139. foreach (UltraGridRow ugr in rowsCollection)
  140. {
  141. if (ugr.Cells["CHK"].Value.ToString().ToLower() == "true")
  142. {
  143. String specimenNo = ugr.Cells["SPECIMEN_NO"].Value.ToString();//取样编号
  144. String materialNo = ugr.Cells["MATERIAL_NO"].Value.ToString();//子板号
  145. String batchNO = ugr.Cells["BATCH_NO"].Value.ToString();//轧批号
  146. String steelName = ugr.Cells["STEEL_NAME"].Value.ToString();//钢种
  147. String thck = ugr.Cells["THICK"].Value.ToString();//规格
  148. String phyNameLbj = ugr.Cells["PHY_NAME_L_bj"].Value.ToString();//项目
  149. String STATUS = ugr.Cells["STATUS"].Value.ToString();//发送状态
  150. if (STATUS.Equals("未发送"))
  151. {
  152. this.alert("当前委托还未发送!请先发送委托");
  153. return;
  154. }
  155. if (string.IsNullOrEmpty(specimenNo))
  156. {
  157. this.alert("未找到相应委托数据!请核实!!!");
  158. return;
  159. }
  160. v_BATCH_NO = materialNo;
  161. //二维码内容
  162. String qrCodeContent = materialNo;
  163. QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
  164. qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//二维码编码格式
  165. int num = qrCodeContent.Length;
  166. lennum = num;
  167. if (num <= 90)
  168. {
  169. qrCodeEncoder.QRCodeScale = 5;
  170. qrCodeEncoder.QRCodeVersion = 1;
  171. }
  172. else
  173. {
  174. qrCodeEncoder.QRCodeScale = 6;//二维码大小比例4
  175. qrCodeEncoder.QRCodeVersion = 14;//设置二维码的版本,默认7 该值影响二维码最高数据容量 7大致对应40个汉字长度,内容超出择需提升该数值
  176. }
  177. //设置错误校验级别,默认中等,二维码被遮挡住一部分实际上也是能扫出内容的,这个效验级别的意思就是
  178. //当遮挡部分最大占整体多少时仍然可以被扫出来,M大概在20%左右,H为30%,级别越高相应的数据容量会缩小
  179. qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
  180. System.Drawing.Image image = qrCodeEncoder.Encode(qrCodeContent, Encoding.UTF8);//生成二维码图片 第一个参数打印内容
  181. image2 = image;
  182. string FilePath = @"C:\二维码";
  183. if (!Directory.Exists(FilePath))
  184. {
  185. Directory.CreateDirectory(FilePath);//判断是否有相应文件夹
  186. }
  187. PrintDocument printDocument = new PrintDocument();
  188. printDocument.PrinterSettings.PrinterName = "Deli DL-888T";//打印机名
  189. printDocument.PrintPage += new PrintPageEventHandler(pdt_PrintPage);//设置字体
  190. try
  191. {
  192. if (!printDocument.PrinterSettings.IsValid)
  193. {
  194. MessageBox.Show("打印设置无效!", "出错", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  195. return;
  196. }
  197. printDocument.Print();
  198. }
  199. catch (Exception ex)
  200. {
  201. MessageBox.Show("打印过程出现异常!\n" + ex.Message, "出错", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  202. }
  203. finally
  204. {
  205. printDocument.Dispose();
  206. }
  207. //增加打印标识
  208. CoreClientParam ccp = new CoreClientParam();
  209. ccp.ServerName = "QCM.JHY01.JHY0102.UpdateInfo";
  210. ccp.MethodName = "doPrintLog";
  211. ccp.ServerParams = new object[] { specimenNo };
  212. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  213. //保存二维码
  214. //FilePath = @"C:\二维码\" + batchNO + "二维码.jpg";
  215. //System.IO.FileStream fs = new System.IO.FileStream(FilePath, System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.None);
  216. //image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);
  217. //fs.Close();
  218. image.Dispose();
  219. }
  220. }
  221. }
  222. void pdt_PrintPage(object sender, PrintPageEventArgs e)
  223. {
  224. Graphics grfx = e.Graphics;
  225. // grfx.DrawString(PRINT_SEQV, new Font("宋体", 15), Brushes.Black, 30, 70);//打印内容、字体、颜色、X、Y
  226. grfx.DrawString(v_BATCH_NO, new Font("宋体", 14), Brushes.Black, 68, 130);//打印内容、字体、颜色、X、Y
  227. grfx.DrawImage(image2, 70, 15, 120, 110);//图片、X、Y、宽、高
  228. }
  229. #endregion
  230. #endregion
  231. #region 功能方法
  232. #region 人工引用界面
  233. private void DoQuoteKY()
  234. {
  235. try
  236. {
  237. UltraGridRow row = this.ultraGrid1.ActiveRow;
  238. if (row == null)
  239. {
  240. this.alert("检验委托为空!请选择检验委托数据!!!");
  241. return;
  242. }
  243. if (!row.Cells["SMP_CATG"].Text.ToString().Equals("材质"))
  244. {
  245. this.alert("只有材质数据才可以引用!!!");
  246. return;
  247. }
  248. if (row.Cells["FREQ_CODE"].Value.ToString().Equals("D"))
  249. {
  250. this.alert("夹杂不能使用当前按钮!");
  251. return;
  252. }
  253. String PLINE_CODE = row.Cells["PLINE_CODE"].Value.ToString();
  254. String txt_DESIGN_KEY = row.Cells["DESIGN_KEY"].Value.ToString();
  255. String txtDK = txt_DESIGN_KEY.Substring(0, 2);
  256. String SMP_TYPE_CODE = row.Cells["SMP_TYPE_CODE"].Value.ToString();
  257. int num = 0;
  258. foreach (UltraGridRow ugr in this.ultraGrid1.Rows)
  259. {
  260. if (ugr.Cells["CHK"].Value.ToString().ToLower() == "true")
  261. {
  262. if (ugr.Cells["FREQ_CODE"].Value.ToString().Equals("D"))
  263. {
  264. this.alert("夹杂不能使用当前按钮!!!");
  265. return;
  266. }
  267. num = num + 1;
  268. }
  269. }
  270. if (num != 1)
  271. {
  272. this.alert("要勾选委托并且只能勾选一条引用!");
  273. return;
  274. }
  275. QCM0206 frmRbp = new QCM0206();
  276. frmRbp.StartPosition = FormStartPosition.CenterScreen;
  277. frmRbp.ob = this.ob;
  278. frmRbp.specimenNo = row.Cells["SPECIMEN_NO"].Value.ToString();
  279. frmRbp.smpNo = row.Cells["SMP_NO"].Value.ToString();
  280. frmRbp.batchNo = row.Cells["BATCH_NO"].Value.ToString();
  281. frmRbp.designKey = row.Cells["DESIGN_KEY"].Value.ToString();
  282. frmRbp.steelCode = row.Cells["STEEL_NAME"].Value.ToString();
  283. frmRbp.thick = row.Cells["THICK"].Value.ToString();
  284. frmRbp.ShowDialog();
  285. this.DoQuery();
  286. }
  287. catch (Exception ex)
  288. {
  289. MessageBox.Show("操作过程出现异常!\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  290. }
  291. }
  292. #endregion
  293. #region 初样 修改取样轧批号按炉初样比如:夹杂
  294. private void DoUpRefBatchNo()
  295. {
  296. try
  297. {
  298. CoreClientParam ccp = new CoreClientParam();
  299. ArrayList smpNo = new ArrayList();//试样号
  300. ArrayList specimenNo = new ArrayList();//取样编号
  301. ArrayList batchNo = new ArrayList();//轧批号
  302. ArrayList heatnNo = new ArrayList();//炉号
  303. ArrayList materialNo = new ArrayList();//取样材料号
  304. ArrayList send_memo = new ArrayList();//发送备注
  305. ArrayList inspectionLot = new ArrayList();//检验号
  306. ArrayList plineCode = new ArrayList();
  307. foreach (UltraGridRow ugr in this.ultraGrid1.Rows)
  308. {
  309. if (ugr.Cells["CHK"].Value.ToString().ToLower() == "true")
  310. {
  311. if (!ugr.Cells["SMP_TYPE_CODE"].Value.ToString().Equals("0") || !ugr.Cells["FREQ_CODE"].Value.ToString().Equals("D"))
  312. {
  313. this.alert("修改初样取样轧批号按钮是用来修改按炉取样的轧批,请谨慎操作!");
  314. return;
  315. }
  316. smpNo.Add(ugr.Cells["SMP_NO"].Value.ToString());
  317. specimenNo.Add(ugr.Cells["SPECIMEN_NO"].Value.ToString());
  318. batchNo.Add(ugr.Cells["BATCH_NO"].Value.ToString());
  319. heatnNo.Add(ugr.Cells["HEAT_NO"].Value.ToString());
  320. materialNo.Add(ugr.Cells["MATERIAL_NO"].Value.ToString());
  321. send_memo.Add(ugr.Cells["SEND_MEMO"].Value.ToString());
  322. inspectionLot.Add(ugr.Cells["INSPECTION_LOT"].Value.ToString());
  323. plineCode.Add(ugr.Cells["PLINE_CODE"].Value.ToString());
  324. }
  325. }
  326. ccp.ServerName = "QCM.JHY01.JHY0102.UpdateInfo";
  327. ccp.MethodName = "DoUpRefBatchNo";
  328. ccp.ServerParams = new object[] { smpNo, specimenNo, batchNo, heatnNo, materialNo, send_memo, inspectionLot, plineCode };
  329. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  330. if (ccp.ReturnCode != -1)
  331. {
  332. MessageBox.Show("修改成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.None);
  333. }
  334. this.DoQuery();
  335. }
  336. catch (Exception ex)
  337. {
  338. System.Diagnostics.Debug.WriteLine(ex.ToString());
  339. MessageBox.Show("系统出错【初样修改轧批号】,请联系管理人员", "警告");
  340. }
  341. }
  342. #endregion
  343. #region 复样 修改轧批号
  344. private void DoUpBatchNo()
  345. {
  346. try
  347. {
  348. CoreClientParam ccp = new CoreClientParam();
  349. ArrayList smpNo = new ArrayList();//试样号
  350. ArrayList specimenNo = new ArrayList();//取样编号
  351. ArrayList batchNo = new ArrayList();//轧批号
  352. ArrayList materialNo = new ArrayList();//取样材料号
  353. ArrayList send_memo = new ArrayList();//发送备注
  354. ArrayList inspectionLot = new ArrayList();//检验号
  355. ArrayList plineCode = new ArrayList();
  356. foreach (UltraGridRow ugr in this.ultraGrid1.Rows)
  357. {
  358. if (ugr.Cells["CHK"].Value.ToString().ToLower() == "true")
  359. {
  360. if ((!ugr.Cells["SMP_TYPE_CODE"].Value.ToString().Equals("1") && !ugr.Cells["SMP_TYPE_CODE"].Value.ToString().Equals("3")) || !ugr.Cells["FREQ_CODE"].Value.ToString().Equals("D"))
  361. {
  362. this.alert("修改复样轧批号按钮是用来修改按炉取样的轧批,请谨慎操作!");
  363. return;
  364. }
  365. smpNo.Add(ugr.Cells["SMP_NO"].Value.ToString());
  366. specimenNo.Add(ugr.Cells["SPECIMEN_NO"].Value.ToString());
  367. batchNo.Add(ugr.Cells["BATCH_NO"].Value.ToString());
  368. materialNo.Add(ugr.Cells["MATERIAL_NO"].Value.ToString());
  369. send_memo.Add(ugr.Cells["SEND_MEMO"].Value.ToString());
  370. inspectionLot.Add(ugr.Cells["INSPECTION_LOT"].Value.ToString());
  371. plineCode.Add(ugr.Cells["PLINE_CODE"].Value.ToString());
  372. }
  373. }
  374. ccp.ServerName = "QCM.JHY01.JHY0102.UpdateInfo";
  375. ccp.MethodName = "updateBatchNo";
  376. ccp.ServerParams = new object[] { smpNo, specimenNo, batchNo, materialNo, send_memo, inspectionLot, plineCode };
  377. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  378. if (ccp.ReturnCode != -1)
  379. {
  380. MessageBox.Show("修改成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.None);
  381. }
  382. this.DoQuery();
  383. }
  384. catch (Exception ex)
  385. {
  386. System.Diagnostics.Debug.WriteLine(ex.ToString());
  387. MessageBox.Show("系统出错【复样修改轧批号】,请联系管理人员", "警告");
  388. }
  389. }
  390. #endregion
  391. #region 修改取样材料号
  392. private void DoUpdate()
  393. {
  394. try
  395. {
  396. //String plineCode = this.CustomInfo;
  397. CoreClientParam ccp = new CoreClientParam();
  398. ArrayList smpNo = new ArrayList();//试样号
  399. ArrayList specimenNo = new ArrayList();//取样编号
  400. ArrayList batchNo = new ArrayList();//轧批号
  401. ArrayList materialNo = new ArrayList();//取样材料号
  402. ArrayList send_memo = new ArrayList();//发送备注
  403. ArrayList inspectionLot = new ArrayList();//检验号
  404. ArrayList plineCode = new ArrayList();
  405. foreach (UltraGridRow ugr in this.ultraGrid1.Rows)
  406. {
  407. if (ugr.Cells["CHK"].Value.ToString().ToLower() == "true")
  408. {
  409. smpNo.Add(ugr.Cells["SMP_NO"].Value.ToString());
  410. specimenNo.Add(ugr.Cells["SPECIMEN_NO"].Value.ToString());
  411. batchNo.Add(ugr.Cells["BATCH_NO"].Value.ToString());
  412. materialNo.Add(ugr.Cells["MATERIAL_NO"].Value.ToString());
  413. send_memo.Add(ugr.Cells["SEND_MEMO"].Value.ToString());
  414. inspectionLot.Add(ugr.Cells["INSPECTION_LOT"].Value.ToString());
  415. plineCode.Add(ugr.Cells["PLINE_CODE"].Value.ToString());
  416. }
  417. }
  418. ccp.ServerName = "QCM.JHY01.JHY0102.UpdateInfo";
  419. ccp.MethodName = "updateMaterialNo";
  420. ccp.ServerParams = new object[] { smpNo, specimenNo, batchNo, materialNo, send_memo, inspectionLot, plineCode };
  421. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  422. }
  423. catch (Exception ex)
  424. {
  425. System.Diagnostics.Debug.WriteLine(ex.ToString());
  426. MessageBox.Show("系统出错【修改取样材料号】,请联系管理人员", "警告");
  427. }
  428. }
  429. #endregion
  430. #region 新增人工委托
  431. private void AddArtificial()
  432. {
  433. try
  434. {
  435. QCM0205YT frmRbp = new QCM0205YT();
  436. frmRbp.StartPosition = FormStartPosition.CenterScreen;
  437. frmRbp.ob = this.ob;
  438. frmRbp.plineCode = "YT1";
  439. frmRbp.ShowDialog();
  440. this.DoQuery();
  441. }
  442. catch (Exception ex)
  443. {
  444. MessageBox.Show("操作过程出现异常!\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  445. }
  446. }
  447. #endregion
  448. #region 新增检验项
  449. private void AddBasePhy()
  450. {
  451. try
  452. {
  453. UltraGridRow row = this.ultraGrid1.ActiveRow;
  454. if (row == null)
  455. {
  456. this.alert("检验委托为空!请选择检验委托数据!!!");
  457. return;
  458. }
  459. if (!row.Cells["SMP_CATG"].Text.ToString().Equals("材质"))
  460. {
  461. this.alert("只有材质数据才可以新增检验项!!!");
  462. return;
  463. }
  464. QCM0204 frmRbp = new QCM0204();
  465. frmRbp.StartPosition = FormStartPosition.CenterScreen;
  466. frmRbp.ob = this.ob;
  467. frmRbp.specimenNo = row.Cells["SPECIMEN_NO"].Value.ToString();
  468. frmRbp.smpNo = row.Cells["SMP_NO"].Value.ToString();
  469. frmRbp.plineCode = "YT1";
  470. frmRbp.ShowDialog();
  471. this.DoQueryPrg(row);//右下角
  472. }
  473. catch (Exception ex)
  474. {
  475. MessageBox.Show("操作过程出现异常!\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  476. }
  477. }
  478. #endregion
  479. #region 新增复制单条委托
  480. private void DoAddWt()
  481. {
  482. try
  483. {
  484. int num = 0;
  485. foreach (UltraGridRow ugr in this.ultraGrid1.Rows)
  486. {
  487. if (ugr.Cells["CHK"].Value.ToString().ToLower() == "true")
  488. {
  489. num = num + 1;
  490. }
  491. }
  492. if (num > 1)
  493. {
  494. this.alert("只能单条复制!为防止数据差错谢谢配合【谨慎复制】");
  495. return;
  496. }
  497. UltraGridRow row = this.ultraGrid1.ActiveRow;
  498. if (row == null)
  499. {
  500. this.alert("检验委托为空!请选择检验委托数据!!!");
  501. return;
  502. }
  503. String batchNo = row.Cells["BATCH_NO"].Value.ToString();//轧批号
  504. String designKey = row.Cells["DESIGN_KEY"].Value.ToString();//订单号
  505. String smpNo = row.Cells["SMP_NO"].Value.ToString();//试样号
  506. String specimenNo = row.Cells["SPECIMEN_NO"].Value.ToString();//取样编号
  507. String smpTypeName = row.Cells["SMP_TYPE_NAME"].Value.ToString();//取样类型
  508. if (MessageBox.Show("轧批号【" + batchNo + "】,确认复制当前委托一条?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  509. {
  510. return;
  511. }
  512. CoreClientParam ccp = new CoreClientParam();
  513. ccp.ServerName = "QCM.JHY01.JHY0102.UpdateInfo";
  514. if (smpTypeName.Equals("初样"))
  515. {
  516. ccp.MethodName = "DoAddWtZy";
  517. }
  518. else if (smpTypeName.Equals("复样"))
  519. {
  520. ccp.MethodName = "DoAddWtFy";
  521. }
  522. ccp.ServerParams = new object[] { batchNo, designKey, smpNo, specimenNo, this.UserInfo.GetUserName() };
  523. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  524. if (ccp.ReturnCode != -1)
  525. {
  526. MessageBox.Show("复制委托成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.None);
  527. }
  528. this.DoQuery();
  529. }
  530. catch (Exception ex)
  531. {
  532. MessageBox.Show("操作过程出现异常!\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  533. }
  534. }
  535. #endregion
  536. #region 撤销复制单条委托
  537. private void DoDelWt()
  538. {
  539. try
  540. {
  541. int num = 0;
  542. foreach (UltraGridRow ugr in this.ultraGrid1.Rows)
  543. {
  544. if (ugr.Cells["CHK"].Value.ToString().ToLower() == "true")
  545. {
  546. num = num + 1;
  547. }
  548. }
  549. if (num > 1)
  550. {
  551. this.alert("只能单条删除!为防止数据差错谢谢配合【谨慎删除】");
  552. return;
  553. }
  554. UltraGridRow row = this.ultraGrid1.ActiveRow;
  555. if (row == null)
  556. {
  557. this.alert("检验委托为空!请选择检验委托数据!!!");
  558. return;
  559. }
  560. String batchNo = row.Cells["BATCH_NO"].Value.ToString();//轧批号
  561. String designKey = row.Cells["DESIGN_KEY"].Value.ToString();//订单号
  562. String smpNo = row.Cells["SMP_NO"].Value.ToString();//试样号
  563. String specimenNo = row.Cells["SPECIMEN_NO"].Value.ToString();//取样编号
  564. String smpTypeName = row.Cells["SMP_TYPE_NAME"].Value.ToString();//取样类型
  565. String item_flag = row.Cells["ITEM_FLAG"].Value.ToString();//项目来源(0-订单,1-人工)
  566. if (MessageBox.Show("轧批号【" + batchNo + "】,确认撤销当前委托?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  567. {
  568. return;
  569. }
  570. if (!item_flag.Equals("1"))
  571. {
  572. this.alert("只能撤销人工复制委托");
  573. return;
  574. }
  575. CoreClientParam ccp = new CoreClientParam();
  576. ccp.ServerName = "QCM.JHY01.JHY0102.UpdateInfo";
  577. if (smpTypeName.Equals("初样"))
  578. {
  579. ccp.MethodName = "DoDelWtZy";
  580. }
  581. else if (smpTypeName.Equals("复样"))
  582. {
  583. ccp.MethodName = "DoDelWtFy";
  584. }
  585. ccp.ServerParams = new object[] { batchNo, designKey, smpNo, specimenNo };
  586. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  587. if (ccp.ReturnCode != -1)
  588. {
  589. MessageBox.Show("撤销复制委托成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.None);//ccp.ReturnInfo "发送成功" ccp.ReturnInfo
  590. }
  591. this.DoQuery();
  592. }
  593. catch (Exception ex)
  594. {
  595. MessageBox.Show("操作过程出现异常!\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  596. }
  597. }
  598. #endregion
  599. #region 删除委托
  600. private void DoDelete()
  601. {
  602. try
  603. {
  604. UltraGridRow row = this.ultraGrid1.ActiveRow;
  605. if (row == null)
  606. {
  607. this.alert("检验委托为空!请选择检验委托数据!!!");
  608. return;
  609. }
  610. String batchNoViw = row.Cells["BATCH_NO"].Value.ToString();//轧批号
  611. ArrayList batchNo = new ArrayList();//轧批号
  612. ArrayList designKey = new ArrayList();//订单号
  613. ArrayList smpNo = new ArrayList();//试样号
  614. ArrayList specimenNo = new ArrayList();//取样编号
  615. ArrayList smpTypeName = new ArrayList();//取样类型
  616. foreach (UltraGridRow ugr in this.ultraGrid1.Rows)
  617. {
  618. if (ugr.Cells["CHK"].Value.ToString().ToLower() == "true")
  619. {
  620. batchNo.Add(ugr.Cells["BATCH_NO"].Value.ToString());//轧批号
  621. designKey.Add(ugr.Cells["DESIGN_KEY"].Value.ToString());//订单号
  622. smpNo.Add(ugr.Cells["SMP_NO"].Value.ToString());//试样号
  623. specimenNo.Add(ugr.Cells["SPECIMEN_NO"].Value.ToString());//取样编号
  624. smpTypeName.Add(ugr.Cells["SMP_TYPE_NAME"].Value.ToString());//取样类型
  625. if (ugr.Cells["SMP_TYPE_CODE"].Value.ToString().Equals("3"))
  626. {
  627. this.alert("件件取样暂时不支持删除!!!");
  628. return;
  629. }
  630. }
  631. }
  632. if (MessageBox.Show("确认删除轧批号【" + batchNoViw + "】委托?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  633. {
  634. return;
  635. }
  636. CoreClientParam ccp = new CoreClientParam();
  637. ccp.ServerName = "QCM.JHY01.JHY0102.UpdateInfo";
  638. ccp.MethodName = "DoDelete";
  639. ccp.ServerParams = new object[] { batchNo, designKey, smpNo, specimenNo, smpTypeName, this.UserInfo.GetUserName() };
  640. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  641. if (ccp.ReturnCode != -1)
  642. {
  643. MessageBox.Show("删除委托成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.None);
  644. }
  645. this.DoQuery();
  646. }
  647. catch (Exception ex)
  648. {
  649. MessageBox.Show("操作过程出现异常!\n" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  650. }
  651. }
  652. #endregion
  653. #region 查询
  654. private void DoQuery()
  655. {
  656. try
  657. {
  658. //LIMS退回轧批
  659. if (this.ultraTabControl1.Tabs[2].Selected)
  660. {
  661. inLIMSQuery();
  662. return;
  663. }
  664. String checkboxVal = "";
  665. String STARTTIME = this.dateTimePicker1.Value.ToString("yyyy-MM-dd");
  666. String ENDTIME = this.dateTimePicker2.Value.ToString("yyyy-MM-dd");
  667. String MATERIAL_NO = this.textBox1.Text.Trim();
  668. String VALIDFLAG = "1";
  669. String CERT_INST_NAME = this.textBox2.Text.Trim();//认证机构
  670. String PLINE_NAME = "优特钢";
  671. String PLINE_CODE = "YT1";
  672. String DESIGN_KEY = this.txt_steel_name.Text.Trim();
  673. String SMP_CATG = this.cbx_smp_catg.Text.Trim();
  674. String heatNo = this.selheatNo.Text.Trim();
  675. String onbatch1 = this.textBox3.Text.Trim();
  676. String onbatch2 = this.textBox4.Text.Trim();
  677. if (this.checkBox3.Checked)
  678. {
  679. STARTTIME = "";
  680. ENDTIME = "";
  681. }
  682. else
  683. {
  684. onbatch1 = "";
  685. onbatch2 = "";
  686. }
  687. if (this.checkBox2.Checked)
  688. {
  689. STARTTIME = "";
  690. ENDTIME = "";
  691. }
  692. else
  693. {
  694. heatNo = "";
  695. }
  696. if (CERT_INST_NAME.Equals("全部"))
  697. {
  698. CERT_INST_NAME = "";
  699. }
  700. SMP_CATG = "";
  701. if (this.checkBox1.Checked)
  702. {
  703. checkboxVal = "1";
  704. STARTTIME = "";
  705. ENDTIME = "";
  706. if (string.IsNullOrEmpty(MATERIAL_NO))
  707. {
  708. this.alert("您勾选了查询取样材料号条件未输入!");
  709. this.textBox1.Focus();
  710. return;
  711. }
  712. }
  713. else
  714. {
  715. MATERIAL_NO = "";
  716. }
  717. CoreClientParam ccp = new CoreClientParam();
  718. if (this.ultraTabControl1.Tabs[0].Selected) //检验委托
  719. {
  720. this.dataSet1.Clear();
  721. ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";
  722. ccp.MethodName = "getQltySampleInfoYT";
  723. ccp.SourceDataTable = this.dataSet1.Tables[0];
  724. }
  725. else if (this.ultraTabControl1.Tabs[1].Selected)
  726. {
  727. this.dataSet5.Clear();
  728. ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";
  729. ccp.MethodName = "getQltySampleInfoYT";
  730. ccp.SourceDataTable = this.dataSet5.Tables[0];
  731. }
  732. Hashtable ht = new Hashtable();
  733. ht.Add("MATERIAL_NO", MATERIAL_NO);
  734. ht.Add("STARTTIME", STARTTIME);
  735. ht.Add("ENDTIME", ENDTIME);
  736. ht.Add("VALIDFLAG", VALIDFLAG);
  737. ht.Add("CERT_INST_NAME", CERT_INST_NAME);
  738. ht.Add("PLINE_NAME", PLINE_NAME);
  739. ht.Add("PLINE_CODE", PLINE_CODE);
  740. ht.Add("checkboxVal", checkboxVal);
  741. if (this.ultraTabControl1.Tabs[0].Selected)
  742. {
  743. ht.Add("STATUS", "0");
  744. }
  745. if (this.ultraTabControl1.Tabs[1].Selected)
  746. {
  747. ht.Add("TAB_NAME", "1");//发送时间
  748. }
  749. ht.Add("DESIGN_KEY", DESIGN_KEY);
  750. ht.Add("SMP_CATG", SMP_CATG);
  751. ht.Add("HEAT_NO", heatNo);
  752. ht.Add("BATCH_NO", onbatch1);
  753. ht.Add("BATCH_NO2", onbatch2);
  754. ccp.ServerParams = new object[] { ht };
  755. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  756. if (this.ultraTabControl1.Tabs[0].Selected) //检验委托
  757. {
  758. foreach (UltraGridRow ugr in this.ultraGrid1.Rows)
  759. {
  760. switch (ugr.Cells["STATUS"].Text.ToString())
  761. {
  762. case "0":
  763. ugr.Cells["STATUS"].Value = "未发送";
  764. break;
  765. case "1":
  766. ugr.Cells["STATUS"].Value = "已引用";
  767. break;
  768. case "2":
  769. ugr.Cells["STATUS"].Value = "已接收";
  770. break;
  771. case "3":
  772. ugr.Cells["STATUS"].Value = "已完成";
  773. break;
  774. case "4":
  775. ugr.Cells["STATUS"].Value = "检化验系统退回";
  776. break;
  777. case "5":
  778. ugr.Cells["STATUS"].Value = "重判";
  779. break;
  780. case "7":
  781. ugr.Cells["STATUS"].Value = "确认接收样";
  782. break;
  783. }
  784. if (ugr.Cells["SMP_TYPE_NAME"].Value.ToString() == "复样")
  785. {
  786. ugr.Cells["SMP_TYPE_NAME"].Appearance.ForeColor = Color.Red;
  787. }
  788. }
  789. int num = this.ultraGrid1.Rows.Count();
  790. if (num <= 0)
  791. {
  792. this.dataSet2.Clear();
  793. this.dataSet3.Clear();
  794. }
  795. }
  796. else if (this.ultraTabControl1.Tabs[1].Selected)
  797. {
  798. foreach (UltraGridRow ugr in this.ultraGrid4.Rows)
  799. {
  800. switch (ugr.Cells["STATUS"].Text.ToString())
  801. {
  802. case "0":
  803. ugr.Cells["STATUS"].Value = "未发送";
  804. break;
  805. case "1":
  806. ugr.Cells["STATUS"].Value = "已引用";
  807. break;
  808. case "2":
  809. ugr.Cells["STATUS"].Value = "已接收";
  810. break;
  811. case "3":
  812. ugr.Cells["STATUS"].Value = "已完成";
  813. break;
  814. case "4":
  815. ugr.Cells["STATUS"].Value = "检化验系统退回";
  816. break;
  817. case "5":
  818. ugr.Cells["STATUS"].Value = "重判";
  819. break;
  820. case "7":
  821. ugr.Cells["STATUS"].Value = "确认接收样";
  822. break;
  823. }
  824. if (ugr.Cells["SMP_TYPE_NAME"].Value.ToString() == "复样")
  825. {
  826. ugr.Cells["SMP_TYPE_NAME"].Appearance.ForeColor = Color.Red;
  827. }
  828. }
  829. int num = this.ultraGrid4.Rows.Count();
  830. if (num <= 0)
  831. {
  832. this.dataSet6.Clear();
  833. }
  834. }
  835. }
  836. catch (Exception ex)
  837. {
  838. System.Diagnostics.Debug.WriteLine(ex.ToString());
  839. MessageBox.Show("系统出错,请联系管理人员", "警告");
  840. }
  841. }
  842. private void inLIMSQuery()
  843. {
  844. try
  845. {
  846. String checkboxVal = "";
  847. String STARTTIME = this.dateTimePicker1.Value.ToString("yyyy-MM-dd");
  848. String ENDTIME = this.dateTimePicker2.Value.ToString("yyyy-MM-dd");
  849. String MATERIAL_NO = this.textBox1.Text.Trim();
  850. String VALIDFLAG = "1";
  851. String CERT_INST_NAME = this.textBox2.Text.Trim();//认证机构
  852. String PLINE_NAME = "优特钢";
  853. String PLINE_CODE = "YT1";
  854. String DESIGN_KEY = this.txt_steel_name.Text.Trim();
  855. String SMP_CATG = this.cbx_smp_catg.Text.Trim();
  856. String heatNo = this.selheatNo.Text.Trim();
  857. String onbatch1 = this.textBox3.Text.Trim();
  858. String onbatch2 = this.textBox4.Text.Trim();
  859. if (this.checkBox3.Checked)
  860. {
  861. checkboxVal = "1";
  862. STARTTIME = "";
  863. ENDTIME = "";
  864. }
  865. else
  866. {
  867. onbatch1 = "";
  868. onbatch2 = "";
  869. }
  870. if (this.checkBox2.Checked)
  871. {
  872. STARTTIME = "";
  873. ENDTIME = "";
  874. }
  875. else
  876. {
  877. heatNo = "";
  878. }
  879. if (CERT_INST_NAME.Equals("全部"))
  880. {
  881. CERT_INST_NAME = "";
  882. }
  883. SMP_CATG = "";
  884. if (this.checkBox1.Checked)
  885. {
  886. STARTTIME = "";
  887. ENDTIME = "";
  888. if (string.IsNullOrEmpty(MATERIAL_NO))
  889. {
  890. this.alert("您勾选了查询取样材料号条件未输入!");
  891. this.textBox1.Focus();
  892. return;
  893. }
  894. }
  895. else
  896. {
  897. MATERIAL_NO = "";
  898. }
  899. Hashtable ht = new Hashtable();
  900. ht.Add("MATERIAL_NO", MATERIAL_NO);
  901. ht.Add("STARTTIME", STARTTIME);
  902. ht.Add("ENDTIME", ENDTIME);
  903. ht.Add("VALIDFLAG", VALIDFLAG);
  904. ht.Add("CERT_INST_NAME", CERT_INST_NAME);
  905. ht.Add("PLINE_NAME", PLINE_NAME);
  906. ht.Add("PLINE_CODE", PLINE_CODE);
  907. ht.Add("checkboxVal", checkboxVal);
  908. if (this.ultraTabControl1.Tabs[0].Selected)
  909. {
  910. ht.Add("STATUS", "0");
  911. }
  912. if (this.ultraTabControl1.Tabs[1].Selected)
  913. {
  914. ht.Add("TAB_NAME", "1");//发送时间
  915. }
  916. ht.Add("DESIGN_KEY", DESIGN_KEY);
  917. ht.Add("SMP_CATG", SMP_CATG);
  918. ht.Add("HEAT_NO", heatNo);
  919. ht.Add("BATCH_NO", onbatch1);
  920. ht.Add("BATCH_NO2", onbatch2);
  921. CoreClientParam ccp = new CoreClientParam();
  922. this.dataSet10.Clear();
  923. ccp.ServerName = "QCM.JHY01.JHY0102.QuerryJhyQtly";
  924. ccp.MethodName = "ZHBQueryLims";
  925. ccp.SourceDataTable = this.dataSet10.Tables[0];
  926. ccp.ServerParams = new object[] { ht };
  927. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  928. }
  929. catch (Exception ex)
  930. {
  931. System.Diagnostics.Debug.WriteLine(ex.ToString());
  932. MessageBox.Show("系统出错,请联系管理人员", "警告");
  933. }
  934. }
  935. #endregion
  936. #region 查找检验项目
  937. private void DoQueryPrg(UltraGridRow ugr)
  938. {
  939. try
  940. {
  941. this.dataSet3.Clear();
  942. String specimen_no = ugr.Cells["SPECIMEN_NO"].Value.ToString();
  943. CoreClientParam ccp = new CoreClientParam();
  944. ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";
  945. ccp.MethodName = "getQltySampleItem";
  946. ccp.ServerParams = new object[] { specimen_no };
  947. ccp.SourceDataTable = this.dataSet3.Tables[0];
  948. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  949. }
  950. catch (Exception ex)
  951. {
  952. System.Diagnostics.Debug.WriteLine(ex.ToString());
  953. MessageBox.Show("系统出错,请联系管理人员", "警告");
  954. }
  955. }
  956. #endregion
  957. #region 查询订单信息
  958. private void DoQueryOrder(UltraGridRow ugr)
  959. {
  960. try
  961. {
  962. this.dataSet2.Clear();
  963. CoreClientParam ccp = new CoreClientParam();
  964. ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";
  965. ccp.MethodName = "getQltySampleOrd";
  966. ccp.ServerParams = new object[] { ugr.Cells["SMP_NO"].Text.ToString() };
  967. ccp.SourceDataTable = this.dataSet2.Tables[0];
  968. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  969. //foreach (UltraGridRow ugr2 in this.ultraGrid2.Rows)
  970. //{
  971. // ugr2.Cells["Column1"].Value = ugr2.Cells["THICK"].Value + "*" + ugr2.Cells["WIDTH"].Value + "*" + ugr2.Cells["LENGTH"].Value;
  972. //}
  973. }
  974. catch (Exception ex)
  975. {
  976. System.Diagnostics.Debug.WriteLine(ex.ToString());
  977. MessageBox.Show("系统出错,请联系管理人员", "警告");
  978. }
  979. }
  980. #endregion
  981. #region 发送检验委托
  982. private void DoSend()
  983. {
  984. try
  985. {
  986. DoUpdate();//先修改取样材料号
  987. List<UltraGridRow> lists = new List<UltraGridRow>();
  988. CoreClientParam ccp = new CoreClientParam();
  989. string SPECIMEN_NO = "";
  990. string fh = "";
  991. int num = 0;
  992. foreach (UltraGridRow ugr in this.ultraGrid1.Rows)
  993. {
  994. string specimeNo = "";
  995. if (ugr.Cells["CHK"].Value.ToString().ToLower() == "true")
  996. {
  997. specimeNo = ugr.Cells["SPECIMEN_NO"].Value.ToString();
  998. num = num + 1;
  999. if (num <= 1)
  1000. {
  1001. SPECIMEN_NO = specimeNo;
  1002. fh = ",";
  1003. }
  1004. else
  1005. {
  1006. SPECIMEN_NO = SPECIMEN_NO + fh + specimeNo;
  1007. }
  1008. lists.Add(ugr);
  1009. }
  1010. }
  1011. ccp.ServerName = "QCM.JHY01.JHY0102.Send2";
  1012. ccp.MethodName = "SendLIMES";
  1013. ccp.ServerParams = new object[] { SPECIMEN_NO, this.UserInfo.GetUserID(), this.UserInfo.GetUserName(), " " };
  1014. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1015. if (ccp.ReturnCode != -1)
  1016. {
  1017. for (int i = 0; i < lists.Count; i++)
  1018. {
  1019. lists[i].Delete(false);
  1020. }
  1021. MessageBox.Show("发送成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.None);//ccp.ReturnInfo "发送成功" ccp.ReturnInfo
  1022. }
  1023. //this.DoQuery();
  1024. int conut = this.ultraGrid1.Rows.Count();
  1025. if (conut <= 0)
  1026. {
  1027. this.dataSet2.Clear();
  1028. this.dataSet3.Clear();
  1029. }
  1030. }
  1031. catch (Exception ex)
  1032. {
  1033. System.Diagnostics.Debug.WriteLine(ex.ToString());
  1034. MessageBox.Show("系统出错,请联系管理人员", "警告");
  1035. }
  1036. }
  1037. #endregion
  1038. #region 撤销检验委托
  1039. private void DoUnsend()
  1040. {
  1041. try
  1042. {
  1043. if (MessageBox.Show("确认撤销发送?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  1044. {
  1045. return;
  1046. }
  1047. List<UltraGridRow> lists = new List<UltraGridRow>();
  1048. String zhyy = "MES撤回";
  1049. CoreClientParam ccp = new CoreClientParam();
  1050. string SPECIMEN_NO = "";
  1051. string fh = "";
  1052. int num = 0;
  1053. foreach (UltraGridRow ugr in this.ultraGrid4.Rows)
  1054. {
  1055. string specimeNo = "";
  1056. if (ugr.Cells["CHK"].Value.ToString().ToLower() == "true")
  1057. {
  1058. specimeNo = ugr.Cells["SPECIMEN_NO"].Value.ToString();
  1059. num = num + 1;
  1060. if (num <= 1)
  1061. {
  1062. SPECIMEN_NO = specimeNo;
  1063. fh = ",";
  1064. }
  1065. else
  1066. {
  1067. SPECIMEN_NO = SPECIMEN_NO + fh + specimeNo;
  1068. }
  1069. lists.Add(ugr);
  1070. }
  1071. }
  1072. ccp.ServerName = "QCM.JHY01.JHY0102.Send2";
  1073. ccp.MethodName = "CancelLIMES";
  1074. ccp.ServerParams = new object[] { SPECIMEN_NO, this.UserInfo.GetUserName(), zhyy };
  1075. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1076. if (ccp.ReturnCode != -1)
  1077. {
  1078. for (int i = 0; i < lists.Count; i++)
  1079. {
  1080. lists[i].Delete(false);
  1081. }
  1082. MessageBox.Show("撤销发送成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.None);//ccp.ReturnInfo "发送成功" ccp.ReturnInfo
  1083. }
  1084. // this.DoQuery();
  1085. int conut = this.ultraGrid4.Rows.Count();
  1086. if (conut <= 0)
  1087. {
  1088. this.dataSet6.Clear();
  1089. }
  1090. }
  1091. catch (Exception ex)
  1092. {
  1093. System.Diagnostics.Debug.WriteLine(ex.ToString());
  1094. MessageBox.Show("系统出错,请联系管理人员", "警告");
  1095. }
  1096. }
  1097. #endregion
  1098. #region 卷板质量异常处理
  1099. private void DoEject()
  1100. {
  1101. QCM0307 frmRbp = new QCM0307();
  1102. frmRbp.StartPosition = FormStartPosition.CenterScreen;
  1103. frmRbp.ob = this.ob;
  1104. frmRbp.ShowDialog();
  1105. }
  1106. #endregion
  1107. #endregion
  1108. #region 其它事件
  1109. #region 查询下拉框 取样材料号
  1110. private void ultraGrid1_AfterCellActivate(object sender, EventArgs e)
  1111. {
  1112. this.dataSet4.Clear();
  1113. String batchNo = this.ultraGrid1.ActiveRow.Cells["BATCH_NO"].Value.ToString();
  1114. String plineCode = this.ultraGrid1.ActiveRow.Cells["PLINE_CODE"].Value.ToString();
  1115. CoreClientParam ccp = new CoreClientParam();
  1116. ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";//调用java地址
  1117. ccp.MethodName = "getBilletId";//调用的方法
  1118. ccp.ServerParams = new object[] { batchNo, plineCode };
  1119. ccp.SourceDataTable = this.dataSet4.Tables[0];
  1120. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  1121. ValueList VDEFECT_DESC = new ValueList();
  1122. for (int i = 0; i < ccp.SourceDataTable.Rows.Count; i++)
  1123. {
  1124. VDEFECT_DESC.ValueListItems.Add(ccp.SourceDataTable.Rows[i]["MATERIAL_NO"].ToString(), ccp.SourceDataTable.Rows[i]["MATERIAL_NO"].ToString());
  1125. }
  1126. this.ultraGrid1.DisplayLayout.Bands[0].Columns["MATERIAL_NO"].ValueList = VDEFECT_DESC;
  1127. }
  1128. #endregion
  1129. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  1130. {
  1131. int num = this.ultraGrid1.Rows.Count();
  1132. if (num >= 1)
  1133. {
  1134. Infragistics.Win.UltraWinGrid.UltraGrid uGrid = (Infragistics.Win.UltraWinGrid.UltraGrid)sender;
  1135. string specimen_no = uGrid.ActiveRow.Cells["SPECIMEN_NO"].Text.Trim();
  1136. string smp_no = uGrid.ActiveRow.Cells["SMP_NO"].Text.Trim();
  1137. this.dataSet3.Tables[0].Clear();
  1138. this.dataSet2.Tables[0].Clear();
  1139. CoreClientParam ccp = new CoreClientParam();
  1140. ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";
  1141. ccp.MethodName = "getQltySampleItemNew";
  1142. ccp.ServerParams = new object[] { specimen_no };
  1143. ccp.SourceDataTable = this.dataSet3.Tables[0];
  1144. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  1145. }
  1146. else
  1147. {
  1148. this.dataSet2.Clear();
  1149. this.dataSet3.Clear();
  1150. }
  1151. }
  1152. #region 选择tab 显示相应按钮
  1153. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  1154. {
  1155. if (this.ultraTabControl1.SelectedTab.Index == 0)
  1156. {
  1157. this.ToolBarItemEnable(this, "Send", true);
  1158. this.ToolBarItemEnable(this, "Add", true);
  1159. this.ToolBarItemEnable(this, "AddArtificial", true);
  1160. this.ToolBarItemEnable(this, "Unsend", false);
  1161. this.ToolBarItemEnable(this, "AddWt", true);
  1162. this.ToolBarItemEnable(this, "DelWt", true);
  1163. this.ToolBarItemEnable(this, "DoDelete", true);
  1164. this.ToolBarItemEnable(this, "DoQuote", true);
  1165. this.ToolBarItemEnable(this, "doPrint", false);
  1166. }
  1167. else if (this.ultraTabControl1.SelectedTab.Index == 1)
  1168. {
  1169. this.ToolBarItemEnable(this, "Send", false);
  1170. this.ToolBarItemEnable(this, "Add", false);
  1171. this.ToolBarItemEnable(this, "AddArtificial", false);
  1172. this.ToolBarItemEnable(this, "Unsend", true);
  1173. this.ToolBarItemEnable(this, "AddWt", false);
  1174. this.ToolBarItemEnable(this, "DelWt", false);
  1175. this.ToolBarItemEnable(this, "DoDelete", false);
  1176. this.ToolBarItemEnable(this, "DoQuote", false);
  1177. this.ToolBarItemEnable(this, "doPrint", true);
  1178. }
  1179. else if (this.ultraTabControl1.SelectedTab.Index == 2)
  1180. {
  1181. this.ToolBarItemEnable(this, "Send", false);
  1182. this.ToolBarItemEnable(this, "Add", false);
  1183. this.ToolBarItemEnable(this, "AddArtificial", false);
  1184. this.ToolBarItemEnable(this, "Unsend", false);
  1185. this.ToolBarItemEnable(this, "AddWt", false);
  1186. this.ToolBarItemEnable(this, "DelWt", false);
  1187. this.ToolBarItemEnable(this, "DoDelete", false);
  1188. this.ToolBarItemEnable(this, "DoQuote", false);
  1189. this.ToolBarItemEnable(this, "doPrint", false);
  1190. }
  1191. }
  1192. #endregion
  1193. private void ultraGrid4_AfterRowActivate(object sender, EventArgs e)
  1194. {
  1195. Infragistics.Win.UltraWinGrid.UltraGrid uGrid = (Infragistics.Win.UltraWinGrid.UltraGrid)sender;
  1196. string specimen_no = uGrid.ActiveRow.Cells["SPECIMEN_NO"].Text.Trim();
  1197. string smp_no = uGrid.ActiveRow.Cells["SMP_NO"].Text.Trim();
  1198. this.dataSet6.Tables[0].Clear();
  1199. CoreClientParam ccp = new CoreClientParam();
  1200. ccp.ServerName = "QCM.JHY01.JHY0101.QuerryQltySample";
  1201. ccp.MethodName = "getQltySampleItemNew";
  1202. ccp.ServerParams = new object[] { specimen_no };
  1203. ccp.SourceDataTable = this.dataSet6.Tables[0];
  1204. this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
  1205. }
  1206. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  1207. {
  1208. ultraGrid1.UpdateData();
  1209. }
  1210. private void ultraGrid1_AfterHeaderCheckStateChanged(object sender, AfterHeaderCheckStateChangedEventArgs e)
  1211. {
  1212. ultraGrid1.UpdateData();
  1213. }
  1214. private void ultraGrid4_AfterHeaderCheckStateChanged(object sender, AfterHeaderCheckStateChangedEventArgs e)
  1215. {
  1216. ultraGrid4.UpdateData();
  1217. }
  1218. private void ultraGrid4_CellChange(object sender, CellEventArgs e)
  1219. {
  1220. ultraGrid4.UpdateData();
  1221. }
  1222. #endregion
  1223. #region 右下角 删除 名称
  1224. private void ultraGrid3_InitializeRow(object sender, InitializeRowEventArgs e)
  1225. {
  1226. e.Row.Cells["deletebol"].Value = "删除";
  1227. }
  1228. #endregion
  1229. #region 右下角 删除
  1230. private void ultraGrid3_ClickCellButton(object sender, CellEventArgs e)
  1231. {
  1232. ultraGrid3.UpdateData();
  1233. if (e.Cell.Column.Key == "deletebol")
  1234. {
  1235. if (MessageBox.Show("确定要删除这一项目?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.No)
  1236. {
  1237. return;
  1238. }
  1239. try
  1240. {
  1241. CoreClientParam ccp = new CoreClientParam();
  1242. String seq = "";//检验项目流水号
  1243. String specimenNo = "";//取样编号
  1244. UltraGridRow row = ultraGrid3.ActiveRow;
  1245. if (!row.Cells["ITEM_FLAG"].Value.ToString().Equals("1"))
  1246. {
  1247. MessageBox.Show("不能删除系统生成的项目,只能删除人工生成的项目!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1248. return;
  1249. }
  1250. seq = row.Cells["SEQ"].Value.ToString();
  1251. specimenNo = row.Cells["SPECIMEN_NO"].Value.ToString();
  1252. ccp.ServerName = "QCM.JHY01.JHY0102.UpdateInfo";
  1253. ccp.MethodName = "deleteInfo";
  1254. ccp.ServerParams = new object[] { seq, specimenNo };
  1255. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1256. if (ccp.ReturnCode != -1)
  1257. {
  1258. MessageBox.Show(ccp.ReturnInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.None);
  1259. }
  1260. this.DoQueryPrg(this.ultraGrid1.ActiveRow);
  1261. }
  1262. catch (Exception ex)
  1263. {
  1264. System.Diagnostics.Debug.WriteLine(ex.ToString());
  1265. MessageBox.Show("系统出错,请联系管理人员", "警告");
  1266. }
  1267. }
  1268. }
  1269. #endregion
  1270. #region 勾选框触发
  1271. private void checkBox1_Click(object sender, EventArgs e)
  1272. {
  1273. if (this.checkBox1.Checked)
  1274. {
  1275. this.dateTimePicker1.Enabled = false;
  1276. this.dateTimePicker2.Enabled = false;
  1277. this.textBox1.Enabled = true;
  1278. }
  1279. else
  1280. {
  1281. if (!this.checkBox2.Checked && !this.checkBox3.Checked)
  1282. {
  1283. this.dateTimePicker1.Enabled = true;
  1284. this.dateTimePicker2.Enabled = true;
  1285. }
  1286. this.textBox1.Enabled = false;
  1287. }
  1288. }
  1289. private void checkBox2_Click(object sender, EventArgs e)
  1290. {
  1291. if (this.checkBox2.Checked)
  1292. {
  1293. this.dateTimePicker1.Enabled = false;
  1294. this.dateTimePicker2.Enabled = false;
  1295. this.selheatNo.Enabled = true;
  1296. }
  1297. else
  1298. {
  1299. if (!this.checkBox1.Checked && !this.checkBox3.Checked)
  1300. {
  1301. this.dateTimePicker1.Enabled = true;
  1302. this.dateTimePicker2.Enabled = true;
  1303. }
  1304. this.selheatNo.Enabled = false;
  1305. }
  1306. }
  1307. private void checkBox3_Click(object sender, EventArgs e)
  1308. {
  1309. if (this.checkBox3.Checked)
  1310. {
  1311. this.dateTimePicker1.Enabled = false;
  1312. this.dateTimePicker2.Enabled = false;
  1313. this.textBox3.Enabled = true;
  1314. this.textBox4.Enabled = true;
  1315. }
  1316. else
  1317. {
  1318. if (!this.checkBox1.Checked && !this.checkBox2.Checked)
  1319. {
  1320. this.dateTimePicker1.Enabled = true;
  1321. this.dateTimePicker2.Enabled = true;
  1322. }
  1323. this.textBox3.Enabled = false;
  1324. this.textBox4.Enabled = false;
  1325. }
  1326. }
  1327. #endregion
  1328. }
  1329. }