using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Windows.Forms; 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.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; namespace Core.StlMes.Client.Mcp.Mch { public partial class FrmFinalCheckG : FrmMchBase { public FrmFinalCheckG() { InitializeComponent(); DefaultGx = "701313"; } protected override UltraGridRow ActitveResultRow { get { return CrackDetectGrid.ActiveRow; } } protected override object Value { get { return finalCheckGControl1.GetData(); } } protected override void OnLoad(EventArgs e) { base.OnLoad(e); EntityHelper.ShowGridCaption(CrackDetectGrid.DisplayLayout.Bands[0]); CrackDetectGrid.DisplayLayout.Bands[0].Columns["CheckNum"].Header.Caption = "尺寸抽查支"; 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; finalCheckGControl1.Init(ob); finalCheckGControl1.btnSave.Click += (sender, args) => DoAdd(); 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 = finalCheckGControl1.GetData(); if (MessageUtil.ShowYesNoAndQuestion("是否增加抽检记录?") == DialogResult.No) return; finalCheckGControl1.Detail.ForEach(p => { p.UnpassMemo = p.ScrapList.Any() ? p.ScrapReason : p.UnPass; p.IsSizeCheck = string.IsNullOrWhiteSpace(p.SizeCheck) ? "0" : "1"; p.IsAppCheck = string.IsNullOrWhiteSpace(p.AppCheck) ? "0" : "1"; }); List ListTreatMent = new List(); finalCheckGControl1.Detail.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(data), finalCheckGControl1.ProMchPort.Select(JSONFormat.Format).ToList(), finalCheckGControl1.Detail.Select(JSONFormat.Format).ToList(), ListTreatMent.Select(JSONFormat.Format).ToList(), Gx, finalCheckGControl1.Detail.Where(p => p.Station == "1").SelectMany( p => p.UnPassList).Select(JSONFormat.Format).ToList(), finalCheckGControl1.Detail.Where(p => p.Station == "2").SelectMany( p => p.ScrapList).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.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("删除成功!")) { 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() }; finalCheckGControl1.SetValue(result, portMchBatchControl1.Data); } private void uteViewer_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { if(CrackDetectGrid.ActiveRow==null) return; var matfrm = new FinalCheckDataNew(ob, CrackDetectGrid.ActiveRow.Cells["ResultNo"].Value.ToString2()); matfrm.ShowDialog(); } private void ultraGrid1_BeforeCellDeactivate(object sender, CancelEventArgs e) { if (finalCheckGControl1.Detail.Any()) { if (MessageUtil.ShowYesNoAndQuestion("抽检管号未新增!! 是否继续此操作?") == DialogResult.No) e.Cancel = true; } } } }