using System; using System.Collections; using System.Collections.Generic; using System.Data; 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.Common; using Core.StlMes.Client.Mcp.Control.Entity; using Core.StlMes.Client.Mcp.Treatment.HeatTreatment; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.Mcp.Treatment { public partial class FrmCrackDetectResult : FrmHttBase { private string plineCode = ""; private string[] plineCodes; private int ProcessSeq = 1; private DataTable dtStand = null; public FrmCrackDetectResult() { InitializeComponent(); ShowMain = true; } private string SlGx { get { return "600209"; } } protected override void OnLoad(EventArgs e) { base.OnLoad(e); EntityHelper.ShowGridCaption(CrackDetectGrid.DisplayLayout.Bands[0]); comm.RefreshAndAutoSize(CrackDetectGrid); comm.setOtherColumnReadOnly(CrackDetectGrid, new string[] {}); CrackDetectGrid.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; CrackDetectGrid.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default; commonCrackDetection1.Init(ob, GetMatNo); commonCrackDetection1.ChangeData += SetCrackValue; } public List GetMatNo() { return portHttBatchControl1.toltal.Where(p => p.PhyBatchNo == commonCrackDetection1.ActiveBatchNo()).SelectMany(p=>p.PortHttBatchSampleResultEntitys).Select( p=>new PortMchBatchSampleResultEntityWithCheck() { MatNo = p.MatNo, BarCode = p.BarCode, MatStatus = p.MatStatus, IsSamplePipe = p.IsSamplePipe, InstoreFlag = p.InstoreFlag, ActCount = p.ActCount, ActWeight = p.ActWeight }).ToList(); } private void FrmCrackDetectResult_Load(object sender, EventArgs e) { plineCodes = comm.GetPlineCode(ValidDataPurviewIds, "F", ob); //获取工序 portHttBatchControl1.ob = ob; Gx = SlGx; portHttBatchControl1.SetOfflineCode(new[] {SlGx}); } public override void ToolBar_Click(object sender, string ToolbarKey) { //base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "DoQuery": QuerySinglePlan(); break; case "DoLoading": DoSave(); break; case "DoSaveAll": DoSave(true); break; case "DoReturn": DoReturn(); break; case "DoUpdate": //DoUpdate(); break; case "DoBeside": DoBeside(); break; case "CelBeside": DoCelBeside(); break; case "DoClose": Close(); break; case "doBesideQuery": // DoBesideQuery(); break; case "doQueryOffice": // DoQueryOffice(); break; case "doPrint": // DoTransferPrint(); break; } } private void DoCelBeside() { if (ActiveRow == null) return; var list = new ArrayList(); list.Add(ActiveRow.HeatPlanNo); list.Add(ActiveRow.PlineCode); list.Add(SlGx); if (MessageUtil.ShowYesNoAndQuestion("是否撤销结炉?") == DialogResult.No) return; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult"; ccp.MethodName = "undoBeside"; ccp.ServerParams = new object[] {list}; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("撤销结炉成功!")) QuerySinglePlan(); } } /// /// 工序结炉 /// private void DoBeside() { if (ActiveRow == null) { MessageUtil.ShowTips("请选择需要结炉的炉计划!"); return; } var list = new ArrayList(); list.Add(ActiveRow.HeatPlanNo); list.Add(ActiveRow.PlineCode); list.Add(SlGx); if (MessageUtil.ShowYesNoAndQuestion("是否结炉?") == DialogResult.No) return; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult"; ccp.MethodName = "updateDoBeside"; ccp.ServerParams = new object[] {list}; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("结炉成功!")) QuerySinglePlan(); } } /// /// 简单查询 /// private void QuerySinglePlan() { Query(plineCodes); } /// /// 根据计划号查询探伤实绩 /// /// public void GetHttCrackDetectionEtEntity(string heatNo) { List list1 = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getQueryCrackDetection", new object[] {heatNo}, ob); httCrackDetectionEtEntityBindingSource.DataSource = list1; comm.RefreshAndAutoSize(CrackDetectGrid); ; } public static decimal GetWeight(List PortData, string gx, int NUM, int Count1) { if ((PortData == null) || !PortData.Any()) return 0; var OkList = PortData.Where( p => (p.MatStatus == "00") || (p.MatStatus == "合格") || (string.CompareOrdinal(p.OpProcess, gx) >= 0)).ToList(); if (!OkList.Any()) return 0; var AllWeight = (decimal) OkList.Sum(p => p.ActWeight); var Weight1 = (decimal) (NUM%OkList.Count > OkList.Count - Count1%OkList.Count ? OkList.Skip(Count1%OkList.Count).Take(OkList.Count - Count1%OkList.Count).Sum(p => p.ActWeight) + OkList.Take(NUM%OkList.Count - (OkList.Count - Count1%OkList.Count)) .Sum(p => p.ActWeight) : OkList.Skip(Count1%OkList.Count).Take(NUM%OkList.Count).Sum(p => p.ActWeight)); return AllWeight*(NUM/OkList.Count) + Weight1; } /// /// 探伤实绩保存 /// private void DoSave(bool All = false) { if (ActiveRow != null) { var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult"; ccp.MethodName = "saveCrackDetection"; var Entity = commonCrackDetection1.GetValue(); Entity.TestingWt= GetWeight( portHttBatchControl1.toltal.Where(p => p.PhyBatchNo == Entity.BatchNo) .SelectMany(p => p.PortHttBatchSampleResultEntitys) .ToList(), Gx, int.Parse(Entity.TestingNum.ToString3()), int.Parse(ActiveRow.ProCount.ToString3())); if (!All) { if (MessageUtil.ShowYesNoAndQuestion("是否增加探伤实绩?") == DialogResult.No) return; var Message = ""; if (!commonCrackDetection1.CheckNull(out Message)) { MessageBox.Show(Message); return; } var para= commonCrackDetection1.GetPara(); try { 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()) == Entity.PlineCode.ToString().Trim().ToUpper()) { supervisor = true; break; } } } if (supervisor) { 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; } } } } catch { } var stand = commonCrackDetection1.GetStand(); ccp.ServerParams = new object[] { JSONFormat.Format(Entity), commonCrackDetection1.GetScrapListHtt().Select(JSONFormat.Format).ToList(), commonCrackDetection1.GetSuspiciousListHtt().Select(JSONFormat.Format).ToList(), commonCrackDetection1.GetUnPassListHtt().Select(JSONFormat.Format).ToList(), JSONFormat.Format(commonCrackDetection1.GetPara()), commonCrackDetection1.GetProbe().Select(JSONFormat.Format).ToList(), stand.Select(JSONFormat.Format).ToList(), Gx }; } else { if ((Entity.EwasteNumEt > 0) || (Entity.EwasteNum > 0) || (Entity.RejectNum > 0)) { MessageBox.Show("存在废品,不允许批量增加!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否增加探伤实绩?") == DialogResult.No) return; var Message = ""; if (!commonCrackDetection1.CheckNull(out Message)) { MessageBox.Show(Message); return; } var stand = commonCrackDetection1.GetStand(); ccp.ServerParams = new object[] { portHttBatchControl1.toltal.Select(p => { var data = Entity.Clone(); data.BatchNo = p.PhyBatchNo; return JSONFormat.Format(data); }).ToList(), commonCrackDetection1.GetScrapListHtt().Select(JSONFormat.Format).ToList(), commonCrackDetection1.GetSuspiciousListHtt().Select(JSONFormat.Format).ToList(), commonCrackDetection1.GetUnPassListHtt().Select(JSONFormat.Format).ToList(), JSONFormat.Format(commonCrackDetection1.GetPara()), commonCrackDetection1.GetProbe().Select(JSONFormat.Format).ToList(), stand.Select(JSONFormat.Format).ToList(), Gx }; } ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("新增探伤成功!")) QuerySinglePlan(); } } } /// /// 撤销探伤 /// private void DoReturn() { var code = ""; var code1 = ""; var code2 = ""; if (ActiveRow == null) return; var siz = CrackDetectGrid.ActiveRow; if (siz == null) { if (CrackDetectGrid.Rows.Count <= 0) return; siz = CrackDetectGrid.Rows[0]; } if (siz == null) return; var HttCrackDetectionEtEntity = siz.ListObject as HttCrackDetectionEtEntity; if (HttCrackDetectionEtEntity == null) return; code2 = siz.Cells["ResultNo"].Value.ToString(); var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult"; ccp.MethodName = "deleteHttCrackResult"; ccp.ServerParams = new object[] { ActiveRow.HeatPlanNo, code2, SlGx }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("删除探伤成功!")) { if (!string.IsNullOrEmpty(HttCrackDetectionEtEntity.ReportFull)) try { FileHelper.Delete(HttCrackDetectionEtEntity.ReportFull); } catch (Exception) { MessageUtil.ShowTips("管体机探报告(UT)删除失败!"); } if (!string.IsNullOrEmpty(HttCrackDetectionEtEntity.ReportManualFull)) try { FileHelper.Delete(HttCrackDetectionEtEntity.ReportManualFull); } catch (Exception) { MessageUtil.ShowTips("手探报告(UT)删除失败!"); } if (!string.IsNullOrEmpty(HttCrackDetectionEtEntity.ReportEtFull)) try { FileHelper.Delete(HttCrackDetectionEtEntity.ReportEtFull); } catch (Exception) { MessageUtil.ShowTips("涡流探伤(ET)报告删除失败!"); } QuerySinglePlan(); } } } /// /// 修改 /// private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { if (ActiveRow != null) { plineCode = ActiveRow.PlineCode; ProcessSeq = (int) (ActiveRow.RealProcessSeq ?? 1); GetHttCrackDetectionEtEntity(ActiveRow.HeatPlanNo); portHttBatchControl1.Query(ActiveRow.HeatPlanNo, ActiveRow.PlineCode, ProcessSeq, ActiveRow.GowhereCode); List list = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getQueryCrackDetection", new object[] {ActiveRow.HeatPlanNo}, ob); httCrackDetectionEtEntityBindingSource.DataSource = list; commHelper.RefreshAndAutoSizeExceptColumns(CrackDetectGrid, "Report"); var result = new HttCrackDetectionEtEntity { HeatPlanNo = ActiveRow.HeatPlanNo, JudgeStoveNo = ActiveRow.JudgeStoveNo, PlineCode = ActiveRow.PlineCode, PlineName = ActiveRow.PlineName, EwasteNum = 0, EwasteReason = "/", FtestingReason = "/", DubiousNum = 0, TotalFailLen = 0, FtestingNum = 0, ManualFtestingNum = 0, RejectNum = 0, RejectedNum = 0, FpassNum = 0, EwasteNumEt = 0, DubiousNumEt = 0, FtestingNumEt = 0, PassNumEt = 0, FpassNumEt = 0, ManualPassNum = 0, FinalNum = 0, PendingNum = 0, ColShift = UserInfo.GetUserOrder(), ColGroup = UserInfo.GetUserGroup(), ColUser = UserInfo.GetUserName(), ColTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), ColEndTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), ProcessSeq = ProcessSeq, ProcessCode = "F", MachineNo =ActiveRow.PlineCode=="C092"|| ActiveRow.PlineCode=="C091"?"2": "1" }; var NotchInfo = ServerHelper.GetData("com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.QueryNotchInfo", new object[] {ActiveRow.OrderNoSeq}, ob); if (NotchInfo.Rows.Count > 0) { result.NotchLength = NotchInfo.Rows[0]["NOTCH_LENGTH"].ToString2(); result.NotchDepth = NotchInfo.Rows[0]["NOTCH_DEPTH"].ToString2(); result.NotchWidth = NotchInfo.Rows[0]["NOTCH_WIDTH"].ToString2(); } //setBatchNo commonCrackDetection1.SetBatchNo(portHttBatchControl1.toltal.Select(p => p.PhyBatchNo).ToList()); dtStand = ServerHelper.GetData("com.steering.mes.mcp.heatTreatment.FrmHttCrackDetectResult.getCrackStand", new object[] { ActiveRow.OrdLnDlyPk, ActiveRow.CraftSeq.ToString2(), ActiveRow.Dic, ActiveRow.Sic, ActiveRow.IndexSeq, "G" }, ob); commonCrackDetection1.DefaultCraftInfo(dtStand); SetCrackValue(result,true); } } private void CrackDetectGrid_InitializeRow(object sender, InitializeRowEventArgs e) { var HttCrackDetectionEtEntity = e.Row.ListObject as HttCrackDetectionEtEntity; e.Row.Cells["Report"].Appearance.BackColor = string.IsNullOrEmpty(HttCrackDetectionEtEntity.Report) ? Color.Red : Color.LightGreen; e.Row.Cells["Report"].EditorComponent = utUpLoad1; } private void utUpLoad1_EditorButtonClick(object sender, EditorButtonEventArgs e) { var entity = CrackDetectGrid.ActiveRow.ListObject as HttCrackDetectionEtEntity; if (entity.ReportNo == "c") { MessageBox.Show("通用探伤回报无法查看或上传报告"); return; } var ReportInfo = EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmCrackDetectResult.GetReportCptName", new object[] {entity.PlineCode, entity.ReportNo, entity.MachineNo}, ob); if ((ReportInfo == null) || (ReportInfo.Count != 1)) { MessageBox.Show("未维护报表编号信息"); return; } if (string.IsNullOrEmpty(ReportInfo[0].ReportCpt)) { MessageBox.Show("找不到报表模板信息"); return; } if (entity == null) return; if( (entity.PlineCode != "C027")&&(!entity.PlineName.Contains("天淮"))) { if (CheckCraft(ReportInfo[0].ReportType, entity.ResultNo) == 0)//添加判断是否有工艺信息 return; } var strurl = ""; if (e.Button.Key == "VIEW") { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=" + ReportInfo[0].ReportCpt + "&op=view&resultNo=" + entity.ResultNo + "&machineNo=" + entity.MachineNo; 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://172.54.10.42:8080/webroot/decision/view/report?viewlet=" + ReportInfo[0].ReportCpt + "&format=pdf&resultNo=" + entity.ResultNo; var webClient = new WebClient(); var listPdf = new List(); var date = DateTime.Now.ToString("yyyyMMdd"); var filePathNew = ""; //报告目录 var reportNo = ""; //报告编号 filePathNew = "Htt/CrackDetect/" + 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.FrmCrackDetectResult.UpdatePath", new object[] {filePathNew + reportNo + ".pdf", entity.ResultNo}, ob); MessageUtil.ShowTips("上传报告成功!"); GetHttCrackDetectionEtEntity(ActiveRow.HeatPlanNo); } } else { MessageUtil.ShowError("系统生成PDF失败,请稍后再试!"); } } /* private void utUpLoad1_EditorButtonClick(object sender, EditorButtonEventArgs e) { var entity = DetectGrid.ActiveRow.ListObject as HttCrackDetectionEtEntity; if (entity == null) return; if (e.Button.Key == "VIEW") { var strurl = ""; if (plineCode.Equals("C022") || plineCode.Equals("C023") || plineCode.Equals("C024") || plineCode.Equals("C025")) // /* strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetion1234HeatReport.cpt&resultNo=" + entity.ResultNo;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion1234HeatReport.cpt&op=view&resultNo=" + entity.ResultNo; else if (plineCode.Equals("C026")) /* strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetion5HeatReport.cpt&resultNo=" + entity.ResultNo;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion5HeatReport.cpt&op=view&resultNo=" + entity.ResultNo; else if (plineCode.Equals("C054")) /* strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetion6HeatReport.cpt&resultNo=" + entity.ResultNo;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion6HeatReport.cpt&op=view&resultNo=" + entity.ResultNo; else if (plineCode.Equals("C055")) /* strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetion7HeatReport.cpt&resultNo=" + entity.ResultNo;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion7HeatReport.cpt&op=view&resultNo=" + entity.ResultNo; else if (plineCode.Equals("C048")) /* strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetion8HeatReport.cpt&resultNo=" + entity.ResultNo;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion8HeatReport.cpt&op=view&resultNo=" + entity.ResultNo; else if (plineCode.Equals("C049") || plineCode.Equals("C050")) /* strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetionyuan1HeatReport.cpt&resultNo=" + entity.ResultNo;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetionyuan1HeatReport.cpt&op=view&resultNo=" + entity.ResultNo; else if (plineCode.Equals("C015") || plineCode.Equals("C074")) { if (entity.MachineNo == "1") { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion1ChaoReport.cpt&op=view&resultNo=" + entity.ResultNo + "&machineNo=" + entity.MachineNo; }else if (entity.MachineNo == "2") { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion2ChaoReport.cpt&op=view&resultNo=" + entity.ResultNo + "&machineNo=" + entity.MachineNo; } else { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion3ChaoReport.cpt&op=view&resultNo=" + entity.ResultNo + "&machineNo=" + entity.MachineNo; } } else { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion1234HeatReport.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") { var strurl = ""; if (plineCode.Equals("C022") || plineCode.Equals("C023") || plineCode.Equals("C024") || plineCode.Equals("C025")) // /* strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetion1234HeatReport.cpt&resultNo=" + entity.ResultNo;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion1234HeatReport.cpt&format=pdf&resultNo=" + entity.ResultNo; else if (plineCode.Equals("C026")) /* strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetion5HeatReport.cpt&resultNo=" + entity.ResultNo;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion5HeatReport.cpt&format=pdf&resultNo=" + entity.ResultNo; else if (plineCode.Equals("C054")) /* strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetion6HeatReport.cpt&resultNo=" + entity.ResultNo;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion6HeatReport.cpt&format=pdf&resultNo=" + entity.ResultNo; else if (plineCode.Equals("C055")) /* strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetion7HeatReport.cpt&resultNo=" + entity.ResultNo;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion7HeatReport.cpt&format=pdf&resultNo=" + entity.ResultNo; else if (plineCode.Equals("C048")) /* strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetion8HeatReport.cpt&resultNo=" + entity.ResultNo;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion8HeatReport.cpt&format=pdf&resultNo=" + entity.ResultNo; else if (plineCode.Equals("C049") || plineCode.Equals("C050")) /* strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetionyuan1HeatReport.cpt&resultNo=" + entity.ResultNo;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetionyuan1HeatReport.cpt&format=pdf&resultNo=" + entity.ResultNo; else if (plineCode.Equals("C015") || plineCode.Equals("C074")) { if (entity.MachineNo == "1") { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion1ChaoReport.cpt&format=pdf&resultNo=" + entity.ResultNo + "&machineNo=" + entity.MachineNo; } else if (entity.MachineNo == "2") { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion2ChaoReport.cpt&format=pdf&resultNo=" + entity.ResultNo + "&machineNo=" + entity.MachineNo; } else { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion3ChaoReport.cpt&format=pdf&resultNo=" + entity.ResultNo + "&machineNo=" + entity.MachineNo; } } else { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetion1234HeatReport.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 = "Htt/CrackDetect/" + ActiveRow.JudgeStoveNo + "/" + entity.BatchNo + "/" +entity.HeatPlanNo + "/"; reportNo = entity.ResultNo + "_0"; 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.heatTreatment.FrmHttCrackDetectResult.UpdateReportUrl", new object[] { entity.ResultNo, "0", filePathNew + reportNo + ".pdf" }, ob); MessageUtil.ShowTips("上传报告成功!"); GetHttCrackDetectionEtEntity(ActiveRow.HeatPlanNo); } } else { MessageUtil.ShowError("系统生成PDF失败,请稍后再试!"); } } private void utUpLoad2_EditorButtonClick(object sender, EditorButtonEventArgs e) { var entity = DetectGrid.ActiveRow.ListObject as HttCrackDetectionEtEntity; if (entity == null) return; var strurl = ""; if (e.Button.Key == "VIEW") { /*strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=HttRotaCrackDetetionPipeHeatReport.cpt&resultNo=" + resultNo;#1# if (entity.PlineCode == "C015" || entity.PlineCode == "C074") { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetionPipeHeatReportData.cpt&op=view&resultNo=" + entity.ResultNo; } else { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetionPipeHeatReport.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;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetionPipeHeatReport.cpt&format=pdf&resultNo=" + entity.ResultNo; if (entity.PlineCode == "C015" || entity.PlineCode == "C074") { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetionPipeHeatReportData.cpt&format=pdf&resultNo=" + entity.ResultNo; } else { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetionPipeHeatReport.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 = "Htt/CrackDetect/" + ActiveRow.JudgeStoveNo + "/" + entity.BatchNo + "/" + entity.HeatPlanNo + "/"; reportNo = entity.ResultNo + "_1"; 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.heatTreatment.FrmHttCrackDetectResult.UpdateReportUrl", new object[] { entity.ResultNo, "1", filePathNew + reportNo+ ".pdf" }, ob); MessageUtil.ShowTips("上传报告成功!"); GetHttCrackDetectionEtEntity(ActiveRow.HeatPlanNo); } } else { MessageUtil.ShowError("系统生成PDF失败,请稍后再试!"); } } private void uteReportEt_EditorButtonClick(object sender, EditorButtonEventArgs e) { var entity = DetectGrid.ActiveRow.ListObject as HttCrackDetectionEtEntity; if (entity == null) return; var strurl = ""; if (e.Button.Key == "VIEW") { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetionWeiHeatReport.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;#1# strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttRotaCrackDetetionWeiHeatReport.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 = "Htt/CrackDetect/" + ActiveRow.JudgeStoveNo + "/" + entity.BatchNo + "/" + entity.HeatPlanNo + "/"; reportNo = entity.ResultNo + "_4"; 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.heatTreatment.FrmHttCrackDetectResult.UpdateReportUrl", new object[] { entity.ResultNo, "4", filePathNew + reportNo + ".pdf" }, ob); MessageUtil.ShowTips("上传报告成功!"); GetHttCrackDetectionEtEntity(ActiveRow.HeatPlanNo); } } else { MessageUtil.ShowError("系统生成PDF失败,请稍后再试!"); } }*/ private void SetCrackValue(HttCrackDetectionEtEntity result) { SetCrackValue(result, false); } private int CheckCraft( string type,string result)//这个是验证是否有工艺信息的 { if (type == "0")//0是管体机探 { var dt = ServerHelper.GetData( "com.steering.mes.mcp.Mch.FrmCrackDetectResult.CheckCraftRCL0", new object[] { result }, ob); if (dt.Rows.Count < 1) { MessageBox.Show("找不到有效工艺信息,请获取工艺信息!"); return 0; } } if (type == "1")//1管端手探 { var dt = ServerHelper.GetData( "com.steering.mes.mcp.Mch.FrmCrackDetectResult.CheckCraftRCL1", new object[] { result }, ob); if (dt.Rows.Count < 1) { MessageBox.Show("找不到有效工艺信息,请获取工艺信息!"); return 0; } } if (type == "15")//15管体超声手探 { var dt = ServerHelper.GetData( "com.steering.mes.mcp.Mch.FrmCrackDetectResult.CheckCraftRCL15", new object[] { result }, ob); if (dt.Rows.Count < 1) { MessageBox.Show("找不到有效工艺信息,请获取工艺信息"); return 0; } } return 1; } private void SetCrackValue(HttCrackDetectionEtEntity result,bool TurnNext ) { if ((portHttBatchControl1.toltal == null) || (portHttBatchControl1.toltal.Count <= 0)) { //无管号队列 result.TestingNum = 0; result.PassNum = 0; result.EpassNum = 0; result.ManualPassNum = 0; result.PassNumEt = 0; result.EpassNumEt = 0; } else { //算当前批号剩余多少支数 若当前批号无可探伤支 跳转下一批号。 foreach (var Total1 in portHttBatchControl1.toltal.Where(p => TurnNext || p.PhyBatchNo==result.BatchNo ).OrderBy(p => p.PhyBatchNo == result.BatchNo ? "0" : p.PhyBatchNo)) { // 总共需要过探伤的合格支 var OkList = Total1.PortHttBatchSampleResultEntitys .Where( p => (p.MatStatus == "00") || (p.MatStatus == "合格") || ((string.CompareOrdinal(p.OpProcessCode, SlGx) >= 0) && ((p.MatStatus == "40") || (p.MatStatus == "委外废品") || (p.MatStatus == "10") || (p.MatStatus == "剔除"))) ).ToList(); result.BatchNo = Total1.PhyBatchNo; var NeedTest = OkList.Count; var Typr = commonCrackDetection1.ReportType; var ProductionList = httCrackDetectionEtEntityBindingSource.DataSource as List; //已经录过当前探伤种类的支数 var TestedNum = (int) ProductionList.Where(p =>p.BatchNo ==result.BatchNo && (p.ReportNo == Typr) && (p.MachineNo == result.MachineNo)).Sum(p => p.TestingNum); //不属于该种类的废品( 该种类的废品已经包含在TestedNum) var WasteNum = (int)ProductionList.Where(p => p.ReportNo != Typr).Sum(p => p.EwasteNum); var pendingNum = (int)ProductionList.Where(p => p.ReportNo != Typr).Sum(p => p.PendingNum); result.TestingNum = NeedTest + pendingNum - TestedNum - WasteNum; if ((result.TestingNum <= 0) && (NeedTest > 0)) { var dt1 = ServerHelper.GetData("com.steering.mes.mcp.common.OfflineHelper.QueryReturnLineCount", new object[] {ActiveRow.HeatPlanNo, (int) ActiveRow.RealProcessSeq, SlGx, Total1.PhyBatchNo}, ob); var CountReturn1 = 0; if (dt1.Rows.Count > 0) int.TryParse(dt1.Rows[0]["COUNT"].ToString3(), out CountReturn1); result.TestingNum = result.TestingNum + CountReturn1; } result.TestingNum = result.TestingNum < 0 ? 0 : result.TestingNum; if (Typr == "0") if ((NeedTest - TestedNum <= 0) || (ActiveRow.IfMatchOdd == "2")) result.TestingTime = "1"; else result.TestingTime = "0"; else result.TestingTime = "0"; if (result.TestingNum > 0) break; } commonCrackDetection1.ChangeValue(result); } } } }