using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Tool; using com.steering.mes.mcp.entity; using Core.StlMes.Client.Mcp.Control.Entity; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; using System.Net; namespace Core.StlMes.Client.Mcp.Control.Common { public partial class CommonCrackParaUpdate : FrmBase { public CommonCrackParaUpdate(string resultNo, OpeBase _ob) { InitializeComponent(); this.ob = _ob; List result = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getResultData", new object[] { resultNo }, ob); httCrackDetectionEtEntityBindingSource.DataSource = result; if(result==null || !result.Any()) return; List list = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmReportDefault.Query", new object[] { result[0].PlineCode, result[0].ReportNo, result[0].MachineNo},ob); List paras = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getResultParaData", new object[] { resultNo }, ob); List listProbe = new List(); List listStand = new List(); if (paras!=null && paras.Any() && !string.IsNullOrWhiteSpace(paras[0].ProbeId)) { listProbe = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getResultProbeData", new object[] { paras[0].ProbeId }, ob); } if (paras != null && paras.Any() && !string.IsNullOrWhiteSpace(paras[0].StandardId)) { listStand = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getResultStandData", new object[] { paras[0].StandardId }, ob); } paras[0].ProbeName = listProbe.Any() ? listProbe.Select(p => p.ProbeTypeName) .Aggregate((a, b) => a + (a == "" ? "" : ",") + b) : ""; paras[0].StandardName= listStand.Any() ? listStand.Select(p => p.StandardName).Aggregate((a, b) => a + (a == "" ? "" : ",") + b) : ""; commonCrackPara1.Ob= ob; commonCrackPara1.SetData(paras,listProbe,listStand, result[0].PlineCode, list); } protected override void OnLoad(EventArgs e) { var dt = ServerHelper.GetData( "com.steering.mes.mcp.collarMaterial.ComBaseInfo.getBaseInfo", new object[] { "7039" }, ob); List vlist = new List(); foreach (DataRow row in dt.Rows) { vlist.Add(row["BASENAME"].ToString()); } comWorkUnit.DataSource = vlist; comWorkUnit.DataBind(); base.OnLoad(e); ugHead.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; ugHead.DisplayLayout.Bands[0].Override.HeaderClickAction = HeaderClickAction.Select; EntityHelper.ShowGridCaption(ugHead.DisplayLayout.Bands[0]); commonCrackPara1.DisableFiltering(); } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "Save": ugHead.UpdateData(); HttCrackDetectionEtEntity data = (httCrackDetectionEtEntityBindingSource.DataSource as List)[0]; HttCrackDetectionParaEntity para = commonCrackPara1.list[0]; List listProbe = commonCrackPara1.listProbe; List listStand = commonCrackPara1.listStand; if (!string.IsNullOrWhiteSpace(para.StandardDefect) || !string.IsNullOrWhiteSpace(para.StandardLam) || !string.IsNullOrWhiteSpace(para.StandardOblique) || !string.IsNullOrWhiteSpace(para.StandardWall)) { listStand = new List(); if (para.StandardDefect != "" && para.StandardDefect != "/") { listStand.Add(new HttCrackDetectionStandardEntity() { StandardName = para.StandardDefect }); } if (para.StandardLam != "" && para.StandardLam != "/") { listStand.Add(new HttCrackDetectionStandardEntity() { StandardName = para.StandardLam }); } if (para.StandardOblique != "" && para.StandardOblique != "/") { listStand.Add(new HttCrackDetectionStandardEntity() { StandardName = para.StandardOblique }); } if (para.StandardWall != "" && para.StandardWall != "/") { listStand.Add(new HttCrackDetectionStandardEntity() { StandardName = para.StandardWall }); } } try { para.SupervisorLevel = para.SupervisorLevel.Trim(); para.Supervisor = para.Supervisor.Trim(); string sortcode = ""; bool supervisor = false; var dt1 = ServerHelper.GetData( "com.steering.mes.mcp.collarMaterial.ComBaseInfo.getBaseInfo", new object[] { "704101" }, ob); if (dt1 != null && dt1.Rows.Count > 0) { foreach (DataRow row in dt1.Rows) { if (row["BASENAME"].ToString() == para.ReportNo.ToString()) { sortcode = row["BASECODE"].ToString(); break; } } } var dt2 = ServerHelper.GetData( "com.steering.mes.mcp.collarMaterial.ComBaseInfo.getBaseInfo", new object[] { sortcode }, ob); if (dt2 != null && dt2.Rows.Count > 0) { foreach (DataRow row in dt2.Rows) { if ((row["BASENAME"].ToString().Trim().ToUpper()) == data.PlineCode.ToString().Trim().ToUpper()) { supervisor = true; break; } } } if (supervisor) { string type = para.ReportNo.ToString().Trim(); if (type == "0" || type == "15" || type == "10" || type == "1") { #region 探伤监督者管控 if (!(para.SignatoryLevel.Trim() == "UT-2" || para.SignatoryLevel.Trim() == "UT-3")) { MessageBox.Show("签发等级只能为UT-2,UT-3!"); return; } if (!(para.OperatorLevel.Trim() == "UT-2" || para.OperatorLevel.Trim() == "UT-1")) { MessageBox.Show("操作者等级只能是UT-2,UT-1!"); return; } if (!(para.SupervisorLevel.Trim() == "UT-2" || para.SupervisorLevel.Trim().Length == 0 || para.SupervisorLevel.Trim() == "UT-3" || para.SupervisorLevel.Trim() == "/")) { MessageBox.Show("监督者等级只能是UT-2,UT-3!"); return; } if (para.SignatoryLevel.Trim() == "UT-1") { MessageBox.Show("签发等级不能为UT-1"); return; } if (para.Signatory.Trim() == "") { MessageBox.Show("签发者不能为空"); return; } if (para.OperatorLevel == "UT-1") { if (!(para.SupervisorLevel.Trim() == "UT-2")) { MessageBox.Show("操作者等级为UT-1, 监督者等级必须为UT-2"); return; } if (para.Supervisor.Trim() == "") { MessageBox.Show("操作者等级为UT-1,监督者不能为空"); return; } } if (para.OperatorLevel == "UT-2") { if ((para.SupervisorLevel.Trim() != "" || para.Supervisor.Trim() != "")) { MessageBox.Show("操作者等级为UT-2,监督者和监督者等级必须为空"); return; } } #endregion } if (type == "12" || type == "11") //MT 和UT 可以用Replace替换,合成一个方法, { #region 磁粉监督者管控 if (!(para.SignatoryLevel.Trim() == "MT-2" || para.SignatoryLevel.Trim() == "MT-3")) { MessageBox.Show("签发等级只能为MT-2,MT-3!"); return; } if (!(para.OperatorLevel.Trim() == "MT-2" || para.OperatorLevel.Trim() == "MT-1")) { MessageBox.Show("操作者等级只能是MT-2,MT-1!"); return; } if (!(para.SupervisorLevel.Trim() == "MT-2" || para.SupervisorLevel.Trim().Length == 0 || para.SupervisorLevel.Trim() == "MT-3" || para.SupervisorLevel.Trim() == "/")) { MessageBox.Show("监督者等级只能是MT-2,MT-3!"); return; } if (para.SignatoryLevel.Trim() == "MT-1") { MessageBox.Show("签发等级不能为MT-1"); return; } if (para.Signatory.Trim() == "") { MessageBox.Show("签发者不能为空"); return; } if (para.OperatorLevel == "MT-1") { if (!(para.SupervisorLevel.Trim() == "MT-2")) { MessageBox.Show("操作者等级为UT-1, 监督者等级必须为MT-2"); return; } if (para.Supervisor.Trim() == "") { MessageBox.Show("操作者等级为MT-1,监督者不能为空"); return; } } if (para.OperatorLevel == "MT-2") { if ((para.SupervisorLevel.Trim() != "" || para.Supervisor.Trim() != "")) { MessageBox.Show("操作者等级为MT-2,监督者和监督者等级必须为空"); return; } } #endregion } } } catch { } data.TestingGrade = string.IsNullOrWhiteSpace(para.AccpetanceLevel) || para.AccpetanceLevel == "/" ? para.LongitudinalExternal : para.AccpetanceLevel; data.TestingStandard = listStand.Any() ? listStand.Select(p => p.StandardName).Aggregate((a, b) => a + (a == "" ? "" : ",") + b) : ""; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult"; ccp.MethodName = "updatePara"; ccp.ServerParams = new object[] { JSONFormat.Format(data), JSONFormat.Format(para), listProbe.Select(JSONFormat.Format).ToList(), listStand.Select(JSONFormat.Format).ToList() }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("保存成功!")) { if (para.ReportPath != "") { var ReportInfo = EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmCrackDetectResult.GetReportCptName", new object[] { data.PlineCode, data.ReportNo, data.MachineNo }, ob); if (ReportInfo != null && ReportInfo.Any() && ReportInfo[0].ReportCpt != "") { string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=" + ReportInfo[0].ReportCpt + "&format=pdf&resultNo=" + data.ResultNo; var webClient = new WebClient(); var listPdf = new List(); var date = DateTime.Now.ToString("yyyyMMdd"); var pdf = webClient.DownloadData(strurl); var fileBean = new FileBean(); fileBean.setFile(pdf); fileBean.setFileName(para.ReportPath.Substring(para.ReportPath.LastIndexOf("/") + 1, para.ReportPath.Length - para.ReportPath.LastIndexOf("/") - 1)); fileBean.setPathName(para.ReportPath.Substring(0,para.ReportPath.LastIndexOf("/") + 1)); listPdf.Add(fileBean); webClient.Dispose(); var a = FileHelper.Upload(listPdf); } } this.DialogResult = DialogResult.OK; } } break; case "Close": this.DialogResult = DialogResult.Cancel; break; } } } }