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 Core.Mes.Client.Comm.Server; using CoreFS.CA06; using System.Collections; using Core.Mes.Client.Comm.Control; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Tool; using Infragistics.Win; using Infragistics.Win.UltraWinEditors; namespace Core.StlMes.Client.Mcp.Coupling { public partial class FrmMachineCut : FrmBase { public FrmMachineCut() { InitializeComponent(); } private void FrmMachine_Load(object sender, EventArgs e) { //获取工序 //DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachineCut.getQueryGx", new object[] { "7003" }, this.ob); //cmbGx.DataSource = dt; //cmbGx.DisplayMember = "BASENAME"; //cmbGx.ValueMember = "BASECODE"; //获取产线 DataTable dt1 = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachineCut.getQueryPline", new object[] { "H" }, this.ob); cmbCx.DataSource = dt1; cmbCx.DisplayMember = "PLINE_NAME"; cmbCx.ValueMember = "PLINE_CODE"; //获取切管机床 DataTable dt2 = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachineCut.getQuerySoue", new object[] { "7019" }, this.ob); ultraComboEditor1.DataSource = dt2; ultraComboEditor1.DisplayMember = "BASENAME"; ultraComboEditor1.ValueMember = "BASECODE"; UltraComboEditor uceAbc = new UltraComboEditor(); ultraGrid2.DisplayLayout.Bands[0].Columns["PRO_BC"].EditorComponent = uceAbc; ultraGrid2.DisplayLayout.Bands[0].Columns["PRO_BC"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; ValueList vlistSteel = new ValueList(); ; vlistSteel.ValueListItems.Insert(0, "0", "常白班"); vlistSteel.ValueListItems.Insert(1, "1", "早"); vlistSteel.ValueListItems.Insert(2, "2", "中"); vlistSteel.ValueListItems.Insert(3, "3", "夜"); ultraGrid2.DisplayLayout.Bands[0].Columns["PRO_BC"].ValueList = vlistSteel; UltraComboEditor uceAbz = new UltraComboEditor(); ultraGrid2.DisplayLayout.Bands[0].Columns["PRO_BZ"].EditorComponent = uceAbz; ultraGrid2.DisplayLayout.Bands[0].Columns["PRO_BZ"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; ValueList vlistSteelbz = new ValueList(); ; vlistSteelbz.ValueListItems.Insert(0, "1", "甲"); vlistSteelbz.ValueListItems.Insert(1, "2", "乙"); vlistSteelbz.ValueListItems.Insert(2, "3", "丙"); vlistSteelbz.ValueListItems.Insert(3, "4", "丁"); ultraGrid2.DisplayLayout.Bands[0].Columns["PRO_BZ"].ValueList = vlistSteelbz; } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "DoQuery": DoQuery(); break; case "DoSave": DoSave(); break; case "DoUpdate": DoUpdate(); break; case "DoDelete": DoDelete(); break; case "DoClose": this.Close(); break; } } /// /// 查询 /// private void DoQuery() { ArrayList list = new ArrayList(); list.Add(txtGroup.Text.ToString()); DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachineCut.getQueryPhosphateItem", new object[] { list }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true); foreach (UltraGridRow row in ultraGrid1.Rows) { //row.Cells["PLINE_CODE"].Appearance.BackColor = Color.Transparent; //row.Cells["PLINE_CODE"].Appearance.BackHatchStyle = BackHatchStyle.Default; //row.Cells["PLINE_CODE"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; row.Cells["MACHINE_NO"].Appearance.BackColor = Color.Transparent; row.Cells["MACHINE_NO"].Appearance.BackHatchStyle = BackHatchStyle.Default; row.Cells["MACHINE_NO"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } } /// /// 新增 /// private void DoSave() { ultraGrid1.UpdateData(); int AddCount = 0; ArrayList list1 = new ArrayList(); string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); string flag = ""; foreach (UltraGridRow ugr in ultraGrid1.Rows) { if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true) { flag = "1"; //if (ugr.Cells["PLINE_CODE"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请选择产线!"); return; } //if (ugr.Cells["PROCESS_NO"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请选择工序点!"); return; } //if (ugr.Cells["MACHINE_GROUP"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请输入切断编号!"); return; } if (ugr.Cells["MACHINE_NO"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请输入机床编号!"); return; } //if (ugr.Cells["MACHINE_USER1"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请输入操作人1!"); return; } ArrayList pram = new ArrayList(); pram.Add(ugr.Cells["MACHINE_NO"].Value.ToString()); //pram.Add(ugr.Cells["PLINE_CODE"].Value.ToString()); string jc = ugr.Cells["MACHINE_NO"].Value.ToString() ; string dtjc = ""; DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachineCut.queryMachine", new object[] { pram }, this.ob); if (dt.Rows.Count > 0) { dtjc = dt.Rows[0]["MACHINE_NO"].ToString(); } if (jc == dtjc) { MessageUtil.ShowTips("切管机编号相同请查验!"); return; } AddCount += 1; ArrayList list = new ArrayList(); list.Add(ugr.Cells["MACHINE_NO"].Value.ToString()); list.Add(ugr.Cells["MACHINE_NO"].Text.Trim().ToString()); list.Add(this.UserInfo.GetUserName()); list.Add(dtime); list.Add("700302"); list1.Add(list); } } ArrayList list2 = new ArrayList(); foreach (UltraGridRow ugr in ultraGrid2.Rows) { if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true) { flag = "2"; AddCount += 1; UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) { MessageUtil.ShowTips("机床信息不能为空"); return; } ArrayList list = new ArrayList(); if (ugr.Cells["PRO_BZ"].Text.ToString().Equals("")) { MessageUtil.ShowTips("班组不能为空"); return; } list.Add(row.Cells["MACHINE_NO"].Value.ToString()); list.Add("700302"); list.Add(ugr.Cells["MACHINE_USER1"].Text.Trim().ToString()); list.Add(ugr.Cells["MACHINE_USER2"].Text.Trim().ToString()); list.Add(ugr.Cells["PRO_BZ"].Value.ToString()); list.Add(this.UserInfo.GetUserName()); list.Add(dtime); list2.Add(list); } } if (AddCount == 0) { MessageUtil.ShowTips("请选择数据!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否新增?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.coup.FrmMachineCut"; ccp.MethodName = "getAddPhosphateItem"; ccp.ServerParams = new object[] { list1, list2, flag }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("新增成功!")) { DoQuery(); } } /// /// 修改 /// private void DoUpdate() { ultraGrid1.UpdateData(); int updateCount = 0; ArrayList list1 = new ArrayList(); string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); string flag = ""; foreach (UltraGridRow ugr in ultraGrid1.Rows) { if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true) { flag = "1"; //if (ugr.Cells["PLINE_CODE"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请选择产线!"); return; } if (ugr.Cells["MACHINE_NO"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请输入机床编号!"); return; } //if (ugr.Cells["MACHINE_USER1"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请输入操作人1!"); return; } //ArrayList pram = new ArrayList(); //pram.Add(ugr.Cells["MACHINE_NO"].Value.ToString()); //pram.Add(ugr.Cells["PLINE_CODE"].Value.ToString()); //string jc = ugr.Cells["MACHINE_NO"].Value.ToString() + ugr.Cells["PLINE_CODE"].Value.ToString(); //string dtjc = ""; //DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachineCut.queryMachine", new object[] { pram }, this.ob); //if (dt.Rows.Count > 0) //{ // dtjc = dt.Rows[0]["MACHINE_NO"].ToString() + dt.Rows[0]["PLINE_CODE"].ToString(); //} //if (jc == dtjc) { MessageUtil.ShowTips("有相同的产线、切管机编号,请查验!"); return; } updateCount += 1; ArrayList list = new ArrayList(); list.Add(ugr.Cells["MACHINE_NO"].Text.ToString()); list.Add(this.UserInfo.GetUserName()); list.Add(dtime); list.Add(ugr.Cells["MACHINE_NO"].Value.ToString()); //list.Add(ugr.Cells["PLINE_CODE"].Value.ToString()); //list.Add(ugr.Cells["PLINE_CODE"].Text.ToString()); list.Add(ugr.Cells["MACHINE_NO"].Value.ToString()); //list.Add(ugr.Cells["PLINE_CODE"].Value.ToString()); list1.Add(list); } } ArrayList list2 = new ArrayList(); foreach (UltraGridRow ugr in ultraGrid2.Rows) { if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true) { flag = "2"; updateCount += 1; UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) { MessageUtil.ShowTips("机床信息不能为空"); return; } ArrayList list = new ArrayList(); if (ugr.Cells["PRO_BZ"].Text.ToString().Equals("")) { MessageUtil.ShowTips("班组不能为空"); return; } //if (ugr.Cells["PRO_BC"].Text.ToString().Equals("")) //{ // MessageUtil.ShowTips("班次不能为空"); // return; //} list.Add(row.Cells["MACHINE_NO"].Value.ToString()); //list.Add(row.Cells["PLINE_CODE"].Value.ToString()); list.Add("700302"); list.Add(ugr.Cells["MACHINE_USER1"].Text.Trim().ToString()); list.Add(ugr.Cells["MACHINE_USER2"].Text.Trim().ToString()); //list.Add(ugr.Cells["PRO_BC"].Value.ToString()); list.Add(ugr.Cells["PRO_BZ"].Value.ToString()); list.Add(this.UserInfo.GetUserName()); list.Add(dtime); list.Add(ugr.Cells["ID"].Value.ToString()); list2.Add(list); } } if (updateCount == 0) { MessageUtil.ShowTips("请选择数据!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否修改?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.coup.FrmMachineCut"; ccp.MethodName = "getUpdatePhosphateItem"; ccp.ServerParams = new object[] { list1, list2, flag }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("修改成功!")) { DoQuery(); } } /// /// 删除 /// private void DoDelete() { ultraGrid1.UpdateData(); int updateCount = 0; ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); string flag = ""; foreach (UltraGridRow ugr in ultraGrid1.Rows) { if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true) { flag = "1"; updateCount += 1; ArrayList list = new ArrayList(); list.Add(ugr.Cells["MACHINE_NO"].Value.ToString()); //list.Add(ugr.Cells["PLINE_CODE"].Value.ToString()); list.Add("700302"); list1.Add(list); } } foreach (UltraGridRow ugr in ultraGrid2.Rows) { if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true) { flag = "2"; updateCount += 1; ArrayList list = new ArrayList(); list.Add(ugr.Cells["ID"].Value.ToString()); list2.Add(list); } } if (updateCount == 0) { MessageUtil.ShowTips("请选择数据!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否删除?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.coup.FrmMachineCut"; ccp.MethodName = "getDeletePhosphateItem"; ccp.ServerParams = new object[] { list1, list2, flag }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("删除成功!")) { DoQuery(); } } private void ultraGrid1_CellChange(object sender, CellEventArgs e) { ultraGrid1.UpdateData(); if (e.Cell.Column.Key.Equals("CHK")) { foreach (UltraGridRow row in ultraGrid1.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Text) == true) { if (!row.Cells["MACHINE_NAME"].Text.ToString().Equals("")) { row.Cells["PLINE_CODE"].Appearance.BackColor = Color.Transparent; row.Cells["PLINE_CODE"].Appearance.BackHatchStyle = BackHatchStyle.Default; row.Cells["PLINE_CODE"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; row.Cells["MACHINE_NO"].Appearance.BackColor = Color.Transparent; row.Cells["MACHINE_NO"].Appearance.BackHatchStyle = BackHatchStyle.Default; row.Cells["MACHINE_NO"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; } else { row.Cells["PLINE_CODE"].Appearance.BackColor = Color.FromArgb(255, 255, 192); row.Cells["PLINE_CODE"].Appearance.BackHatchStyle = BackHatchStyle.None; row.Cells["PLINE_CODE"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; row.Cells["MACHINE_NO"].Appearance.BackColor = Color.FromArgb(255, 255, 192); row.Cells["MACHINE_NO"].Appearance.BackHatchStyle = BackHatchStyle.None; row.Cells["MACHINE_NO"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } } } } } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) { DataTable dt1 = new DataTable(); GridHelper.CopyDataToDatatable(ref dt1, ref dataTable2, true); return; } string plineCode = row.Cells["PLINE_CODE"].Value.ToString(); string machineNo = row.Cells["MACHINE_NO"].Value.ToString(); DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachine.getQueryOperation", new object[] { plineCode, machineNo, "700302" }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true); } } }