using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Lims.Port.数据管理.实体类; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Core.StlMes.Client.Lims.Port { public partial class FrmBaseInfoMerge : FrmBase { public FrmBaseInfoMerge() { InitializeComponent(); } private string plineCode = "";//产线 private void FrmBaseInfoMerge_Load(object sender, EventArgs e) { DateTime now = DateTime.Now; DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天 DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天 this.RegStartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00"); this.RegEndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59"); EntityHelper.ShowGridCaption(this.ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(this.ultraGrid2.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(this.ultraGrid3.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(this.ultraGrid4.DisplayLayout.Bands[0]); plineCode = PublicPort.GetPCode(this.ValidDataPurviewIds, ob); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": doQueryBaseinfo(); break; case"Merge": mergeNo(); break; case "Merge3": mergeNo3(); break; case"CancelMergeNo": cancelMergeNo(); break; case"CheckCondition": checkCondition(); break; case "Close": close(); break; } } private void doQueryBaseinfo() { string lotNo = ""; string judgeNo = ""; string startTim = ""; string endTim = ""; if(this.chkRegTime.Checked) { startTim = this.RegStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTim = this.RegEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); } if (this.chkLotNo.Checked && this.txtLotNo.Text.Trim() != "") { lotNo = this.txtLotNo.Text.Trim(); } if(this.chkJudgeNo.Checked) { judgeNo = this.txtJudgeNo.Text.Trim(); } ArrayList list = new ArrayList(); list.Add(startTim); list.Add(endTim); list.Add(lotNo); list.Add(judgeNo); if (ultraTabControl1.SelectedTab.Key == "0") { List listSource = EntityHelper.GetData( "com.steering.mes.port.vrp.FrmBaseInfoMerge.doQueryBaseInfo", new object[] { list, plineCode }, this.ob); pipeCheckconsignBaseinfoEntityBindingSource.DataSource = listSource; } else if (ultraTabControl1.SelectedTab.Key == "1") { List listSource = EntityHelper.GetData( "com.steering.mes.port.vrp.FrmBaseInfoMerge.doQueryBaseInfoDetial", new object[] { list, plineCode }, this.ob); pipeCheckconsignDetailEntityBindingSource.DataSource = listSource; } } /// /// 合并委托单 /// private void mergeNo() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True"); if (checkMagRows.Count() == 0) { return; } int count = checkMagRows.GroupBy(a => a.GetValue("HeatNo")).Count(); if (count > 1) { MessageUtil.ShowTips("合并检验单,只允许在同一炉号中合并!"); return; } ArrayList parmList = new ArrayList(); foreach(UltraGridRow row in checkMagRows) { PipeCheckconsignBaseinfoEntity pipeBaseTity = (PipeCheckconsignBaseinfoEntity)row.ListObject; if(pipeBaseTity.MergerNo != "") { MessageUtil.ShowTips("已合并过的委托单不允许再次合并!"); return; } string pipeBaseEntity = JSONFormat.Format(pipeBaseTity); parmList.Add(pipeBaseEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.port.vrp.FrmBaseInfoMerge"; ccp.MethodName = "mergeNo"; ccp.ServerParams = new object[] { parmList,UserInfo.GetUserName() }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("合并成功!")) { doQueryBaseinfo(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 并单3 /// private void mergeNo3() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True"); if (checkMagRows.Count() == 0) { return; } int count = checkMagRows.GroupBy(a => a.GetValue("HeatNo")).Count(); if (count > 1) { MessageUtil.ShowTips("合并检验单,只允许在同一炉号中合并!"); return; } ArrayList parmList = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { PipeCheckconsignBaseinfoEntity pipeBaseTity = (PipeCheckconsignBaseinfoEntity)row.ListObject; if (pipeBaseTity.MergerNo != "") { MessageUtil.ShowTips("已合并过的委托单不允许再次合并!"); return; } string pipeBaseEntity = JSONFormat.Format(pipeBaseTity); parmList.Add(pipeBaseEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.port.vrp.FrmBaseInfoMerge"; ccp.MethodName = "mergeNo3"; ccp.ServerParams = new object[] { parmList, UserInfo.GetUserName() }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("合并成功!")) { doQueryBaseinfo(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 撤销并单 /// private void cancelMergeNo() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True"); if (checkMagRows.Count() == 0) { return; } ArrayList parmList = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { PipeCheckconsignBaseinfoEntity pipeBaseTity = (PipeCheckconsignBaseinfoEntity)row.ListObject; string pipeBaseEntity = JSONFormat.Format(pipeBaseTity); parmList.Add(pipeBaseEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.port.vrp.FrmBaseInfoMerge"; ccp.MethodName = "cancelMergeNo"; ccp.ServerParams = new object[] { parmList }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("撤销成功!")) { doQueryBaseinfo(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 检验批内选择硬度最高 /// private void checkCondition() { this.ultraGrid2.UpdateData(); IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True"); if (checkMagRows.Count() == 0) { return; } ArrayList parmList = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { PipeCheckconsignDetailEntity pipeBaseTity = (PipeCheckconsignDetailEntity)row.ListObject; string pipeBaseEntity = JSONFormat.Format(pipeBaseTity); parmList.Add(pipeBaseEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.port.vrp.FrmBaseInfoMerge"; ccp.MethodName = "checkCondition"; ccp.ServerParams = new object[] { parmList,UserInfo.GetUserName() }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("推送检验批内SSC硬度最高试样成功!")) { doQueryBaseinfo(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 关闭 /// private void close() { this.Close(); } private void chkRegTime_CheckedChanged(object sender, EventArgs e) { this.RegStartTime.Enabled = this.RegEndTime.Enabled = this.chkRegTime.Checked; } private void chkLotNo_CheckedChanged(object sender, EventArgs e) { this.txtLotNo.Enabled = this.chkLotNo.Checked; } private void chkJudgeNo_CheckedChanged(object sender, EventArgs e) { this.txtJudgeNo.Enabled = this.chkJudgeNo.Checked; } private void FrmBaseInfoMerge_Shown(object sender, EventArgs e) { if (toolMenu == null || toolMenu.Toolbars == null) return; if (toolMenu.Toolbars[0].Tools.Exists("CheckCondition")) { toolMenu.Toolbars[0].Tools["CheckCondition"].InstanceProps.Visible = DefaultableBoolean.False; } } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (toolMenu == null || toolMenu.Toolbars == null) return; if (toolMenu.Toolbars[0].Tools.Exists("Merge")) { toolMenu.Toolbars[0].Tools["Merge"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 0 ? DefaultableBoolean.True : DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CheckCondition")) { toolMenu.Toolbars[0].Tools["CheckCondition"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 0 ? DefaultableBoolean.False : DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("CancelMergeNo")) { toolMenu.Toolbars[0].Tools["CancelMergeNo"].InstanceProps.Visible = this.ultraTabControl1.SelectedTab.Index == 1 ? DefaultableBoolean.False : DefaultableBoolean.True; } } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { this.ultraGrid1.UpdateData(); UltraGridRow uRow = this.ultraGrid1.ActiveRow; if(uRow == null)return; doQueryQcmDeatial(uRow); } /// /// /// private void doQueryQcmDeatial(UltraGridRow row) { List listSource = EntityHelper.GetData( "com.steering.mes.port.vrp.FrmBaseInfoMerge.doQueryQcmDetail", new object[] { row.Cells["CheckNo"].Text }, this.ob); qcmZcCheckconsignDetailEntityBindingSource.DataSource = listSource; } private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { this.ultraGrid2.UpdateData(); UltraGridRow uRow = this.ultraGrid2.ActiveRow; if (uRow == null) return; doQueryQcmDeatial1(uRow); } private void doQueryQcmDeatial1(UltraGridRow uRow) { List listSource = EntityHelper.GetData( "com.steering.mes.port.vrp.FrmBaseInfoMerge.doQueryQcmDetail", new object[] { uRow.Cells["CheckNo"].Text }, this.ob); qcmZcCheckconsignDetailEntityBindingSource1.DataSource = listSource; } } }