using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Control; using Core.StlMes.Client.Mcp.VRP.Entity; 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.Mcp.VRP.Vrp { public partial class FrmVrpInStore : FrmBase { private string plineCod = ""; private string SlGx { get { if (plineCod == "C018") { return "650107"; } else if (plineCod == "C013") { return "650605"; } else if (plineCod == "C014") { return "650505"; } else if (plineCod == "C021") { return "650405"; } else if (plineCod == "C070") { return "650705"; } return "650405"; } } public FrmVrpInStore() { InitializeComponent(); } private string[] plineCode = null; private void FrmVrpInStore_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"); this.StartTime1.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00"); this.EndTime1.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59"); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid3.DisplayLayout.Bands[0]); plineCode = comm.GetPlineCode(this.ValidDataPurviewIds,ob); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "DoQuery": QuerySinglePlan(); break; case"DoQueryInList": doQueryInList(); break; case"DoSave": doSave(); break; //case"updateBatchNo": // updateBatchNo(); // break; case"DoBeside": doBeside(); break; case"CancelBeside": cancelBeside(); break; case"CancelPipe": cancelPipe(); break; case "CutLength": cutLength(); break; case "Close": this.Close(); break; } } /// /// 查询炉计划 /// private void QuerySinglePlan() { string startTim = ""; string endTim = ""; string lotNo = ""; string judgeNo = ""; string nodeStaus = ""; if (this.chkJugeHeatNo.Checked && this.txtJugeNo.Text.Trim() != "") { judgeNo = this.txtJugeNo.Text.Trim(); } if (chkTim.Checked) { if (DateTime.Parse(StartTime.Value.ToString()) > DateTime.Parse(EndTime.Value.ToString())) { MessageUtil.ShowTips("选择的前面时间不能大于后面的时间!"); return; } else { startTim = this.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); endTim = this.EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); } } if (this.chkLotNo.Checked && this.txtLotNo.Text.Trim() != "") { lotNo = this.txtLotNo.Text.Trim(); } nodeStaus = this.ultraOptionSet2.CheckedItem.DataValue.ToString(); ArrayList parmList = new ArrayList(); parmList.Add(startTim); parmList.Add(endTim); parmList.Add(lotNo); parmList.Add(judgeNo); parmList.Add(nodeStaus); List listSource = EntityHelper.GetData( "com.steering.mes.mcp.Vrp.FrmVrpInStore.querySinglePlan", new object[] { parmList, plineCode }, this.ob); PlnZyDbkMEntitybindingSource.DataSource = listSource; } /// /// 查询交库实绩 /// private void doQueryInList() { string lotNo = ""; string jugeNo = ""; string startTim = ""; string endTim = ""; if (this.chkpipeJudgeNo.Checked && this.pipeJudgeNo.Text.Trim() != "") { jugeNo = this.pipeJudgeNo.Text.Trim(); } if(this.chkPipeLotNo.Checked && this.pipeLotNo.Text.Trim() != "") { lotNo = pipeLotNo.Text.Trim(); } if (this.chkPipeTim.Checked) { if (DateTime.Parse(StartTime1.Value.ToString()) > DateTime.Parse(EndTime1.Value.ToString())) { MessageUtil.ShowTips("选择的前面时间不能大于后面的时间!"); return; } else { startTim = this.StartTime1.Value.ToString("yyyy-MM-dd"); endTim = this.EndTime1.Value.ToString("yyyy-MM-dd"); } } ArrayList list = new ArrayList(); list.Add(startTim); list.Add(endTim); list.Add(lotNo); list.Add(jugeNo); List listSource = EntityHelper.GetData( "com.steering.mes.mcp.Vrp.FrmVrpInStore.doQueryInList", new object[] { list, plineCode }, this.ob); YdmBcInlistEntitybindingSource.DataSource = listSource; } /// /// 交库 /// private void doSave() { this.ultraGrid2.UpdateData(); UltraGridRow uRow = this.ultraGrid1.ActiveRow; if (uRow == null) { return; } IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要交库的信息!"); return; } ArrayList parmList = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { PortVrpBatchSampleResultEntity portTity = (PortVrpBatchSampleResultEntity)row.ListObject; portTity.PhyBatchNo = portTity.NewPhyBatchNo; if (portTity.PhyBatchNo.Equals("")) { MessageUtil.ShowTips("性能批号为空,不允许交库!"); return; } if (portTity.IsSamplePipe.Equals("样管")) { portTity.IsSamplePipe = "1"; } else { portTity.IsSamplePipe = "0"; } string vrpEntity = JSONFormat.Format(portTity); parmList.Add(vrpEntity); } PlnZyDbkMEntity plnZyTity = (PlnZyDbkMEntity)uRow.ListObject; string plnZyEntity = JSONFormat.Format(plnZyTity); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpInStore"; ccp.MethodName = "doSave"; ccp.ServerParams = new object[] { parmList,plnZyEntity,UserInfo.GetUserName(),UserInfo.GetDeptid(),UserInfo.GetUserOrder(),UserInfo.GetUserGroup()}; ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("交库成功!")) { QuerySinglePlan(); string load = ccp.ReturnObject.ToString(); if(load.Equals("1")) { MessageUtil.ShowTips("上料支数和下线支数已平,请尽快结炉!"); } MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } ///// ///// 修改性能批号 ///// //private void updateBatchNo() //{ // this.ultraGrid2.UpdateData(); // UltraGridRow uRow = this.ultraGrid1.ActiveRow; // if (uRow == null) // { // return; // } // IQueryable checkMagRows = this.ultraGrid2.Rows.AsQueryable().Where(" CHK = 'True'"); // if (checkMagRows.Count() == 0) // { // MessageUtil.ShowTips("请选择需要分批的信息!"); // return; // } // if (!StringUtil.IsInt(this.txtSampleNum.Text.ToString3())) // { // MessageUtil.ShowTips("样管数请输入整数!"); // return; // } // ArrayList parmList = new ArrayList(); // foreach (UltraGridRow row in checkMagRows) // { // PortVrpBatchSampleResultEntity portVrpEntity = (PortVrpBatchSampleResultEntity)row.ListObject; // if (portVrpEntity.IsSamplePipe.Equals("样管")) // { // portVrpEntity.IsSamplePipe = "1"; // } // else // { // portVrpEntity.IsSamplePipe = "0"; // } // string portEntity = JSONFormat.Format(portVrpEntity); // parmList.Add(portEntity); // } // CoreClientParam ccp = new CoreClientParam(); // ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpInStore"; // ccp.MethodName = "updateBatchNo"; // ccp.ServerParams = new object[] { parmList,this.txtSampleNum.Text }; // ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); // if (ccp.ReturnCode != -1) // { // if (ccp.ReturnInfo.Equals("分批成功!")) // { // QuerySinglePlan(); // MessageUtil.ShowTips(ccp.ReturnInfo); // } // else // { // MessageUtil.ShowTips(ccp.ReturnInfo); // } // } //} /// /// 撤销交库 /// private void cancelPipe() { this.ultraGrid3.UpdateData(); IQueryable checkMagRows = this.ultraGrid3.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要撤销交库的信息!"); return; } ArrayList parmList = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { YdmBcInlistEntity ydmBcTity = (YdmBcInlistEntity)row.ListObject; string ydmBcEntity = JSONFormat.Format(ydmBcTity); parmList.Add(ydmBcEntity); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpInStore"; ccp.MethodName = "cancelPipe"; ccp.ServerParams = new object[] { parmList }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("撤销成功!")) { doQueryInList(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 结炉 /// private void doBeside() { this.ultraGrid1.UpdateData(); UltraGridRow row = this.ultraGrid1.ActiveRow; if (row == null) { return; } PlnZyDbkMEntity plnEntity = (PlnZyDbkMEntity)row.ListObject; string plnTity = JSONFormat.Format(plnEntity); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpInStore"; ccp.MethodName = "doBeside"; ccp.ServerParams = new object[] { plnTity }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("结炉成功!")) { QuerySinglePlan(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } /// /// 撤销结炉 /// private void cancelBeside() { this.ultraGrid1.UpdateData(); UltraGridRow row = this.ultraGrid1.ActiveRow; if (row == null) { return; } PlnZyDbkMEntity plnEntity = (PlnZyDbkMEntity)row.ListObject; string plnTity = JSONFormat.Format(plnEntity); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpInStore"; ccp.MethodName = "cancelDoBeside"; ccp.ServerParams = new object[] { plnTity }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("结炉回退成功!")) { QuerySinglePlan(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } private void chkTim_CheckedChanged(object sender, EventArgs e) { this.StartTime.Enabled = this.EndTime.Enabled = this.chkTim.Checked; } private void chkLotNo_CheckedChanged(object sender, EventArgs e) { this.txtLotNo.Enabled = this.chkLotNo.Checked; } private void chkJugeHeatNo_CheckedChanged(object sender, EventArgs e) { this.txtJugeNo.Enabled = this.chkJugeHeatNo.Checked; } private void chkPipeTim_CheckedChanged(object sender, EventArgs e) { this.StartTime1.Enabled = this.EndTime1.Enabled = this.chkPipeTim.Checked; } private void chkPipeLotNo_CheckedChanged(object sender, EventArgs e) { this.pipeLotNo.Enabled = this.chkPipeLotNo.Checked; } private void chkpipeJudgeNo_CheckedChanged(object sender, EventArgs e) { this.pipeJudgeNo.Enabled = this.chkpipeJudgeNo.Checked; } 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("DoQuery")) { toolMenu.Toolbars[0].Tools["DoQuery"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("DoSave")) { toolMenu.Toolbars[0].Tools["DoSave"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("DoBeside")) { toolMenu.Toolbars[0].Tools["DoBeside"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("CancelBeside")) { toolMenu.Toolbars[0].Tools["CancelBeside"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("DoQueryInList")) { toolMenu.Toolbars[0].Tools["DoQueryInList"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelPipe")) { toolMenu.Toolbars[0].Tools["CancelPipe"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("updateBatchNo")) { toolMenu.Toolbars[0].Tools["updateBatchNo"].InstanceProps.Visible = DefaultableBoolean.True; } }else if(ultraTabControl1.SelectedTab.Key == "1") { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("DoQuery")) { toolMenu.Toolbars[0].Tools["DoQuery"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("DoSave")) { toolMenu.Toolbars[0].Tools["DoSave"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("DoBeside")) { toolMenu.Toolbars[0].Tools["DoBeside"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelBeside")) { toolMenu.Toolbars[0].Tools["CancelBeside"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("DoQueryInList")) { toolMenu.Toolbars[0].Tools["DoQueryInList"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("CancelPipe")) { toolMenu.Toolbars[0].Tools["CancelPipe"].InstanceProps.Visible = DefaultableBoolean.True; } if (toolMenu.Toolbars[0].Tools.Exists("updateBatchNo")) { toolMenu.Toolbars[0].Tools["updateBatchNo"].InstanceProps.Visible = DefaultableBoolean.False; } } } private void FrmVrpInStore_Shown(object sender, EventArgs e) { if (toolMenu == null) return; if (toolMenu.Toolbars[0].Tools.Exists("DoQueryInList")) { toolMenu.Toolbars[0].Tools["DoQueryInList"].InstanceProps.Visible = DefaultableBoolean.False; } if (toolMenu.Toolbars[0].Tools.Exists("CancelPipe")) { toolMenu.Toolbars[0].Tools["CancelPipe"].InstanceProps.Visible = DefaultableBoolean.False; } } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { this.ultraGrid1.UpdateData(); UltraGridRow row = this.ultraGrid1.ActiveRow; if(row == null) { return; } plineCod = row.Cells["PlineCode"].Value.ToString(); doQueryVrpRack(row.Cells["HeatPlanNo"].Text,row.Cells["JudgeStoveNo"].Text); //镦拔扩管号队列查询 DataTable dt1 = ServerHelper.GetData("com.steering.mes.mcp.common.PlanService.getQueryDbkPortVrp", new object[] { row.Cells["HeatPlanNo"].Text.ToString() }, ob); GridHelper.CopyDataToDatatable(ref dt1, ref dataTable3, true); } private void BtOffline_Click(object sender, EventArgs e) { UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) return; UltraGridRow row3 = ultraGrid2.ActiveRow; if (row3 == null) return; string groupNo = row3.Cells["GroupNo"].Value.ToString(); if (OfflineNum.Value.ToString().Equals("0")) { MessageUtil.ShowTips("请输入离线支数!"); return; } if (txtReasion.Text.Trim().ToString().Equals("")) { MessageUtil.ShowTips("请输入离线原因!"); return; } // VrpMeasuringResultEntity result = this.planMeasuringQuery1.Value; string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); ArrayList list = new ArrayList(); list.Add(row.Cells["HeatPlanNo"].Value.ToString()); list.Add(SlGx); list.Add(""); list.Add(this.UserInfo.GetUserName()); list.Add(time); list.Add(this.UserInfo.GetUserOrder()); list.Add(this.UserInfo.GetUserGroup()); list.Add(OfflineNum.Value.ToString()); list.Add(row3.Cells["JudgeStoveNo"].Value.ToString()); list.Add(row3.Cells["BatchNo"].Value.ToString()); list.Add(txtReasion.Text.ToString()); if (MessageUtil.ShowYesNoAndQuestion("是否离线?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); try { this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待 if (Constant.WaitingForm == null) { Constant.WaitingForm = new WaitingForm(); } Constant.WaitingForm.ShowToUser = true; Constant.WaitingForm.Show(); Constant.WaitingForm.Update(); ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpInStore"; ccp.MethodName = "offLineExpandResult"; ccp.ServerParams = new Object[] { list, row.Cells["PlineCode"].Value.ToString(), groupNo }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } catch (Exception ex) { this.Cursor = Cursors.Default; Constant.WaitingForm.ShowToUser = false; Constant.WaitingForm.Close(); Constant.WaitingForm = null; } if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("离线成功!")) { QuerySinglePlan(); } } } private void doQueryVrpRack(string heatPlanNo, string judgeNo) { List listSource = EntityHelper.GetData( "com.steering.mes.mcp.Vrp.FrmVrpInStore.doQueryVrpRack", new object[] { heatPlanNo, judgeNo }, this.ob); PortVrpBatchSampleResultEntitybindingSource.DataSource = listSource; foreach (UltraGridRow row in this.ultraGrid2.Rows) { row.Cells["CHK"].Value = "True"; } } private void ultraGrid2_CellChange(object sender, CellEventArgs e) { UltraGridRow row = this.ultraGrid2.ActiveRow; if (e.Cell.Column.Key == "ActCount") { if (!StringUtil.IsInt(row.Cells["ActCount"].Text)) { MessageUtil.ShowTips("支数应为整数!"); return; } DataTable ds = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpInStore.doQueryStausRack", new object[] { row.Cells["HeatPlanNo"].Text, row.Cells["JudgeStoveNo"].Text, row.Cells["PhyBatchNo"].Text, row.Cells["IsSamplePipe"].Text }, ob); if (int.Parse(row.Cells["ActCount"].Text) > int.Parse(ds.Rows[0][0].ToString())) { MessageUtil.ShowTips("炉批下所输入交库支数不能大于能交库支数!"); return; } DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Vrp.FrmVrpInStore.doQueryStausRackWgt", new object[] { row.Cells["HeatPlanNo"].Text, row.Cells["JudgeStoveNo"].Text, row.Cells["PhyBatchNo"].Text, row.Cells["IsSamplePipe"].Text,row.Cells["ActCount"].Text }, ob); row.Cells["ActWeight"].Value = dt.Rows[0][0].ToString(); } } private void cutLength() { ultraGrid1.UpdateData(); UltraGridRow uRow = this.ultraGrid1.ActiveRow; string cutHead = uRow.Cells["ActLenCuthead"].Text.Trim(); string cutEnd = uRow.Cells["ActLenCutend"].Text.Trim(); if (!StringUtil.IsInt(cutHead)) { MessageUtil.ShowTips("切头应该为数字"); return; } if (!StringUtil.IsInt(cutEnd)) { MessageUtil.ShowTips("切尾应该为数字"); return; } if (cutHead.Equals("")) { MessageUtil.ShowTips("切头长度不能为空"); return; } if (cutEnd.Equals("")) { MessageUtil.ShowTips("切尾长度不能为空"); return; } if (uRow == null) { MessageUtil.ShowTips("炉计划为空!"); return; } PlnZyDbkMEntity plnZyTity = (PlnZyDbkMEntity)uRow.ListObject; string plnZyEntity = JSONFormat.Format(plnZyTity); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Vrp.FrmVrpInStore"; ccp.MethodName = "updateCutLength"; ccp.ServerParams = new object[] { plnZyEntity,UserInfo.GetUserName() }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("回报切头尾长度成功!")) { QuerySinglePlan(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } } }