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.Server; using Core.Mes.Client.Comm.Control; using Infragistics.Win.UltraWinGrid; using Infragistics.Win; using System.Net; using System.Collections; using CoreFS.SA06; using System.Globalization; namespace Core.StlMes.Client.BuyBillet { public partial class FrmBuyBillet : FrmBase { public FrmBuyBillet() { InitializeComponent(); } /// /// 在主窗体显示后,设置命令按钮的显示或隐藏,此时toolMenu 对象已经生成 /// /// /// private void FrmBuyBillet_Shown(object sender, EventArgs e) { setToolBarAppearance(DefaultableBoolean.True, DefaultableBoolean.False); } /// /// 平台命令按钮路由 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Close": this.Close(); break; //case "doLYl": // doLYl(); // break; case "doAdd": doAdd(); break; //case "doYP": // doYP(); // break; case "doTbXs": doTbXs(); break; case "doTbCH": doTbCH(); break; case "doJq": doJq(); break; case "doJqCancel": doJqCancel(); break; case "doDel": doDel(); break; case "doQuery": doQuery(); break; case "doTD": doTD(); break; case "doExcel": doExcel(); break; case "doUpdateVer": doUpdateVer(); break; } } /// /// 修改管坯版本号 /// private void doUpdateVer() { ultraGrid2.UpdateData(); ArrayList ids = new ArrayList(); foreach (UltraGridRow row in ultraGrid2.Rows) { if (row.Cells["CHK"].Text.ToString() == "True") { Object[] o = new Object[] { row.Cells["GPREQ_VERSION"].Value.ToString(), row.Cells["GPREQ_ID"].Value.ToString() }; ids.Add(o); } } if (ids.Count <= 0) { MessageBox.Show("未选中有效的记录!"); return; } int suceed = ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.updateGpreqVersion", new object[] { ids }, this.ob); if (suceed > 0) { MessageBox.Show("修改成功!"); ultraGrid2_bind(); } } #region 界面数据绑定方法 /// /// 外购坯需求列表数据绑定 /// private void ultraGrid1_bind() { DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.queryPLN_REQINF_GP", new object[] { }, this.ob); DataTable dt1 = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.queryPLN_REQINF_GP_DETAILS", new object[] { }, this.ob); DataSet dataSet = new DataSet(); dataSet.Tables.Add(dt); dataSet.Tables.Add(dt1); dataSet.Tables[0].TableName = "Customers"; dataSet.Tables[1].TableName = "Orders"; dataSet.Relations.Add("Orders", new DataColumn[] { dataSet.Tables["Customers"].Columns["MATERIAL_NAME"],dataSet.Tables["Customers"].Columns["LEN_GP_SINGLE"] }, new DataColumn[] { dataSet.Tables["Orders"].Columns["MATERIAL_NAME"],dataSet.Tables["Orders"].Columns["LEN_GP_SINGLE"] }, false); this.ultraGrid1.DataSource = dataSet; } /// /// 外购坯需求数据绑定 /// private void ultraGrid2_bind() { string deptId = this.UserInfo.GetDeptid(); string isTH = "TPCO"; //天淮deptid if (deptId.StartsWith("002023")) { isTH = "TH"; } DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.queryBUY_GP_REQ2", new object[] {isTH }, this.ob); DataTable dt2 = new DataTable(); foreach(DataColumn col in dt.Columns) { if(col.ColumnName =="ISSUED_TIME" || col.ColumnName=="CREATE_TIME") { dt2.Columns.Add(col.ColumnName, typeof(DateTime)); } else if (col.ColumnName == "DIAMETER_GP" || col.ColumnName == "LEN_GP_SINGLE" || col.ColumnName == "GP_WEIGHT" || col.ColumnName == "GP_SYWEIGHT") { dt2.Columns.Add(col.ColumnName, typeof(decimal)); } else { dt2.Columns.Add(col.ColumnName); } } foreach (DataRow row in dt.Rows) { DataRow _row = dt2.NewRow(); foreach (DataColumn col in dt.Columns) { _row[col.ColumnName] = row[col.ColumnName]; } dt2.Rows.Add(_row); } this.ultraGrid2.DataSource = dt2; RefreshAndAutoSize(ultraGrid2); } /// /// 预排操作界面完成后,重新刷新外购坯需求界面 /// private void frm_OnAddNewYpFinished() { ultraGrid2_bind(); } #endregion #region 控件事件 private void ultraGrid1_CellChange(object sender, CellEventArgs e) { if (e.Cell.Column.Key == "CHK") { foreach (UltraGridRow row in e.Cell.Row.ChildBands[0].Rows) { row.Cells["CK"].Value = e.Cell.Text; } } if (e.Cell.Column.Key == "CK") { if (e.Cell.Text == "False") { e.Cell.Row.ParentRow.Cells["CHK"].Value = false; } } } /// /// Tab页切换事件,绑定数据或者是显示隐藏命令按钮 /// /// /// private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (e.Tab.Index == 1) { ultraGrid2_bind(); setToolBarAppearance(DefaultableBoolean.True, DefaultableBoolean.False); string[] colalign = { "DIAMETER_GP", "LEN_GP_SINGLE", "GP_WEIGHT" }; foreach (string colname in colalign) { ultraGrid2.DisplayLayout.Bands[0].Columns[colname].CellAppearance.TextHAlign = HAlign.Right; } RefreshAndAutoSize(ultraGrid3); } if (e.Tab.Index == 0) { //ultraGrid1_bind(); //setToolBarAppearance(DefaultableBoolean.True, DefaultableBoolean.False); } } #endregion private void setToolBarAppearance(DefaultableBoolean appearance0, DefaultableBoolean appearance1) { #region tab1显示或隐藏 if (toolMenu == null) { return; } if (toolMenu.Toolbars[0].Tools.Exists("doLYl")) { toolMenu.Toolbars[0].Tools["doLYl"].InstanceProps.Visible = appearance0; } if (toolMenu.Toolbars[0].Tools.Exists("doAdd")) { toolMenu.Toolbars[0].Tools["doAdd"].InstanceProps.Visible = appearance0; } if (toolMenu.Toolbars[0].Tools.Exists("doYP")) { toolMenu.Toolbars[0].Tools["doYP"].InstanceProps.Visible = appearance0; } if (toolMenu.Toolbars[0].Tools.Exists("doTbXs")) { toolMenu.Toolbars[0].Tools["doTbXs"].InstanceProps.Visible = appearance0; } if (toolMenu.Toolbars[0].Tools.Exists("doTbCH")) { toolMenu.Toolbars[0].Tools["doTbCH"].InstanceProps.Visible = appearance0; } if (toolMenu.Toolbars[0].Tools.Exists("doJq")) { toolMenu.Toolbars[0].Tools["doJq"].InstanceProps.Visible = appearance0; } if (toolMenu.Toolbars[0].Tools.Exists("doDel")) { toolMenu.Toolbars[0].Tools["doDel"].InstanceProps.Visible = appearance0; } if (toolMenu.Toolbars[0].Tools.Exists("doQuery")) { toolMenu.Toolbars[0].Tools["doQuery"].InstanceProps.Visible = appearance0; } if (toolMenu.Toolbars[0].Tools.Exists("doTD")) { toolMenu.Toolbars[0].Tools["doTD"].InstanceProps.Visible = appearance0; } if (toolMenu.Toolbars[0].Tools.Exists("doUpdateVer")) { toolMenu.Toolbars[0].Tools["doUpdateVer"].InstanceProps.Visible = appearance0; } #endregion } #region 业务方法 /// /// 生成需求单 /// private void doAdd() { StringBuilder sb = new StringBuilder(); foreach (UltraGridRow row in ultraGrid1.Rows) { foreach (UltraGridRow _row in row.ChildBands[0].Rows) { if (_row.Cells["CK"].Text.ToString() == "True") { sb.Append(_row.Cells["GPREQ_ID"].Value.ToString()); sb.Append(","); } } } string ids = sb.ToString(); if (ids.EndsWith(",")) { ids = ids.Substring(0, ids.Length - 1); } if (string.IsNullOrEmpty(ids)) { MessageBox.Show("未选中有效的记录!"); return; } ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.InsertBUY_GP_REQ", new object[] { ids }, this.ob); ultraGrid1_bind(); } /// /// 生成预排需求单 /// /// /// private void doYP() { FrmBuyYP frm = new FrmBuyYP(this.ob); frm.StartPosition = FormStartPosition.CenterScreen; frm.OnAddNewYpFinished += new Action(frm_OnAddNewYpFinished); frm.Show(); } /// /// 提报销售 /// /// /// private void doTbXs() { updatestatus("1"); } /// /// 撤回销售 /// /// /// private void doTbCH() { updatestatus("0"); } private void updatestatus(string rec_status) { this.ultraGrid2.ActiveCell = null; StringBuilder sb = new StringBuilder(); foreach (UltraGridRow row in this.ultraGrid2.Rows) { if (row.Cells["CHK"].Value.ToString().ToLower() == "true") { string buyid = row.Cells["GPREQ_ID"].Value.ToString(); sb.Append("'"+buyid+"'"); sb.Append(","); } } string tempstr = sb.ToString(); if (tempstr.EndsWith(",")) { tempstr = tempstr.Substring(0, tempstr.Length - 1); } if (string.IsNullOrEmpty(tempstr)) { MessageBox.Show("未选中有效的记录!"); return; } if (rec_status == "0") { ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.updateBUY_GP_REQ_Status01", new object[] { tempstr }, this.ob); } if (rec_status == "1") { ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.updateBUY_GP_REQ_Status11", new object[] { tempstr }, this.ob); } MessageBox.Show("操作完成!"); ultraGrid2_bind(); } /// /// 删除需求单 /// /// /// private void doDel() { this.ultraGrid2.ActiveCell = null; StringBuilder sb = new StringBuilder(); foreach (UltraGridRow row in this.ultraGrid2.Rows) { if (row.Cells["CHK"].Value.ToString().ToLower() == "true") { string buyid = row.Cells["GPBUYPLANID"].Value.ToString(); sb.Append("'" + buyid + "'"); sb.Append(","); } } string tempstr = sb.ToString(); if (tempstr.EndsWith(",")) { tempstr = tempstr.Substring(0, tempstr.Length - 1); } if (string.IsNullOrEmpty(tempstr)) { MessageBox.Show("未选中有效的记录!"); return; } ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.DeleteBUY_GP_REQ", new object[] { tempstr }, this.ob); MessageBox.Show("操作完成!"); ultraGrid2_bind(); } /// /// 利余量 /// /// /// private void doLYl() { List list = new List(); foreach (UltraGridRow row in ultraGrid1.Rows) { foreach (UltraGridRow _row in row.ChildBands[0].Rows) { if (_row.Cells["CK"].Text.ToString() == "True") { list.Add(_row.Cells["GPREQ_ID"].Value.ToString()); } } } if (list.Count==0) { MessageBox.Show("未选中有效的记录!"); return; } if (list.Count > 1) { MessageBox.Show("请逐条利余量!"); return; } int rowcount = ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.update_LYL", new object[] {list[0]}, this.ob); ultraGrid1_bind(); MessageBox.Show("操作完成!"); } /// /// 标注交齐 /// /// /// private void doJq() { StringBuilder sb = new StringBuilder(); foreach (UltraGridRow row in ultraGrid2.Rows) { if (row.Cells["CHK"].Text.ToString() == "True") { sb.Append(row.Cells["GPREQ_ID"].Value.ToString()); sb.Append(","); } } string ids = sb.ToString(); if (ids.EndsWith(",")) { ids = ids.Substring(0, ids.Length - 1); } if (string.IsNullOrEmpty(ids)) { MessageBox.Show("未选中有效的记录!"); return; } ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.UpdateBUY_GP_REQ_JQ", new object[] { ids }, this.ob); MessageBox.Show("操作完成"); ultraGrid2_bind(); } /// /// 取消交齐 /// private void doJqCancel() { StringBuilder sb = new StringBuilder(); foreach (UltraGridRow row in ultraGrid2.Rows) { if (row.Cells["CHK"].Text.ToString() == "True") { sb.Append(row.Cells["GPREQ_ID"].Value.ToString()); sb.Append(","); } } string ids = sb.ToString(); if (ids.EndsWith(",")) { ids = ids.Substring(0, ids.Length - 1); } if (string.IsNullOrEmpty(ids)) { MessageBox.Show("未选中有效的记录!"); return; } ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.UpdateBUY_GP_REQ_JQ_CANCEL", new object[] { ids }, this.ob); MessageBox.Show("操作完成"); ultraGrid2_bind(); } private void doQuery() { ultraGrid2_bind(); } private void doTD() { StringBuilder sb = new StringBuilder(); string gpreq_id = string.Empty; foreach (UltraGridRow row in ultraGrid3.Rows) { if (row.Cells["CHK"].Text.ToString() == "True") { gpreq_id = row.Cells["管坯需求号"].Value.ToString(); sb.Append(row.Cells["PLAN_ID"].Value.ToString()); sb.Append(","); } } string ids = sb.ToString(); if (ids.EndsWith(",")) { ids = ids.Substring(0, ids.Length - 1); } if (string.IsNullOrEmpty(ids)) { MessageBox.Show("未选中有效的记录!"); return; } MessageBox.Show(gpreq_id); MessageBox.Show(ids); return; ServerHelper.SetData("com.steering.pss.buybillet.Buybillet.UpdateBUY_GP_REQ_TD", new object[] { gpreq_id, ids }, this.ob); MessageBox.Show("操作完成"); ultraGrid2_bind(); ultraGrid3_bind(gpreq_id); } private void doExcel() { ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"].Hidden = true; ExportExcel(ultraGrid2, "外购坯需求"); ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"].Hidden = false; } private void ExportExcel(UltraGrid ulGrid, string sFileName) { GridHelper.ulGridToExcel(ulGrid, sFileName); } #endregion private void ultraGrid2_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGrid2.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHK"].Value = true; } } } /// /// 刷新Grid数据并根据数据调整Grid列宽 /// /// 需要处理的Grid public static void RefreshAndAutoSize(Infragistics.Win.UltraWinGrid.UltraGrid ultraGrid) { try { ultraGrid.DataBind(); foreach (Infragistics.Win.UltraWinGrid.UltraGridBand band in ultraGrid.DisplayLayout.Bands) { foreach (Infragistics.Win.UltraWinGrid.UltraGridColumn column in band.Columns) { if (column.Key.Equals("GPREQ_VERSION")) { return; } column.PerformAutoResize(Infragistics.Win.UltraWinGrid.PerformAutoSizeType.AllRowsInBand); } } ultraGrid.Refresh(); } catch { } } private void ultraGrid2_ClickCell(object sender, ClickCellEventArgs e) { string gpreq_id = e.Cell.Row.Cells["GPREQ_ID"].Text; ultraGrid3_bind(gpreq_id); } private void ultraGrid3_bind(string gpreq_id) { DataTable dt = ServerHelper.GetData("com.steering.pss.buybillet.Buybillet.queryBUY_GP_REQ_SCORDER", new object[] { gpreq_id }, this.ob); DataTable dt3 = dataSet3.Tables[0]; GridHelper.CopyDataToDatatable(dt, dt3, true); RefreshAndAutoSize(ultraGrid3); string[] colalign = { "断面", "单倍坯长", "名义外径", "名义壁厚", "需坯量" }; foreach (string colname in colalign) { ultraGrid3.DisplayLayout.Bands[0].Columns[colname].CellAppearance.TextHAlign = HAlign.Right; if (colname == "名义外径" || colname == "名义壁厚") { ultraGrid3.DisplayLayout.Bands[0].Columns[colname].Format = "#.00"; } } } private void ultraGrid2_AfterSelectChange_1(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGrid2.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHK"].Value = true; } } } private void ultraGrid3_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGrid3.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHK"].Value = true; } } } private void FrmBuyBillet_Load(object sender, EventArgs e) { if (this.UserInfo.GetDeptid().StartsWith("002023")) { ultraGrid2.Rows.Band.Columns["GPREQ_VERSION"].Hidden = false; } } } }