FrmRemanenceResult.cs 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. 
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Drawing;
  5. using System.Linq;
  6. using System.Net;
  7. using System.Windows.Forms;
  8. using com.steering.mes.mcp.entity;
  9. using Core.Mes.Client.Comm.Format;
  10. using Core.Mes.Client.Comm.Server;
  11. using Core.Mes.Client.Comm.Tool;
  12. using Core.StlMes.Client.Mcp.Control;
  13. using Core.StlMes.Client.Mcp.Control.Common;
  14. using Core.StlMes.Client.Mcp.Control.Entity;
  15. using Core.StlMes.Client.Mcp.Mch.MchResult;
  16. using CoreFS.CA06;
  17. using Infragistics.Win;
  18. using Infragistics.Win.UltraWinGrid;
  19. namespace Core.StlMes.Client.Mcp.Mch
  20. {
  21. public partial class FrmRemanenceResult : FrmMchBase
  22. {
  23. public FrmRemanenceResult()
  24. {
  25. InitializeComponent();
  26. mchControlBase1 = new RemanenceControl()
  27. {
  28. Dock = DockStyle.Fill
  29. };
  30. plnEdit.Controls.Add(mchControlBase1);
  31. }
  32. protected override UltraGridRow ActitveResultRow { get { return CrackDetectGrid.ActiveRow; } }
  33. protected override object Value { get { return (mchControlBase1 as RemanenceControl).Value; } }
  34. protected override void OnLoad(EventArgs e)
  35. {
  36. base.OnLoad(e);
  37. EntityHelper.ShowGridCaption<MchRemanenceResultEntity>(CrackDetectGrid.DisplayLayout.Bands[0]);
  38. base.ultraGrid1.DisplayLayout.Bands[0].Columns["ActCount"].Hidden = true;
  39. base.ultraGrid1.DisplayLayout.Bands[0].Columns["ActWeight"].Hidden = true;
  40. base.ultraGrid1.DisplayLayout.Bands[0].Columns["BatchGroudNo"].Hidden = true;
  41. CrackDetectGrid.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  42. CrackDetectGrid.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default;
  43. ultraOptionSet2.Visible = false;
  44. }
  45. protected override void DoAdd()
  46. {
  47. if (ActiveRow != null)
  48. {
  49. List<MchRemanenceResultEntity> pro = EntityHelper.GetData<MchRemanenceResultEntity>(
  50. "com.steering.mes.mcp.Mch.FrmRemanenceResult.getQueryExpandResult",
  51. new object[] { ActiveRow.HeatPlanNo, ActiveRow.BatchNo },
  52. ob);
  53. MchRemanenceResultEntity data = Value as MchRemanenceResultEntity;
  54. if (MessageUtil.ShowYesNoAndQuestion("是否增加剩磁实绩?") == DialogResult.No)
  55. return;
  56. var ccp = new CoreClientParam();
  57. ccp.ServerName = "com.steering.mes.mcp.Mch.FrmRemanenceResult";
  58. ccp.MethodName = "DoAdd";
  59. ccp.ServerParams = new object[]
  60. {
  61. JSONFormat.Format(data),
  62. Gx,
  63. (mchControlBase1 as RemanenceControl).Detail.Select(JSONFormat.Format).ToList()
  64. };
  65. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  66. if (ccp.ReturnCode != -1)
  67. {
  68. MessageUtil.ShowTips(ccp.ReturnInfo);
  69. if (ccp.ReturnInfo.Equals("新增成功!"))
  70. {
  71. Query();
  72. }
  73. }
  74. }
  75. }
  76. protected override void DoDelete()
  77. {
  78. {
  79. if (ActiveRow != null && ActitveResultRow != null)
  80. {
  81. if (MessageUtil.ShowYesNoAndQuestion("是否删除剩磁实绩?") == DialogResult.No)
  82. return;
  83. var ccp = new CoreClientParam();
  84. ccp.ServerName = "com.steering.mes.mcp.Mch.FrmRemanenceResult";
  85. ccp.MethodName = "DoDelete";
  86. ccp.ServerParams = new object[]
  87. {
  88. JSONFormat.Format(ActitveResultRow.ListObject), Gx
  89. };
  90. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  91. if (ccp.ReturnCode != -1)
  92. {
  93. MessageUtil.ShowTips(ccp.ReturnInfo);
  94. if (ccp.ReturnInfo.Equals("删除成功!"))
  95. {
  96. if (!string.IsNullOrEmpty(ActitveResultRow.Cells["ReportPath"].Value.ToString2()))
  97. {
  98. try
  99. {
  100. FileHelper.Delete(ActitveResultRow.Cells["ReportPath"].Value.ToString2());
  101. }
  102. catch (Exception)
  103. {
  104. MessageUtil.ShowTips("报告删除失败!");
  105. }
  106. }
  107. Query();
  108. }
  109. }
  110. }
  111. }
  112. }
  113. protected override void GetResultData()
  114. {
  115. base.GetResultData();
  116. mchRemanenceResultEntityBindingSource.DataSource = EntityHelper.GetData<MchRemanenceResultEntity>(
  117. "com.steering.mes.mcp.Mch.FrmRemanenceResult.getQueryExpandResult",
  118. new object[] { ActiveRow.HeatPlanNo, ActiveRow.BatchNo },
  119. ob);
  120. commHelper.RefreshAndAutoSizeExceptColumns(CrackDetectGrid, "ReportPath");
  121. if (ActiveRow == null) return;
  122. var RemanenceControl = mchControlBase1 as RemanenceControl;
  123. if (RemanenceControl == null) return;
  124. var result = new MchRemanenceResultEntity
  125. {
  126. HeatPlanNo = ActiveRow.HeatPlanNo,
  127. JudgeStoveNo = ActiveRow.JudgeStoveNo,
  128. BatchNo = ActiveRow.BatchNo,
  129. PlineCode = ActiveRow.PlineCode,
  130. PlineName = ActiveRow.PlineName,
  131. ProNum = RemanenceControl.OkPort.Count > (ActiveRow.OperateCount ?? 0) ? RemanenceControl.OkPort.Count - (ActiveRow.OperateCount ?? 0) : 0,
  132. TestRecord = 0,
  133. ProShift = UserInfo.GetUserOrder(),
  134. ProGroup = UserInfo.GetUserGroup(),
  135. ProUser = UserInfo.GetUserName(),
  136. ProTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
  137. };
  138. if (result.ProNum <= 0)
  139. {
  140. int OffNum = GetReturnNum();
  141. result.ProNum = RemanenceControl.OkPort.Count - (ActiveRow.OperateCount ?? 0) + result.ProNum + OffNum;
  142. if (result.ProNum < 0)
  143. {
  144. result.ProNum = 0;
  145. }
  146. }
  147. RemanenceControl.Value = result;
  148. }
  149. private void utUpLoad1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  150. {
  151. var entity = CrackDetectGrid.ActiveRow.ListObject as MchRemanenceResultEntity;
  152. if (entity == null) return;
  153. var strurl = "";
  154. if (e.Button.Key == "VIEW")
  155. {
  156. strurl =
  157. "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=MchRemanenceReport.cpt&op=view&resultNo=" +
  158. entity.ResultNo;
  159. var fre = new FrmRepExcel(ob, strurl);
  160. fre.AutoSize = true;
  161. fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width,
  162. Screen.PrimaryScreen.WorkingArea.Height);
  163. fre.WindowState = FormWindowState.Maximized;
  164. fre.Show();
  165. }
  166. else if (e.Button.Key == "UPLOAD")
  167. {
  168. /*strurl =
  169. "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetionPipeHeatReport.cpt&resultNo=" +
  170. resultNo;*/
  171. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=MchRemanenceReport.cpt&format=pdf&resultNo=" + entity.ResultNo;
  172. var webClient = new WebClient();
  173. var listPdf = new List<FileBean>();
  174. var date = DateTime.Now.ToString("yyyyMMdd");
  175. var filePathNew = ""; //报告目录
  176. var reportNo = ""; //报告编号
  177. filePathNew = "Mch/Remanence/" + ActiveRow.JudgeStoveNo + "/" + entity.BatchNo + "/" + entity.HeatPlanNo + "/";
  178. reportNo = entity.ResultNo;
  179. var pdf = webClient.DownloadData(strurl);
  180. var fileBean = new FileBean();
  181. fileBean.setFile(pdf);
  182. fileBean.setFileName(reportNo + ".pdf");
  183. fileBean.setPathName(filePathNew);
  184. listPdf.Add(fileBean);
  185. webClient.Dispose();
  186. var a = FileHelper.Upload(listPdf);
  187. if (a)
  188. {
  189. ServerHelper.SetData("com.steering.mes.mcp.Mch.FrmRemanenceResult.UpdatePath",
  190. new object[] { filePathNew + reportNo + ".pdf", entity.ResultNo }, ob);
  191. MessageUtil.ShowTips("上传报告成功!");
  192. Query();
  193. }
  194. }
  195. else
  196. {
  197. MessageUtil.ShowError("系统生成PDF失败,请稍后再试!");
  198. }
  199. }
  200. private void CrackDetectGrid_InitializeRow(object sender, InitializeRowEventArgs e)
  201. {
  202. var Entity = e.Row.ListObject as MchRemanenceResultEntity;
  203. e.Row.Cells["ReportPath"].Appearance.BackColor = string.IsNullOrEmpty(Entity.ReportPath)
  204. ? Color.Red
  205. : Color.LightGreen;
  206. e.Row.Cells["ReportPath"].EditorComponent = utUpLoad1;
  207. }
  208. }
  209. }