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 CoreFS.CA06; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.ZGMil.Entity; using Infragistics.Win.UltraWinEditors; using Infragistics.Win; using System.Text.RegularExpressions; using Core.Mes.Client.Comm.Server; using System.Collections; using Infragistics.Win.UltraWinGrid; using com.steering.mes.zgmil.entity; namespace Core.StlMes.Client.ZGMil.Signature { public partial class FrmColUpdate : FrmBase { public FrmColUpdate() { InitializeComponent(); } private void FrmColUpdate_Load(object sender, EventArgs e) { RegStartTime.Value = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd 07:00:00")); RegEndTime.Value = DateTime.Parse(DateTime.Today.AddDays(1).ToString("yyyy-MM-dd 06:59:59")); ColTim.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[1]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid3.DisplayLayout.Bands[0]); this.startSeq.Text = "1"; this.cmbGroup.SelectedIndex = 0; this.cmbOrder.SelectedIndex = 0; label9.Visible = false; cmbHeating.Visible = false; } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": doQueryData(); break; case"QueryModify": doModifyData(); break; case "Update": updateData(); break; case "Close": this.Close(); break; } } /// /// 查询历史信息 /// private void doModifyData() { NativeMethodNew na = new NativeMethodNew(this.ob); string[] plineCode = na.GetPCodePline(this.ValidDataPurviewIds);//获取 用户 对应的产线 string startTim = ""; string endTim = ""; string stoveNo = ""; string lotNo = ""; string stationId = this.ColStationId.Value.ToString2(); if (chkRegTime.Checked) { startTim = RegStartTime.Value.ToString(); endTim = RegEndTime.Value.ToString(); } if (chkFurnace.Checked) { stoveNo = txtStoveNo.Text.Trim(); } if (this.ultraCheckEditor2.Checked) { lotNo = txtLotNo.Text.Trim(); } ArrayList parm = new ArrayList(); parm.Add(stoveNo); parm.Add(lotNo); parm.Add(stationId); List listSource = EntityHelper.GetData( "com.steering.mes.signature.FrmColUpdate.doQueryModifyData", new object[] { parm, plineCode, startTim, endTim }, this.ob); MilModifyChangeResumeEntitybindingSource.DataSource = listSource; } /// /// 查询 /// private void doQueryData() { if (DateTime.Parse(this.RegStartTime.Value.ToString()) > DateTime.Parse(this.RegEndTime.Value.ToString())) { MessageUtil.ShowTips("您选择的生产时间大于后面的时间!"); return; } NativeMethodNew na = new NativeMethodNew(this.ob); string[] plineCode = na.GetPCodePline(this.ValidDataPurviewIds);//获取 用户 对应的产线 string startTim = ""; string endTim = ""; string stoveNo = ""; string lotNo = ""; string[] L1 = new string[] { "LotNo", "JudgeStoveNo"}; string[] L2 = new string[] { "LotNo", "JudgeStoveNo"}; string stationId = this.ColStationId.Value.ToString2(); if (stationId.Equals("")) { MessageUtil.ShowTips("工序点不能为空!"); return; } if (stationId.Equals("1")||stationId.Equals("4")) { if (this.cmbHeating.Value.ToString2().Equals("")) { MessageUtil.ShowTips("请选择加热炉是入炉还是出炉"); return; } } if (chkRegTime.Checked) { startTim = RegStartTime.Value.ToString(); endTim = RegEndTime.Value.ToString(); } if (chkFurnace.Checked) { stoveNo = txtStoveNo.Text.Trim(); } if (this.ultraCheckEditor2.Checked) { lotNo = txtLotNo.Text.Trim(); } if (this.ultraGrid1.ActiveRow != null) { if (stationId.Equals("1") || stationId.Equals("4")) { this.ultraGrid1.DisplayLayout.Bands[0].Columns["Bcount"].Hidden = false; } else { this.ultraGrid1.DisplayLayout.Bands[0].Columns["Bcount"].Hidden = true; } } ArrayList parm = new ArrayList(); parm.Add(stoveNo); parm.Add(lotNo); if (stationId.Equals("0")) { List listSource = EntityHelper.GetData( "com.steering.mes.signature.FrmColUpdate.doQueryPlan", new object[] { parm, plineCode, startTim, endTim }, this.ob); List listSource2 = EntityHelper.GetData( "com.steering.mes.signature.FrmColUpdate.doQueryFeedPlan", new object[] { parm, plineCode, startTim, endTim }, this.ob); EntityHelper.AddEntityRelation(listSource, listSource2, L1, L2); MilRackEntitybindingSource.DataSource = listSource; } else { List listSource = EntityHelper.GetData( "com.steering.mes.signature.FrmColUpdate.doQueryRack", new object[] { parm, plineCode, startTim, endTim, stationId }, this.ob); MilRackEntitybindingSource.DataSource = listSource; } } /// /// 修改 /// private void updateData() { UltraGridRow uRow = this.ultraGrid1.ActiveRow; if (uRow == null || uRow.Index < 0) { MessageUtil.ShowTips("请选择需要修改的主计划信息!"); return; } if (DateTime.Parse(this.ColStartTim.Value.ToString()) > DateTime.Parse(this.ColTim.Value.ToString())) { MessageUtil.ShowTips("结束时间不能早于开始时间!"); return; } if (this.startSeq.Text.Trim() == "") { MessageUtil.ShowTips("起始管序号不能为空!"); return; } if (this.endSeq.Text.Trim() == "") { MessageUtil.ShowTips("结束管序号不能为空!"); return; } if (int.Parse(this.startSeq.Text.Trim()) > int.Parse(this.endSeq.Text.Trim())) { MessageUtil.ShowTips("起始管序号不能大于结束管序号!"); return; } if (this.ColStationId.Value.ToString2() == "1" || this.ColStationId.Value.ToString2() == "4") { if (this.cmbHeating.Text == "") { MessageUtil.ShowTips("请选择加热炉是入炉还是出炉!"); return; } } if (this.ColStationId.Value.ToString2().Equals("0")) { if (!this.ultraGrid1.ActiveRow.HasParent()) { MessageUtil.ShowTips("请选择上料行!"); return; } } string colGroupNo = this.cmbGroup.Value.ToString(); string colOrderNo = this.cmbOrder.Value.ToString(); string startSeq = this.startSeq.Text.Trim(); string endSeq = this.endSeq.Text.Trim(); string changeNum = this.changeNum.Text.Trim(); string colUserName = this.colUserName.Text; string changeTime = ColTim.Value.ToString("yyyy-MM-dd HH:mm:ss"); string changeStartTime = ColStartTim.Value.ToString("yyyy-MM-dd HH:mm:ss"); string stoveNo = uRow.Cells["JudgeStoveNo"].Text.ToString(); string lotNo = uRow.Cells["LotNo"].Text.ToString(); NativeMethodNew na = new NativeMethodNew(this.ob); string departm = UserInfo.GetDepartment(); string plineCode = na.GetPCode(departm);//获取 用户 对应的产线 ArrayList parm = new ArrayList(); parm.Add(this.ColStationId.Value.ToString()); parm.Add(stoveNo); parm.Add(lotNo); parm.Add(colGroupNo); parm.Add(colOrderNo); parm.Add(startSeq); parm.Add(endSeq); parm.Add(changeNum); parm.Add(colUserName); parm.Add(changeTime); parm.Add(plineCode); parm.Add(changeStartTime); parm.Add(this.cmbHeating.Value.ToString2()); if (this.ultraGrid1.ActiveRow.HasParent()) { parm.Add(this.ultraGrid1.ActiveRow.Cells["FeedRowNo"].Text); } if (MessageUtil.ShowYesNoAndQuestion("是否重置交接班?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.signature.FrmColUpdate"; ccp.MethodName = "updateData"; ccp.ServerParams = new object[] {parm}; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("重置成功!")) { doQueryData(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 查询管号队列 /// /// /// private void querySeq(string stoveNo,string lotNo,string stationId,string cmbHeating) { List listSource = EntityHelper.GetData( "com.steering.mes.signature.FrmColUpdate.queryRack", new object[] { stoveNo, lotNo, stationId }, this.ob); RackEntitybindingSource.DataSource = listSource; if (stationId.Equals("1") || stationId.Equals("4")) { if (cmbHeating.Equals("1")) { this.ultraGrid2.DisplayLayout.Bands[0].Columns["ColUser"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ColShift"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ColGroup"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["InUser"].Hidden = false; this.ultraGrid2.DisplayLayout.Bands[0].Columns["InShift"].Hidden = false; this.ultraGrid2.DisplayLayout.Bands[0].Columns["InGroup"].Hidden = false; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlags"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlag"].Hidden = false; } else { this.ultraGrid2.DisplayLayout.Bands[0].Columns["ColUser"].Hidden = false; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ColShift"].Hidden = false; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ColGroup"].Hidden = false; this.ultraGrid2.DisplayLayout.Bands[0].Columns["InUser"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["InShift"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["InGroup"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlags"].Hidden = false; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlag"].Hidden = true; } } else { this.ultraGrid2.DisplayLayout.Bands[0].Columns["InUser"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["InShift"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["InGroup"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlags"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlag"].Hidden = false; } } /// /// 获取产线工序所有签名人 /// private void InitUserName(string PlineCode,string stationId,string group) { DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmColUpdate.doQueryColUser", new object[] { PlineCode, stationId, group }, ob); if (dt != null && dt.Rows.Count > 0) { //Object[] obj = new Object[] { "", "" }; //DataRow dr = dt.NewRow(); //dr.ItemArray = obj; //dt.Rows.InsertAt(dr, 0); colUserName.DataSource = dt; colUserName.ValueMember = "USER_ID"; SetComboItemHeight(colUserName); this.colUserName.SelectedIndex = 0; } } /// /// 设置UltraComboEditor中的中文和非中文统一高度。 /// /// public static void SetComboItemHeight(UltraComboEditor cmb) { foreach (ValueListItem item in cmb.Items) { if (Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+")) { item.Appearance.FontData.SizeInPoints = 9.0F; } else { item.Appearance.FontData.SizeInPoints = 10.5F; } } } private void ColStationId_ValueChanged(object sender, EventArgs e) { NativeMethodNew na = new NativeMethodNew(this.ob); string departm = UserInfo.GetDepartment(); string plineCode = na.GetPCode(departm);//获取 用户 对应的产线 InitUserName(plineCode,this.ColStationId.Value.ToString(),this.cmbGroup.Value.ToString2()); this.ultraTabControl1.SelectedTab.Text = this.ColStationId.Text; if (this.ColStationId.Value.ToString() == "1" || this.ColStationId.Value.ToString() == "4") { label9.Visible = true; cmbHeating.Visible = true; if (this.ultraGrid2.ActiveRow != null) { this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlags"].Hidden = false; } } else { label9.Visible = false; cmbHeating.Visible = false; this.cmbHeating.Text = ""; if (this.ultraGrid2.ActiveRow != null) { this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlags"].Hidden = true; } } MilRackEntitybindingSource.Clear(); RackEntitybindingSource.Clear(); } private void chkRegTime_CheckedChanged(object sender, EventArgs e) { RegStartTime.Enabled = chkRegTime.Checked; RegEndTime.Enabled = chkRegTime.Checked; } private void chkFurnace_CheckedChanged(object sender, EventArgs e) { txtStoveNo.Enabled = this.chkFurnace.Checked; } private void ultraCheckEditor2_CheckedChanged(object sender, EventArgs e) { txtLotNo.Enabled = ultraCheckEditor2.Checked; } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { if (this.ColStationId.Value.ToString2().Equals("0")) { if (this.ultraGrid1.ActiveRow.HasParent()) { queryFeedSeq(this.ultraGrid1.ActiveRow.Cells["JudgeStoveNo"].Text, this.ultraGrid1.ActiveRow.Cells["LotNo"].Text, this.ultraGrid1.ActiveRow.Cells["FeedRowNo"].Text,this.ColStationId.Value.ToString()); } } else { querySeq(this.ultraGrid1.ActiveRow.Cells["JudgeStoveNo"].Text, this.ultraGrid1.ActiveRow.Cells["LotNo"].Text, this.ColStationId.Value.ToString(),this.cmbHeating.Value.ToString2()); } } /// /// 查询锯切管号队列 /// /// /// /// private void queryFeedSeq(string stoveNo, string lotNo, string feedNo,string stationId) { List listSource = EntityHelper.GetData( "com.steering.mes.signature.FrmColUpdate.queryFeedRack", new object[] { stoveNo, lotNo, feedNo }, this.ob); RackEntitybindingSource.DataSource = listSource; if (stationId.Equals("1") || stationId.Equals("4")) { this.ultraGrid2.DisplayLayout.Bands[0].Columns["InUser"].Hidden = false; this.ultraGrid2.DisplayLayout.Bands[0].Columns["InShift"].Hidden = false; this.ultraGrid2.DisplayLayout.Bands[0].Columns["InGroup"].Hidden = false; if (this.cmbHeating.Value.ToString2().Equals("1")) { this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlags"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlag"].Hidden = false; } else if (this.cmbHeating.Value.ToString2().Equals("2")) { this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlags"].Hidden = false; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlag"].Hidden = true; } } else { this.ultraGrid2.DisplayLayout.Bands[0].Columns["InUser"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["InShift"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["InGroup"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlags"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlag"].Hidden = false; } } private void endSeq_TextChanged(object sender, EventArgs e) { if (!StringUtil.IsInt(this.startSeq.Text)) { MessageUtil.ShowTips("起始管序号需为正整数!"); return; } if (!StringUtil.IsInt(this.endSeq.Text)) { MessageUtil.ShowTips("结束管序号需为正整数!"); return; } if (this.startSeq.Text.Trim() != "") { this.changeNum.Text = (int.Parse(this.endSeq.Text) - int.Parse(this.startSeq.Text) + 1).ToString(); } else { MessageUtil.ShowTips("请先输入起始管序号!"); return; } } private void ultraGrid2_ClickCellButton(object sender, CellEventArgs e) { //if (e.Cell.Column.Key == "ChangeFlag") this.ultraGrid2.UpdateData(); UltraGridRow row = this.ultraGrid2.ActiveRow; UltraGridRow uRow = this.ultraGrid1.ActiveRow; if (row == null) return; if (uRow == null) return; string flag = ""; ArrayList parm = new ArrayList(); if (this.ColStationId.Value.ToString2().Equals("1") || this.ColStationId.Value.ToString2().Equals("4")) { if (this.cmbHeating.Value.ToString2() == "") { MessageUtil.ShowTips("请选择加热炉是入炉还是出炉!"); return; } } if (e.Cell.Column.Key == "ChangeFlag") { if (row.Cells["ChangeFlag"].Text.Equals("未交班")) { flag = "1"; } else { flag = "0"; } } else if (e.Cell.Column.Key == "ChangeFlags") { if (row.Cells["ChangeFlags"].Text.Contains("未交班")) { flag = "1"; } else { flag = "0"; } } parm.Add(flag); parm.Add(uRow.Cells["JudgeStoveNo"].Text); parm.Add(uRow.Cells["LotNo"].Text); parm.Add(row.Cells["Seq"].Text); parm.Add(this.cmbHeating.Value.ToString2()); if(this.ColStationId.Value.ToString2().Equals("0")) { if (!this.ultraGrid1.ActiveRow.HasParent()) { MessageUtil.ShowTips("请选择上料行!"); return; } parm.Add(uRow.Cells["FeedRowNo"].Text); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.signature.FrmColUpdate"; if (this.ColStationId.Value.ToString2().Equals("0")) { ccp.MethodName = "updateFlagFeed"; } else { ccp.MethodName = "updateFlag"; } ccp.ServerParams = new object[] { parm, this.ColStationId.Value.ToString(), row.Cells["ColGroup"].Text, row.Cells["ColShift"].Text }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("交班成功!")) { doQueryData(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } private void cmbHeating_ValueChanged(object sender, EventArgs e) { if (this.ColStationId.Value.ToString() == "1" || this.ColStationId.Value.ToString() == "4") { if (this.cmbHeating.Value.ToString2().Equals("1")) { this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlags"].Hidden = true; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlag"].Hidden = false; } else if (this.cmbHeating.Value.ToString2().Equals("2")) { this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlags"].Hidden = false; this.ultraGrid2.DisplayLayout.Bands[0].Columns["ChangeFlag"].Hidden = true; } } } private void FrmColUpdate_Shown(object sender, EventArgs e) { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("QueryModify")) { toolMenu.Toolbars[0].Tools["QueryModify"].InstanceProps.Visible = DefaultableBoolean.False; } } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (toolMenu == null) return; if (ultraTabControl1.SelectedTab.Key == "0") { if (toolMenu.Toolbars[0].Tools.Exists("QueryModify")) { toolMenu.Toolbars[0].Tools["QueryModify"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Update")) { toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.True; } this.chkRegTime.Text = "生产时间"; this.chkProcess.Enabled = false; } else if (ultraTabControl1.SelectedTab.Key == "1") { if (toolMenu.Toolbars[0].Tools.Exists("QueryModify")) { toolMenu.Toolbars[0].Tools["QueryModify"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Update")) { toolMenu.Toolbars[0].Tools["Update"].InstanceProps.Visible = DefaultableBoolean.False; } this.chkRegTime.Text = "修改时间"; this.chkProcess.Enabled = true; } } private void chkProcess_CheckedChanged(object sender, EventArgs e) { this.ColStationId.Enabled = this.chkProcess.Checked; } private void cmbGroup_ValueChanged(object sender, EventArgs e) { NativeMethodNew na = new NativeMethodNew(this.ob); string departm = UserInfo.GetDepartment(); string plineCode = na.GetPCode(departm);//获取 用户 对应的产线 InitUserName(plineCode, this.ColStationId.Value.ToString2(), this.cmbGroup.Value.ToString2()); } } }