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.Control; 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.Treatment.HeatTreatment; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.Mcp.Treatment { public partial class FrmHttAppearancecheckResultEntity : FrmHttBase { private string plineCode = ""; private string[] plineCodes; private int ProcessSeq = 1; public FrmHttAppearancecheckResultEntity() { InitializeComponent(); ShowMain = true; } private string SlGx { get { return "600208"; } } private void FrmAppearanceCheckResult_Load(object sender, EventArgs e) { plineCodes = comm.GetPlineCode(ValidDataPurviewIds, "F", ob); appCheckControl1.Ob = ob; portHttBatchControl1.ob = ob; Gx = SlGx; portHttBatchControl1.SetOfflineCode(new[] {SlGx}); appCheckControl1.Value = new HttAppearancecheckResultEntity {PlineCode = plineCode}; /* QuerySinglePlan(); initControl();*/ } protected override void OnLoad(EventArgs e) { base.OnLoad(e); appCheckControl1.DisableFiltering(); EntityHelper.ShowGridCaption(AppearanceGrid.DisplayLayout.Bands[0]); comm.RefreshAndAutoSize(AppearanceGrid); comm.setOtherColumnReadOnly(AppearanceGrid, new string[] {}); appCheckControl1.gx = SlGx; AppearanceGrid.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; foreach (var ugc in AppearanceGrid.DisplayLayout.Bands[0].Columns) ugc.SortIndicator = SortIndicator.Disabled; var f1 = new Font("宋体", 11F, FontStyle.Bold); appCheckControl1.SetFont(f1); } public override void ToolBar_Click(object sender, string ToolbarKey) { //base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "DoQuery": QuerySinglePlan(); break; case "DoSave": DoSave(); 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 "View": View(); break; case "Upload": Upload(); GetAppearanceService(ActiveRow.HeatPlanNo); break; case "doPrint": DoTransferPrint(); break; case "Print": print(); break; case "AddPrint": addprint(); break; case "doGenerateBarcode": GenerateBarcode(); break; } } /// /// 弯曲度、外径抽检记录 /// private void print() { var code = ""; var hls = AppearanceGrid.ActiveRow; if (hls == null && AppearanceGrid.Rows.Count > 0) { hls = AppearanceGrid.Rows[0]; } if (hls != null) { code = hls.Cells["ResultNo"].Value.ToString(); } string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepHttStraightnessTH.cpt&RESULT_NO=" + code; FrmExcel fre = new FrmExcel(this.ob, strurl); fre.AutoSize = true; fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fre.WindowState = FormWindowState.Maximized; fre.Show(); } private void addprint() { string ResultNo = ""; string heatPlanNo = ""; string plineCode = ""; if (ActiveRow == null) { MessageBox.Show("请先进行查询!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } var hls = AppearanceGrid.ActiveRow; if (hls == null && AppearanceGrid.Rows.Count > 0) { hls = AppearanceGrid.Rows[0]; } if (hls != null) { ResultNo = hls.Cells["ResultNo"].Value.ToString(); heatPlanNo = hls.Cells["heatPlanNo"].Value.ToString(); plineCode = hls.Cells["plineCode"].Value.ToString(); } FrmHttAppearancecheckRecord fre = new FrmHttAppearancecheckRecord(ResultNo, heatPlanNo,plineCode, ob); fre.Show(); } private void GenerateBarcode() { if (ActiveRow == null) { MessageUtil.ShowTips("请选择要生成条码的炉信息!"); return; } var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.heatTreatment.AppearanceService"; ccp.MethodName = "GenerateBarcode"; ccp.ServerParams = new object[] { ActiveRow.HeatPlanNo }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("生成成功!")) { QuerySinglePlan(); } } } /// /// 传递卡打印 /// private void DoTransferPrint() { if (ActiveRow == null) { MessageUtil.ShowTips("请选择要打印的炉信息!"); return; } var strurl = ""; if (plineCode.Equals("C021")) //镦粗 strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=MchDeliveryCard.cpt&T.HEAT_PLAN_NO=" + ActiveRow.HeatPlanNo + "&T.JUDGE_STOVE_NO=" + ActiveRow.JudgeStoveNo + "&T.PLINE_CODE=" + plineCode + "&T2.BATCH_GROUD_NO=" + ActiveRow.BatchGroudNo + "&TT.STATION_DESC='上料'"; else strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=MchDeliveryCard.cpt&T.HEAT_PLAN_NO=" + ActiveRow.HeatPlanNo + "&T.JUDGE_STOVE_NO=" + ActiveRow.JudgeStoveNo + "&T.PLINE_CODE" + plineCode + "&T2.BATCH_GROUD_NO=" + ActiveRow.BatchGroudNo + "&TT.STATION_DESC='上料'"; 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(); } private void DoQueryOffice() { /* string heatno = ""; string plinename = ""; UltraGridRow urg = ultraGrid1.ActiveRow; if (urg != null) { heatno = urg.Cells["HEAT_PLAN_NO"].Value.ToString(); plinename = urg.Cells["PLINE_NAME"].Text.ToString(); } HttOfficeDirect matfrm = new HttOfficeDirect(this.ob, urg, ""); matfrm.ShowDialog();*/ } private void DoBesideQuery() { /* //DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmCrackDetectResult.getMchBugD", new object[] { txtZyBatchId.Text.ToString(), txtRollBatchId.Text.ToString(), plineCode, start }, this.ob); //GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true); string heatno = ""; string lotno = ""; string plinename = ""; UltraGridRow urg = ultraGrid1.ActiveRow; if (urg != null) { heatno = urg.Cells["HEAT_PLAN_NO"].Value.ToString(); lotno = urg.Cells["BATCH_NO"].Value.ToString(); plinename = urg.Cells["PLINE_NAME"].Text.ToString(); } HttReason matfrm = new HttReason(this.ob, urg, ""); matfrm.ShowDialog();*/ } 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.AppearanceService"; 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.AppearanceService"; 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("结炉成功!")) { Upload(); QuerySinglePlan(); } } } /// /// 修改实绩 /// private void DoUpdate() { if (ActiveRow == null) return; var updateCout = ""; var Result = ""; var cls = AppearanceGrid.ActiveRow; if (cls == null) { MessageBox.Show("请选择需要修改的低温炉实绩"); return; } ; //低温炉 Result = JSONFormat.Format(appCheckControl1.Value); var ScrappedList = appCheckControl1.ScrappedList.Select(JSONFormat.Format).ToList(); var SuspiciousList = appCheckControl1.SuspiciousList.Select(JSONFormat.Format).ToList(); var list = new List(); /* for (int i = 0; i < ultraGrid2.Rows.Count; i++) { UltraGridRow checkrow = ultraGrid2.Rows[i]; if (Convert.ToBoolean(checkrow.Cells["CHECK"].Value)) { HttAppearancecheckResultDEntity resultD = getRowData(checkrow); resultD.ResultNo = checkrow.Cells["RESULT_NO"].Value.ToString(); resultD.MResultNo = checkrow.Cells["M_RESULT_NO"].Value.ToString(); //resultD.ZyBatchId = row.Cells["ZY_BATCH_ID"].Value.ToString(); //resultD.HeatnoLast = row.Cells["HEATNO_LAST"].Value.ToString(); list.Add(JSONFormat.Format(resultD)); } }*/ if (updateCout == "") return; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.heatTreatment.AppearanceService"; ccp.MethodName = "updateAppearanceResult"; ccp.ServerParams = new object[] { Result,ActiveRow.HeatPlanNo,ActiveRow.HeatPlanSqe, SlGx, SuspiciousList, ScrappedList }; 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 = AppearanceGrid.ActiveRow; if (siz == null) { if (AppearanceGrid.Rows.Count <= 0) return; siz = AppearanceGrid.Rows[0]; } if (siz == null) return; code2 = siz.Cells["ResultNo"].Value.ToString(); if (MessageUtil.ShowYesNoAndQuestion("确认删除?") == DialogResult.No) { return; } var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.heatTreatment.AppearanceService"; ccp.MethodName = "deleteAppearanceResult"; 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("删除成功!")) { QuerySinglePlan(); } } } /// /// 简单查询 /// private void QuerySinglePlan() { Query(plineCodes); } /// /// 初始化控件 /// private void initControl() { if (ActiveRow == null) return; var result = new HttAppearancecheckResultEntity { HeatPlanNo =ActiveRow.HeatPlanNo, WastNum = 0, DubiousNum = 0, ColShift = UserInfo.GetUserOrder(), ColGroup = UserInfo.GetUserGroup(), ColUser = UserInfo.GetUserName(), ColTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), ProcessSeq = ProcessSeq, ZyBatchId =ActiveRow.ZyBatchId, PlineCode = plineCode }; var OkList3 = appCheckControl1.PortHttBatchSampleResultEntitys.Where( p => ((p.ProcessSeq == result.ProcessSeq) && ((p.MatStatus == "00") || (p.MatStatus == "合格") || (string.CompareOrdinal(p.OpProcessCode, SlGx) >= 0))) || (p.ProcessSeq > result.ProcessSeq)).ToList(); var Count3 = appCheckControl1.ListAll.Where(p => p.ProcessSeq == result.ProcessSeq).Sum(p => (int) (p.Checkpieces ?? 0)); DataTable dt1 = ServerHelper.GetData("com.steering.mes.mcp.common.OfflineHelper.QueryReturnLineCount", new object[] { ActiveRow.HeatPlanNo, (int)ActiveRow.RealProcessSeq, SlGx }, ob); int CountReturn1 = 0; if (dt1.Rows.Count > 0) { int.TryParse(dt1.Rows[0]["COUNT"].ToString3(), out CountReturn1); } result.Checkpieces = OkList3.Count - Count3 + CountReturn1; result.Checkpieces = result.Checkpieces < 0 ? 0 : result.Checkpieces; result.PassNum = result.Checkpieces - result.WastNum; // result.ProWt = OkList3.Skip(Count3).Take(OkList3.Count - Count3).Sum(p => p.ActWeight); appCheckControl1.Value = result; } /// /// 实绩保存 /// private void DoSave() { if (ActiveRow != null) { /* for (int i = 0; i < ultraGrid2.Rows.Count; i++) { UltraGridRow checkrow = ultraGrid2.Rows[i]; if (Convert.ToBoolean(checkrow.Cells["CHECK"].Text) == true) { count += 1; HttAppearancecheckResultDEntity resultD = getRowData(checkrow); resultD.HeatnoLast = row.Cells["HEAT_PLAN_NO"].Value.ToString(); list.Add(JSONFormat.Format(resultD)); } }*/ if (appCheckControl1.Value.WastNum != null && appCheckControl1.Value.WastNum > 0 && appCheckControl1.Value.WastNum != appCheckControl1.ScrappedList.Sum(p => p.DefFillNum)) { MessageUtil.ShowTips("废品数据异常,请重新录入"); return; } var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.heatTreatment.AppearanceService"; ccp.MethodName = "saveAppearanceResult"; ccp.ServerParams = new object[] { JSONFormat.Format(appCheckControl1.Value), ActiveRow.HeatPlanNo, SlGx, appCheckControl1.SuspiciousList.Select(JSONFormat.Format).ToList(), appCheckControl1.ScrappedList.Select(JSONFormat.Format).ToList() }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("新增成功!")) { QuerySinglePlan(); } } } } private void GetAppearanceService(string heatNo) { List list1 = EntityHelper.GetData( "com.steering.mes.mcp.heatTreatment.AppearanceService.getAppearanceResultById", new object[] {heatNo}, ob); httAppearancecheckResultEntityBindingSource.DataSource = list1; appCheckControl1.ListAll = list1; comm.RefreshAndAutoSize(AppearanceGrid); AppearanceGrid.ActiveRow = null; AppearanceGrid.Refresh(); } private void AppearanceGrid_AfterRowActivate(object sender, EventArgs e) { var urg = AppearanceGrid.ActiveRow; if (urg == null) return; appCheckControl1.Value = urg.ListObject as HttAppearancecheckResultEntity; } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { if (ActiveRow != null) { plineCode = ActiveRow.PlineCode; ProcessSeq = (int)(ActiveRow.RealProcessSeq ?? 1); GetAppearanceService(ActiveRow.HeatPlanNo); portHttBatchControl1.Query(ActiveRow.HeatPlanNo, ActiveRow.PlineCode,ProcessSeq,ActiveRow.GowhereCode); appCheckControl1.PortHttBatchSampleResultEntitys = portHttBatchControl1.datas; initControl(); } } public void View() { if (ActiveRow == null) { return; } string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttAppearanceReport.cpt&op=view&HEAT_PLAN_NO=" + ActiveRow.HeatPlanNo; 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(); } public void Upload() { if (ActiveRow == null) { return; } string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=HttAppearanceReport.cpt&op=view&format=pdf&HEAT_PLAN_NO=" + ActiveRow.HeatPlanNo; var webClient = new WebClient(); var listPdf = new List(); var date = DateTime.Now.ToString("yyyyMMdd"); var filePathNew = ""; //报告目录 var reportNo = ""; //报告编号 filePathNew = "Htt/AppCheck/" + ActiveRow.JudgeStoveNo + "/" + ActiveRow.HeatPlanNo + "/"; reportNo = ActiveRow.JudgeStoveNo; 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.AppearanceService.UpdateReportUrl", new object[] { ActiveRow.HeatPlanNo, filePathNew + reportNo + ".pdf" }, ob); MessageUtil.ShowTips("上传报告成功!"); } else { MessageUtil.ShowError("系统生成PDF失败,请稍后手动上传报告!"); } } private void uteView_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { HttAppearancecheckResultEntity HttAppearancecheckResultEntity = AppearanceGrid.ActiveRow.ListObject as HttAppearancecheckResultEntity; if (HttAppearancecheckResultEntity == null) return; var down = new FormFileDown(ob, HttAppearancecheckResultEntity.ReportPath); down.CtrlFileDown1.Button3.Visible = false; down.ShowDialog(); } } }