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.UltraWinGrid; using Core.Mes.Client.Comm.Format; using Infragistics.Win; namespace Core.StlMes.Client.ZGMil.Result { public partial class FrmFurnace : FrmBase { public FrmFurnace() { InitializeComponent(); } private void FrmFurnace_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.StartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00"); this.EndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59"); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); } /// /// 重写基类方法 /// /// /// 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 jugeNo = ""; string lotNo = ""; string startTim = ""; string endTim = ""; string plinCode = ""; NativeMethodNew na = new NativeMethodNew(this.ob); plinCode = na.GetPCode(this.UserInfo.GetDeptid()); if (!CheckQuery()) return; if (this.chkTim.Checked) { startTim = this.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTim = this.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); } if (this.chkJugeHeatNo.Checked) { jugeNo = this.txtJugeNo.Text.Trim(); } if (this.chkLotNo.Checked) { lotNo = this.txtLotNo.Text.Trim(); } ArrayList parm = new ArrayList(); parm.Add(jugeNo); parm.Add(lotNo); List listSource = EntityHelper.GetData( "com.steering.mes.zgmil.coup.FrmFurnace.doQueryOffLine", new object[] { parm, startTim, endTim, plinCode }, this.ob); MilOfflineReslutEntity1bindingSource.DataSource = listSource; } /// /// 查询组炉实绩 /// private void doQueryTrack() { string jugeNo = ""; string lotNo = ""; string startTim = ""; string endTim = ""; string plinCode = ""; NativeMethodNew na = new NativeMethodNew(this.ob); plinCode = na.GetPCode(this.UserInfo.GetDeptid()); if (!CheckQuery()) return; if (this.chkTim.Checked) { startTim = this.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTim = this.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); } if (this.chkJugeHeatNo.Checked) { jugeNo = this.txtJugeNo.Text.Trim(); } if (this.chkLotNo.Checked) { lotNo = this.txtLotNo.Text.Trim(); } ArrayList parm = new ArrayList(); parm.Add(jugeNo); parm.Add(lotNo); List listSource = EntityHelper.GetData( "com.steering.mes.zgmil.coup.FrmFurnace.doQueryOffGroup", new object[] { parm, startTim, endTim, plinCode }, this.ob); MilOfflineGroupEntity1bindingSource.DataSource = listSource; } /// /// 数据验证 /// /// private bool CheckQuery() { if (this.chkJugeHeatNo.Checked && string.IsNullOrEmpty(this.txtJugeNo.Text.Trim())) { MessageUtil.ShowWarning("请输入判定炉号!"); return false; } if (this.chkLotNo.Checked && string.IsNullOrEmpty(this.txtLotNo.Text.Trim())) { MessageUtil.ShowWarning("请输入批号!"); return false; } return true; } /// /// 组炉批 /// private void doFurnace() { this.ultraGrid1.UpdateData(); string txtJugeNo = this.txtJudgeStoveNoE.Text.Trim(); string txtLotNo = this.txtLotNoE.Text.Trim(); if (txtJudgeStoveNoE.Equals("") || txtLotNo.Equals("")) { MessageUtil.ShowTips("组炉新炉号和新批号不能为空!"); return; } IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); IQueryable checkRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK1 = 'True' AND CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要组炉的炉批信息!"); return; } if (checkRows.Count() > 1) { MessageUtil.ShowTips("主性能炉批只允许选择一条!"); return; } ArrayList parm = new ArrayList(); ArrayList parm1 = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { MilOfflineReslutEntity1 milOfflineResultEntity = (MilOfflineReslutEntity1)row.ListObject; if (milOfflineResultEntity.GroupNum.ToString() == "") { MessageUtil.ShowTips("组炉支数不能为空!"); return; } if (int.Parse(milOfflineResultEntity.GroupNum.ToString()) > int.Parse(milOfflineResultEntity.OfflineNum.ToString())) { MessageUtil.ShowTips("组炉支数不能大于下线支数!"); return; } if (milOfflineResultEntity.ZpFlag.ToString() == "已组批") { MessageUtil.ShowTips("炉号" + milOfflineResultEntity.JudgeStoveNo.ToString() + "已组炉,不允许重复组炉批!"); return; } string milOffTity = JSONFormat.Format(milOfflineResultEntity); parm.Add(milOffTity); } foreach (UltraGridRow uRow in checkRows) { MilOfflineReslutEntity1 milOfflineResultEntity1 = (MilOfflineReslutEntity1)uRow.ListObject; milOfflineResultEntity1.NewJudgeStoveNo = txtJugeNo; milOfflineResultEntity1.NewLotNo = txtLotNo; string milOffTity1 = JSONFormat.Format(milOfflineResultEntity1); parm1.Add(milOffTity1); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.zgmil.coup.FrmFurnace"; ccp.MethodName = "doFurnace"; ccp.ServerParams = new object[] {parm,parm1,this.UserInfo.GetUserName(),this.UserInfo.GetUserGroup(),this.UserInfo.GetUserOrder() }; 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 void CancelFurnace() { this.ultraGrid2.UpdateData(); IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要组炉的炉批信息!"); return; } ArrayList parm = new ArrayList(); foreach(UltraGridRow uRow in checkMagRows) { MilOfflineGroupEntity1 milOffGrouptity1 = (MilOfflineGroupEntity1)uRow.ListObject; string milOffGroupEntity = JSONFormat.Format(milOffGrouptity1); parm.Add(milOffGroupEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.zgmil.coup.FrmFurnace"; ccp.MethodName = "doCancelFurnace"; 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 FrmFurnace_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 (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("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; } this.chkTim.Text = "下线时间"; } 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; } this.chkTim.Text = "组批时间"; } } private void chkJugeHeatNo_CheckedChanged(object sender, EventArgs e) { this.txtJugeNo.Enabled = this.chkJugeHeatNo.Checked; } private void chkLotNo_CheckedChanged(object sender, EventArgs e) { this.txtLotNo.Enabled = this.chkLotNo.Checked; } private void chkTim_CheckedChanged(object sender, EventArgs e) { this.StartTime.Enabled = this.chkTim.Checked; this.EndTime.Enabled = this.chkTim.Checked; } } }