using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Net; using System.Windows.Forms; using com.steering.mes.mcp.entity; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Control; using Core.StlMes.Client.Mcp.Control.Common; using Core.StlMes.Client.Mcp.Control.Entity; using Core.StlMes.Client.Mcp.Mch.MchResult; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.Mcp.Mch { public partial class FrmRemanenceResult : FrmMchBase { public FrmRemanenceResult() { InitializeComponent(); mchControlBase1 = new RemanenceControl() { Dock = DockStyle.Fill }; plnEdit.Controls.Add(mchControlBase1); } protected override UltraGridRow ActitveResultRow { get { return CrackDetectGrid.ActiveRow; } } protected override object Value { get { return (mchControlBase1 as RemanenceControl).Value; } } protected override void OnLoad(EventArgs e) { base.OnLoad(e); EntityHelper.ShowGridCaption(CrackDetectGrid.DisplayLayout.Bands[0]); base.ultraGrid1.DisplayLayout.Bands[0].Columns["ActCount"].Hidden = true; base.ultraGrid1.DisplayLayout.Bands[0].Columns["ActWeight"].Hidden = true; base.ultraGrid1.DisplayLayout.Bands[0].Columns["BatchGroudNo"].Hidden = true; CrackDetectGrid.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; CrackDetectGrid.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default; ultraOptionSet2.Visible = false; } protected override void DoAdd() { if (ActiveRow != null) { List pro = EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmRemanenceResult.getQueryExpandResult", new object[] { ActiveRow.HeatPlanNo, ActiveRow.BatchNo }, ob); MchRemanenceResultEntity data = Value as MchRemanenceResultEntity; if (MessageUtil.ShowYesNoAndQuestion("是否增加剩磁实绩?") == DialogResult.No) return; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmRemanenceResult"; ccp.MethodName = "DoAdd"; ccp.ServerParams = new object[] { JSONFormat.Format(data), Gx, (mchControlBase1 as RemanenceControl).Detail.Select(JSONFormat.Format).ToList() }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("新增成功!")) { Query(); } } } } protected override void DoDelete() { { if (ActiveRow != null && ActitveResultRow != null) { if (MessageUtil.ShowYesNoAndQuestion("是否删除剩磁实绩?") == DialogResult.No) return; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmRemanenceResult"; ccp.MethodName = "DoDelete"; ccp.ServerParams = new object[] { JSONFormat.Format(ActitveResultRow.ListObject), Gx }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("删除成功!")) { if (!string.IsNullOrEmpty(ActitveResultRow.Cells["ReportPath"].Value.ToString2())) { try { FileHelper.Delete(ActitveResultRow.Cells["ReportPath"].Value.ToString2()); } catch (Exception) { MessageUtil.ShowTips("报告删除失败!"); } } Query(); } } } } } protected override void GetResultData() { base.GetResultData(); mchRemanenceResultEntityBindingSource.DataSource = EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmRemanenceResult.getQueryExpandResult", new object[] { ActiveRow.HeatPlanNo, ActiveRow.BatchNo }, ob); commHelper.RefreshAndAutoSizeExceptColumns(CrackDetectGrid, "ReportPath"); if (ActiveRow == null) return; var RemanenceControl = mchControlBase1 as RemanenceControl; if (RemanenceControl == null) return; var result = new MchRemanenceResultEntity { HeatPlanNo = ActiveRow.HeatPlanNo, JudgeStoveNo = ActiveRow.JudgeStoveNo, BatchNo = ActiveRow.BatchNo, PlineCode = ActiveRow.PlineCode, PlineName = ActiveRow.PlineName, ProNum = RemanenceControl.OkPort.Count > (ActiveRow.OperateCount ?? 0) ? RemanenceControl.OkPort.Count - (ActiveRow.OperateCount ?? 0) : 0, TestRecord = 0, ProShift = UserInfo.GetUserOrder(), ProGroup = UserInfo.GetUserGroup(), ProUser = UserInfo.GetUserName(), ProTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }; if (result.ProNum <= 0) { int OffNum = GetReturnNum(); result.ProNum = RemanenceControl.OkPort.Count - (ActiveRow.OperateCount ?? 0) + result.ProNum + OffNum; if (result.ProNum < 0) { result.ProNum = 0; } } RemanenceControl.Value = result; } private void utUpLoad1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { var entity = CrackDetectGrid.ActiveRow.ListObject as MchRemanenceResultEntity; if (entity == null) return; var strurl = ""; if (e.Button.Key == "VIEW") { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=MchRemanenceReport.cpt&op=view&resultNo=" + entity.ResultNo; var fre = new FrmRepExcel(ob, strurl); fre.AutoSize = true; fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fre.WindowState = FormWindowState.Maximized; fre.Show(); } else if (e.Button.Key == "UPLOAD") { /*strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetionPipeHeatReport.cpt&resultNo=" + resultNo;*/ strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=MchRemanenceReport.cpt&format=pdf&resultNo=" + entity.ResultNo; var webClient = new WebClient(); var listPdf = new List(); var date = DateTime.Now.ToString("yyyyMMdd"); var filePathNew = ""; //报告目录 var reportNo = ""; //报告编号 filePathNew = "Mch/Remanence/" + ActiveRow.JudgeStoveNo + "/" + entity.BatchNo + "/" + entity.HeatPlanNo + "/"; reportNo = entity.ResultNo; var pdf = webClient.DownloadData(strurl); var fileBean = new FileBean(); fileBean.setFile(pdf); fileBean.setFileName(reportNo + ".pdf"); fileBean.setPathName(filePathNew); listPdf.Add(fileBean); webClient.Dispose(); var a = FileHelper.Upload(listPdf); if (a) { ServerHelper.SetData("com.steering.mes.mcp.Mch.FrmRemanenceResult.UpdatePath", new object[] { filePathNew + reportNo + ".pdf", entity.ResultNo }, ob); MessageUtil.ShowTips("上传报告成功!"); Query(); } } else { MessageUtil.ShowError("系统生成PDF失败,请稍后再试!"); } } private void CrackDetectGrid_InitializeRow(object sender, InitializeRowEventArgs e) { var Entity = e.Row.ListObject as MchRemanenceResultEntity; e.Row.Cells["ReportPath"].Appearance.BackColor = string.IsNullOrEmpty(Entity.ReportPath) ? Color.Red : Color.LightGreen; e.Row.Cells["ReportPath"].EditorComponent = utUpLoad1; } } }