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.YdmStuffManage.Entity; using System.Collections; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; using Infragistics.Win; namespace Core.StlMes.Client.YdmStuffManage { public partial class FrmStuffFurnace : FrmBase { public FrmStuffFurnace() { InitializeComponent(); } private void FrmStuffFurnace_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); BaseMethod.InitCellPosition(ultraGrid2, new string[] { "ActTheoryWeight", "ActCount", "ActLenMax", "ActLenMin", "actLen", "actFixNum", "actFixLen", "ActDimater", "FurnaceCount" }); BaseMethod.InitCellPosition(ultraGrid1, new string[] { "ActTheoryWeight", "ActCount", "ActLenMax", "ActLenMin", "actLen", "actFixNum", "actFixLen", "ActDimater" }); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": doQueryMat(); break; case"QueryTrack": doQueryTrack(); break; case "Furnace": doFurnace(); break; case "CancelFurnace": CancelFurnace(); break; case "Close": this.Close(); break; } } /// /// 查询收料实绩 /// private void doQueryMat() { string heatNo = ""; string judgeHeatNo = ""; ArrayList parm = new ArrayList(); if (!CheckQuery()) return; if (checkHeatNo.Checked) { heatNo = this.txt_heatNo.Text.Trim(); } if (chkJudgeHeatNo.Checked) { judgeHeatNo = this.txt_judgeHeatNo.Text.Trim(); } parm.Add(heatNo); parm.Add(judgeHeatNo); List listSource = EntityHelper.GetData( "com.steering.pss.ydm.Stuffmanage.FrmStuffFurnace.doQueryMat", new object[] { parm }, this.ob); //MatGpMEntitybindingSource.DataSource = listSource; } /// /// 数据验证 /// /// private bool CheckQuery() { if (this.checkHeatNo.Checked && string.IsNullOrEmpty(this.txt_heatNo.Text.Trim())) { MessageUtil.ShowWarning("请输入熔炼炉号!"); return false; } if (this.chkJudgeHeatNo.Checked && string.IsNullOrEmpty(this.txt_judgeHeatNo.Text.Trim())) { MessageUtil.ShowWarning("请输入判定炉号!"); return false; } return true; } /// /// 查询组炉实绩 /// private void doQueryTrack() { string heatNo = ""; string judgeHeatNo = ""; ArrayList parm = new ArrayList(); if (!CheckQuery()) return; if (checkHeatNo.Checked) { heatNo = this.txt_heatNo.Text.Trim(); } if (chkJudgeHeatNo.Checked) { judgeHeatNo = this.txt_judgeHeatNo.Text.Trim(); } parm.Add(heatNo); parm.Add(judgeHeatNo); List listSource = EntityHelper.GetData( "com.steering.pss.ydm.Stuffmanage.FrmStuffFurnace.doQueryTrack", new object[] { parm }, this.ob); MatGpTrackEntitybindingSource.DataSource = listSource; } /// /// 确认组炉 /// private void doFurnace() { this.ultraGrid2.UpdateData(); string judgeNo = ""; string stoveNo = ""; string departId = ClsBaseInfo.GetDepartIdBySectionId(this.UserInfo.GetDeptid(), this.ob); string departMent = ClsBaseInfo.GetDepartBySectionId(this.UserInfo.GetDeptid(), this.ob); IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (this.txt_newJugeNo.Text == "") { MessageUtil.ShowTips("组炉时新判定炉号不能为空!"); return; } else { judgeNo = this.txt_newJugeNo.Text.Trim(); } if (this.newStove.Text == "") { MessageUtil.ShowTips("组炉时熔炼炉号不能为空!"); return; } else { stoveNo = this.newStove.Text.Trim(); } ArrayList fixLenList = new ArrayList(); ArrayList gradeList = new ArrayList(); ArrayList specList = new ArrayList(); ArrayList stdList = new ArrayList(); ArrayList parm = new ArrayList(); foreach(UltraGridRow row in checkMagRows) { fixLenList.Add(row.Cells["ActFixLen"].Value.ToString()); gradeList.Add(row.Cells["JudgeGradename"].Value.ToString()); specList.Add(row.Cells["ActDimater"].Value.ToString()); stdList.Add(row.Cells["JudgeStdName"].Value.ToString()); } if (CompareCloum(fixLenList)) { MessageUtil.ShowTips("单倍长度不一样,不允许组炉!"); return; } if (CompareCloum(gradeList)) { MessageUtil.ShowTips("钢种不一样,不允许组炉!"); return; } if(CompareCloum(specList)) { MessageUtil.ShowTips("规格不一样,不允许组炉!"); return; } if (CompareCloum(stdList)) { MessageUtil.ShowTips("标准名称不一致,不允许组炉!"); } foreach (UltraGridRow uRow in checkMagRows) { ArrayList list = new ArrayList(); MatGpMEntity matGpEntity = (MatGpMEntity)uRow.ListObject; string matGpTity = JSONFormat.Format(matGpEntity); list.Add(matGpTity); parm.Add(list); } if (MessageUtil.ShowYesNoAndQuestion("是否组炉?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.ydm.Stuffmanage.FrmStuffFurnace"; ccp.MethodName = "doFurnace"; ccp.ServerParams = new object[] { parm, judgeNo, stoveNo, this.UserInfo.GetUserName(), this.UserInfo.GetDeptid(), this.UserInfo.GetDepartment(), departId, departMent }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("组炉成功!")) { doQueryMat(); MessageUtil.ShowTips(ccp.ReturnInfo); } } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } /// /// 判断集合中所有元素是否相等 /// /// /// private bool CompareCloum(ArrayList list) { return list.Cast().Distinct().Count() == 1; } /// /// 撤销组炉 /// private void CancelFurnace() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); ArrayList parm = new ArrayList(); foreach(UltraGridRow uRow in checkMagRows) { ArrayList list = new ArrayList(); MatGpTrackEntity matGpTrackEntity = (MatGpTrackEntity)uRow.ListObject; string matGpTity = JSONFormat.Format(matGpTrackEntity); list.Add(matGpTity); parm.Add(list); } if (MessageUtil.ShowYesNoAndQuestion("是否撤销?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.ydm.Stuffmanage.FrmStuffFurnace"; ccp.MethodName = "cancelFurnace"; ccp.ServerParams = new object[] { parm}; ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("撤销成功!")) { doQueryTrack(); MessageUtil.ShowTips(ccp.ReturnInfo); } } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } private void ultraGrid2_CellChange(object sender, CellEventArgs e) { if (e.Cell.Column.Key.Equals("CHK")) { if (e.Cell.Value.ToString() == "True") { newStove.Items.Add(e.Cell.Row.Cells["StoveNo"].Value.ToString()); } else { if (newStove.Items.Contains(e.Cell.Row.Cells["StoveNo"].Value.ToString())) { newStove.Items.Remove(e.Cell.Row.Cells["StoveNo"].Value.ToString()); } } } } private void FrmStuffFurnace_Shown(object sender, EventArgs e) { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("QueryTrack")) { toolMenu.Toolbars[0].Tools["QueryTrack"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelFurnace")) { toolMenu.Toolbars[0].Tools["CancelFurnace"].InstanceProps.Visible = DefaultableBoolean.False; } } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (ultraTabControl1.SelectedTab.Key == "0") { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("Furnace")) { toolMenu.Toolbars[0].Tools["Furnace"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("QueryTrack")) { toolMenu.Toolbars[0].Tools["QueryTrack"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelFurnace")) { toolMenu.Toolbars[0].Tools["CancelFurnace"].InstanceProps.Visible = DefaultableBoolean.False; } } else { if (toolMenu.Toolbars[0].Tools.Exists("Query")) { toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("Furnace")) { toolMenu.Toolbars[0].Tools["Furnace"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("QueryTrack")) { toolMenu.Toolbars[0].Tools["QueryTrack"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("CancelFurnace")) { toolMenu.Toolbars[0].Tools["CancelFurnace"].InstanceProps.Visible = DefaultableBoolean.True; } } } } }