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 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.Control.Machining; using Core.StlMes.Client.Mcp.Mch.Entity; using Core.StlMes.Client.Mcp.Mch.MchResult; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using PortMchBatchSampleResultEntity = Core.StlMes.Client.Mcp.Control.Entity.PortMchBatchSampleResultEntity; namespace Core.StlMes.Client.Mcp.Mch { public partial class FrmFinalCheck : FrmMchBase { public FrmFinalCheck() { InitializeComponent(); DefaultGx = "701313"; } protected override UltraGridRow ActitveResultRow { get { return CrackDetectGrid.ActiveRow; } } protected override object Value { get { return finalCheckControl1.GetData(); } } protected override void OnLoad(EventArgs e) { base.OnLoad(e); EntityHelper.ShowGridCaption(CrackDetectGrid.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[1]); EntityHelper.ShowGridCaption(ultraGrid3.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["ProCount"].Header.Caption = "测量点支"; base.ultraGrid1.DisplayLayout.Bands[0].Columns["ProWeight"].Header.Caption = "测量点吨"; ultraGrid1.DisplayLayout.Bands[0].Columns["ProCount"].EditorComponent = null; base.ultraGrid1.DisplayLayout.Bands[0].Columns["OperateCount"].Header.Caption = "检验支"; base.ultraGrid1.DisplayLayout.Bands[0].Columns["OperateWeight"].Header.Caption = "检验吨"; base.ultraGrid1.DisplayLayout.Bands[0].Columns["PerStatus"].Header.Caption = "处置单状态"; base.ultraGrid1.DisplayLayout.Bands[0].Columns["BesideStatus"].Header.Caption = "终检结果"; ultraGrid1.DisplayLayout.Bands[0].Columns["ProDate"].Hidden = false; ultraGrid1.DisplayLayout.Bands[0].Columns["CurrentStatus"].Hidden = false; ultraGrid1.DisplayLayout.Bands[0].Columns["BesideDate"].Hidden = false; // base.ultraGrid1.DisplayLayout.Bands[0].Columns["BesideStatus"].RowLayoutColumnInfo.OriginX = 22; // base.ultraGrid1.DisplayLayout.Bands[0].Columns["PerStatus"].RowLayoutColumnInfo.OriginX = 24; base.ultraGrid1.DisplayLayout.Bands[0].Columns["BatchGroudNo"].Hidden = true; CrackDetectGrid.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; CrackDetectGrid.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default; ultraGrid2.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; ultraGrid2.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default; ultraOptionSet2.Visible = true; ultraExpandableGroupBox3.Expanded = false; finalCheckControl1.Init(ob); ultraGrid1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.True; ultraGrid1.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.SortSingle; ultraGrid1.DisplayLayout.Bands[0].Override.HeaderClickAction = HeaderClickAction.SortSingle; } protected override void ResetUI() { mchFinalCheckResultEntityBindingSource.Clear(); mchFinalCheckTotalBindingSource.Clear(); mchBugBindingSource.Clear(); } protected override void DoAdd() { if (ActiveRow != null) { MchFinalCheckResultEntity data = finalCheckControl1.GetData(); if (double.Parse(data.CheckNum.ToString3())/double.Parse(data.ProNum.ToString3()) <=(data.PlineCode=="C036"?0.05: 0.09)) { if (MessageUtil.ShowYesNoAndQuestion("抽检率不足" + (data.PlineCode == "C036" ? "5%" : "9%") + ",是否依然新增") == DialogResult.No) return; /* MessageBox.Show("抽检率不足" + (data.PlineCode == "C036" ? "5%" : "9%") + ",不允许新增"); return;*/ } else if (MessageUtil.ShowYesNoAndQuestion("是否增加抽检记录?") == DialogResult.No) return; var listDetail = finalCheckControl1.Detail.SelectMany(p => p.UnPassData == null || !p.UnPassData.Any() ? new List() { p } : p.UnPassData).ToList(); List ListTreatMent = new List(); listDetail.Where(p=>p.Station=="1").GroupBy(p => new { p.TreatmentCode, p.ResponsibleCode, p.TreatmentName, p.ResponsibleName }).ToList().ForEach(p => { ListTreatMent.Add(new MchFinalCheckTreatmentEntity() { ResponsibleCode =p.Key.ResponsibleCode, ResponsibleName = p.Key.ResponsibleName, TreatmentCode = p.Key.TreatmentCode, TreatmentName = p.Key.TreatmentName, UnqualifiedNum = p.Where(q=>q.Station=="1").Select(q=>q.MatNo).Distinct().Count(), }); } ); var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmFinalCheck"; ccp.MethodName = "DoAdd"; ccp.ServerParams = new object[] { JSONFormat.Format(Value), finalCheckControl1.ProMchPort.Select(JSONFormat.Format).ToList(), listDetail.Select(JSONFormat.Format).ToList(), ListTreatMent.Select(JSONFormat.Format).ToList(), Gx, finalCheckControl1.GetFailList().Select(JSONFormat.Format).ToList(), }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("新增成功!")) { //doOver(); 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.FrmFinalCheck"; 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 DoApproval() { if (ActiveRow != null) { if (ultraGrid2.ActiveRow == null) { MessageBox.Show("请选择需要验证通过的处置单"); return; } MchFinalCheckTreatmentEntityAll list = null; if (ultraGrid2.ActiveRow.HasParent()) { list = ultraGrid2.ActiveRow.ParentRow.ListObject as MchFinalCheckTreatmentEntityAll; } else { list = ultraGrid2.ActiveRow.ListObject as MchFinalCheckTreatmentEntityAll; } if (list==null) return; /* if (MessageUtil.ShowYesNoAndQuestion("是否确认验证通过?") == DialogResult.No) return;*/ using (FrmApprovalData data = new FrmApprovalData(ob, ActiveRow.HeatPlanNo, list.TreatmentNo,this.UserInfo.GetUserName())) { data.ShowDialog(); if (data.DialogResult == DialogResult.OK) { // doOver(); Query(); } } } } protected override void DoCancleApproval() { if (ActiveRow != null) { if (ultraGrid2.ActiveRow == null) { MessageBox.Show("请选择需要撤销验证通过的处置单"); return; } MchFinalCheckTreatmentEntityAll list = null; if (ultraGrid2.ActiveRow.HasParent()) { list = ultraGrid2.ActiveRow.ParentRow.ListObject as MchFinalCheckTreatmentEntityAll; } else { list = ultraGrid2.ActiveRow.ListObject as MchFinalCheckTreatmentEntityAll; } if (list == null) return; if (MessageUtil.ShowYesNoAndQuestion("是否确认撤销验证通过?") == DialogResult.No) return; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmFinalCheck"; ccp.MethodName = "DoCancleApproval"; ccp.ServerParams = new object[] { list.TreatmentNo, }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("撤销成功!")) { Query(); } } } } public void doOver() { if (ActiveRow == null) return; var dt1 = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmFinalCheck.CheckStatus", new object[] { ActiveRow.HeatPlanNo, ActiveRow.BatchNo }, ob); if ((dt1.Rows[0]["NUM"].ToString() == "0")) DoBeside(true); } protected override void GetResultData() { // base.GetResultData(); mchFinalCheckResultEntityBindingSource.DataSource = var List= EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmFinalCheck.getQueryExpandResult", new object[] { ActiveRow.HeatPlanNo, ActiveRow.BatchNo }, ob); mchFinalCheckResultEntityBindingSource.DataSource = List; commHelper.RefreshAndAutoSizeExceptColumns(CrackDetectGrid, "ReportPath"); List ListTreatMent = EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmFinalCheck.getQueryTreatment", new object[] { List.Select(p=>p.ResultNo).ToArray() }, ob); List listDetail = EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmFinalCheck.getQueryDetail", new object[] { List.Select(p=>p.ResultNo).ToArray() }, ob); ListTreatMent.ForEach(p => p.UnPassData = listDetail.Where(q => q.ResultNo == p.ResultNo && p.TreatmentNo == q.TreatmentNo).ToList()); mchFinalCheckTotalBindingSource.DataSource = ListTreatMent; commHelper.RefreshAndAutoSizeExceptColumns(ultraGrid2, "ReportPath"); List listFailDetail = EntityHelper.GetData( "com.steering.mes.mcp.Mch.FrmFinalCheck.getFailDetail", new object[] { ListTreatMent.Select(p=>p.TreatmentNo).ToArray() }, ob); mchBugBindingSource.DataSource = listFailDetail; commHelper.RefreshAndAutoSizeExceptColumns(ultraGrid3, "ReportPath"); ultraExpandableGroupBox3.Expanded = listFailDetail.Any(); // ultraGrid2.Rows.ExpandAll(true); if (ActiveRow == null) return; var result = new MchFinalCheckResultEntity { HeatPlanNo = ActiveRow.HeatPlanNo, JudgeStoveNo = ActiveRow.JudgeStoveNo, BatchNo = ActiveRow.BatchNo, PlineCode = ActiveRow.PlineCode, PlineName = ActiveRow.PlineName, ProShift = UserInfo.GetUserOrder(), ProGroup = UserInfo.GetUserGroup(), ProUser = UserInfo.GetUserName(), Departid = UserInfo.GetDeptid(), Departname = UserInfo.GetDepartment() }; List portList = portMchBatchControl1.Data; if (ActiveRow.ProCount <= 0 || ActiveRow.ProCount == null) { portList = new List(); } finalCheckControl1.SetValue(result, portList); } private void uteViewer_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { if(CrackDetectGrid.ActiveRow==null) return; var matfrm = new FinalCheckData(ob, CrackDetectGrid.ActiveRow.Cells["ResultNo"].Value.ToString2()); matfrm.ShowDialog(); } protected override void Print() { if (ultraGrid2.ActiveRow == null) return; MchFinalCheckTreatmentEntityAll MchFinalCheckTreatmentEntityAll = ultraGrid2.ActiveRow.ListObject as MchFinalCheckTreatmentEntityAll; string strurl = ""; strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMchNoticeOfQualityDisposal.cpt&__embed__=true" + "&TREATMENT_NO=" + MchFinalCheckTreatmentEntityAll.TreatmentNo; FrmRepExcel fBug = new FrmRepExcel(ob, strurl); fBug.AutoSize = true; fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fBug.WindowState = FormWindowState.Maximized; fBug.Text = "处置单"; fBug.Show(); } private void ultraGrid1_BeforeCellDeactivate(object sender, CancelEventArgs e) { if (finalCheckControl1.Detail.Any()) { if (MessageUtil.ShowYesNoAndQuestion("抽检管号未新增!! 是否继续此操作?") == DialogResult.No) e.Cancel = true; } } } }