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 System.Collections; using Infragistics.Win.UltraWinEditors; using Core.Mes.Client.Comm.Server; using Infragistics.Win.UltraWinGrid; using Infragistics.Win; using System.Text.RegularExpressions; using Core.Mes.Client.Comm.Format; namespace Core.StlMes.Client.ZGMil.Result { public partial class FrmDispatch : FrmBase { public FrmDispatch() { InitializeComponent(); } private void FrmDispatch_Load(object sender, EventArgs e) { RegStartTime.Value = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " 00:00:00"); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[1]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); InitBase(); } UltraComboEditor uReson = new UltraComboEditor(); private void InitBase() { //ClsBaseInfo.FillComBaseInfo(uReson, "5006", ob, true); InitComboEditor(uReson, "com.steering.mes.zgmil.coup.FrmDispatch.doQueryBaseReason", "BASECODE", this.ob, true); BindColumn(uReson, "StopReason", this.Controls, this.ultraGrid1, 1); } /// /// 初始化下拉框 /// /// 下拉框 /// 请求的服务 /// 值成员 /// ob对象 /// 是否有空行 public static void InitComboEditor(UltraComboEditor uce, string methodId, string valueMember, OpeBase ob, bool isEmpty) { DataTable dt = ServerHelper.GetData(methodId, null, ob); if (dt != null && dt.Rows.Count > 0) { if (isEmpty) { Object[] obj = new Object[] { "", "" }; DataRow dr = dt.NewRow(); dr.ItemArray = obj; dt.Rows.InsertAt(dr, 0); } uce.DataSource = dt; uce.ValueMember = valueMember; SetComboItemHeight(uce); } } /// /// 将下拉框绑定到GRID列 /// /// 下拉框(已经初始化完成) /// 列名 /// 空间集合(每次只需填入this.Controls) /// GRID /// GRID的第几层结构 static void BindColumn(UltraComboEditor uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGrid ug, int i) { con.Add(uce); uce.Visible = false; ug.DisplayLayout.Bands[i].Columns[ColumnName].EditorComponent = uce; ug.DisplayLayout.Bands[i].Columns[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; SetComboItemHeight(uce); } /// /// 设置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; } } } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": doQueryData(); break; case"QueryStop": doQueryStop(); break; case "Delete": DeleteData(); break; case "Close": this.Close(); break; } } /// /// 查询停机记录 /// private void doQueryStop() { string regTime = RegStartTime.Value.ToString("yyyy-MM-dd"); string UserOrder = ""; string UserGroup = ""; if (this.cmbOrder.Text.Trim() != "") { UserOrder = this.cmbOrder.Value.ToString(); } if (this.cmbGroup.Text.Trim() != "") { UserGroup = this.cmbGroup.Value.ToString(); } string departm = ""; string plineCode = ""; NativeMethodNew na = new NativeMethodNew(this.ob); departm = UserInfo.GetDepartment(); plineCode = na.GetPCode(departm);//获取 用户 对应的产线 ArrayList parm = new ArrayList(); parm.Add(regTime); parm.Add(UserOrder); parm.Add(UserGroup); parm.Add(plineCode); List listSource = EntityHelper.GetData( "com.steering.mes.zgmil.coup.FrmDispatch.doQueryStopData", new object[] { parm }, this.ob); MilOpenStopResultEntitybindingSource.DataSource = listSource; } /// /// 查询炉信息 /// private void doQueryData() { string departm = ""; string plineCode = ""; NativeMethodNew na = new NativeMethodNew(this.ob); departm = UserInfo.GetDepartment(); plineCode = na.GetPCode(departm);//获取 用户 对应的产线 string regStartTim = RegStartTime.Value.ToString("yyyy-MM-dd"); string[] L1 = new string[] { "JudgeStoveNo", "LotNo"}; string[] L2 = new string[] { "JudgeStoveNo", "LotNo"}; ArrayList parm = new ArrayList(); parm.Add(regStartTim); List listSource = EntityHelper.GetData( "com.steering.mes.zgmil.coup.FrmDispatch.doQueryMilPlan", new object[] { parm, plineCode }, this.ob); List listSource2 = EntityHelper.GetData( "com.steering.mes.zgmil.coup.FrmDispatch.doQueryMilSizingRack", new object[] { }, this.ob); EntityHelper.AddEntityRelation(listSource, listSource2, L1, L2); MilPlanEntity1bindingSource.DataSource = listSource; } /// /// 删除停机记录 /// private void DeleteData() { this.ultraGrid2.UpdateData(); UltraGridRow uRow = this.ultraGrid2.ActiveRow; ArrayList list = new ArrayList(); list.Add(uRow.Cells["MatNo"].Value.ToString()); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.zgmil.coup.FrmDispatch"; ccp.MethodName = "deleteStopData"; ccp.ServerParams = new object[] {list }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("删除成功!")) { doQueryStop(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } private void ultraGrid1_ClickCellButton(object sender, CellEventArgs e) { this.ultraGrid1.UpdateData(); UltraGridRow row = this.ultraGrid1.ActiveRow; ArrayList list = new ArrayList(); if (row.Cells["StartTime"].Text.Trim() == "" || row.Cells["StopReason"].Text.Trim() == "") { MessageUtil.ShowTips("开机时间和停机原因都不能为空!"); return; } MilSizingRackEntity1 milSizRackEtity = (MilSizingRackEntity1)row.ListObject; string milSizingRackTity = JSONFormat.Format(milSizRackEtity); list.Add(milSizingRackTity); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.zgmil.coup.FrmDispatch"; ccp.MethodName = "stopSizingRack"; ccp.ServerParams = new object[] { list, row.Cells["StartTime"].Text.Trim(), row.Cells["StopReason"].Text.Trim(),this.UserInfo.GetUserName(),this.UserInfo.GetUserOrder(),this.UserInfo.GetUserGroup() }; ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("停机成功!")) { doQueryData(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } private void FrmDispatch_Shown(object sender, EventArgs e) { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("QueryStop")) { toolMenu.Toolbars[0].Tools["QueryStop"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } this.ultraLabel2.Visible = false; this.cmbOrder.Visible = false; this.ultraLabel3.Visible = false; this.cmbGroup.Visible = 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("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("QueryStop")) { toolMenu.Toolbars[0].Tools["QueryStop"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False; } this.ultraLabel2.Visible = false; this.cmbOrder.Visible = false; this.ultraLabel3.Visible = false; this.cmbGroup.Visible = false; } else { if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("QueryStop")) { toolMenu.Toolbars[0].Tools["QueryStop"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Delete")) { toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True; } this.ultraLabel2.Visible = true; this.cmbOrder.Visible = true; this.ultraLabel3.Visible = true; this.cmbGroup.Visible = true; } } } }