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.Common; using Infragistics.Win.UltraWinGrid; using Infragistics.Win.UltraWinGrid.ExcelExport; using Infragistics.Win; using System.Collections; using CoreFS.CA06; using System.Diagnostics; using System.IO; using Core.LgMes.Client.Report; namespace Core.LgMes.Client.lgIntegrationQuery { public partial class FrmMaterialInout : frmStyleBase { private bool bAddNow, bEditNow, bDelNow; private UltraGridRow currRow = null; public FrmMaterialInout() { InitializeComponent(); } private void FrmMaterialInout_Load(object sender, EventArgs e) { ultraDateTimeEditor1.DateTime = DateTime.Today; ultraDateTimeEditor2.DateTime = DateTime.Today; ValueList vl = new ValueList(); vl.ValueListItems.Add("4#LF", "4#LF"); vl.ValueListItems.Add("5#LF", "5#LF"); vl.ValueListItems.Add("RH", "RH"); vl.ValueListItems.Add("VD", "VD"); vl.ValueListItems.Add("中包班", "中包班"); vl.ValueListItems.Add("钢包班", "钢包班"); this.ultraGrid1.DisplayLayout.Bands[0].Columns["STATIONCODE"].ValueList = vl; proc_SetToolbarButtons(); } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": { if (bAddNow || bEditNow || bDelNow) return; proc_Query(); proc_SetToolbarButtons(); break; } case "Add": { if (bAddNow || bEditNow || bDelNow) return; currRow = this.ultraGrid1.DisplayLayout.Bands[0].AddNew(); this.proc_setCellReadOnly(currRow, false); bAddNow = true; this.proc_SetToolbarButtons(); break; } case "Edit": { if (ultraGrid1.ActiveRow == null || (bAddNow || bEditNow || bDelNow)) return; currRow = ultraGrid1.ActiveRow; this.proc_setCellReadOnly(currRow, false); bEditNow = true; this.proc_SetToolbarButtons(); break; } case "Save": { if (bAddNow) { proc_Add("Add"); } else if (bEditNow) { proc_Add("Edit"); } proc_Query(); break; } case "Delete": { if (ultraGrid1.ActiveRow == null || (bAddNow || bEditNow || bDelNow)) return; bDelNow = true; this.proc_SetToolbarButtons(); proc_Delete(); bDelNow = false; proc_Query(); this.proc_SetToolbarButtons(); break; } case "Export": { try { if (ultraGrid1.Rows.Count == 0) return; string strFileName = "精二作业区物料申报记录"+DateTime.Now.ToString("yyyyMMdd"); SaveFileDialog dlg = new SaveFileDialog(); dlg.Title = "保存"; dlg.OverwritePrompt = true; dlg.Filter = "Excel文件(*.xls)|*.xls"; dlg.AddExtension = true; dlg.FileName = strFileName; if (dlg.ShowDialog() == DialogResult.OK) { strFileName = dlg.FileName; ultraGridExcelExporter1.Export(ultraGrid1, strFileName); if (MessageBox.Show("数据导出成功!\r\n需要打开所导出文件吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { ultraGridExcelExporter1.Export(ultraGrid1, strFileName); ProcessStartInfo p = new ProcessStartInfo(strFileName); p.WorkingDirectory = Path.GetDirectoryName(strFileName); Process.Start(p); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } break; } case "Cancel": { if (!(bAddNow || bEditNow)) return; string strOpt = " [" + (bAddNow ? "新增" : (bEditNow ? "修改" : "")) + "]"; if (MessageBox.Show("确定要取消" + strOpt + "操作吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; if (bAddNow) { currRow.Delete(false); currRow = null; if (ultraGrid1.Rows.Count > 0) { ultraGrid1.ActiveCell = ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells["STATIONCODE"]; ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Cells["STATIONCODE"].Selected = false; } bAddNow = false; } else if (bEditNow) { this.proc_setCellReadOnly(currRow, true); currRow = null; bEditNow = false; } this.proc_SetToolbarButtons(); break; } case "Close": { this.Close(); break; } } } public void proc_Query() { Cursor oldCursor = this.Cursor; this.Cursor = Cursors.WaitCursor; try { this.dataTable1.Clear(); string sqlStr = @"SELECT * FROM DEV_MATERIAL_REPORT WHERE OPTDATE BETWEEN TO_DATE('{0}','YYYY-MM-DD HH24:MI:SS') AND TO_DATE('{1}','YYYY-MM-DD HH24:MI:SS')"; if (ultraDateTimeEditor2.DateTime.Date.Subtract(ultraDateTimeEditor1.DateTime.Date).Days > 90) { MessageBox.Show("查询时间不可超过3个月。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (ultraDateTimeEditor1.DateTime.Date > ultraDateTimeEditor2.DateTime.Date) { MessageBox.Show("查询开始日期不能大于结束日期!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } string strFrom = ultraDateTimeEditor1.DateTime.ToString("yyyy-MM-dd") + " 00:00:00"; string strTo = ultraDateTimeEditor2.DateTime.ToString("yyyy-MM-dd") + " 23:59:59"; sqlStr = string.Format(sqlStr, strFrom, strTo); //调用服务端方法 CoreClientParam CCP_LgEts = new CoreClientParam(); DataTable dt = new DataTable(); CCP_LgEts.ServerName = "Core.LgMes.Server.Common.ComDBExecute"; CCP_LgEts.MethodName = "doSimpleQuery"; CCP_LgEts.ServerParams = new object[] { sqlStr }; CCP_LgEts.SourceDataTable = dt; this.ExecuteQueryToDataTable(CCP_LgEts, CoreInvokeType.Internal); DataSet ds = new DataSet(); if (dt != null && dt.Rows.Count > 0) { this.dataTable1.Rows.Clear(); DataRow dr; for (int iRow = 0; iRow < dt.Rows.Count; iRow++) { dr = this.dataTable1.NewRow(); for (int jCol = 0; jCol < dt.Columns.Count; jCol++) { if (this.dataTable1.Columns.Contains(dt.Columns[jCol].ColumnName)) { dr[dt.Columns[jCol].ColumnName] = dt.Rows[iRow][jCol]; } } this.dataTable1.Rows.Add(dr); } } ultraGrid1.UpdateData(); if (ultraGrid1.Rows.Count > 0) { ultraGrid1.ActiveCell = ultraGrid1.Rows[0].Cells["STATIONCODE"]; ultraGrid1.Rows[0].Cells["STATIONCODE"].Selected = false; } this.proc_SetUltraGridReadOnly(ultraGrid1); ArrayList alistColumns = new ArrayList(); for (int i = 0; i < this.dataTable1.Columns.Count; i++) { if (this.dataTable1.Columns[i].ColumnName != "OPTDATE" && this.dataTable1.Columns[i].ColumnName != "OPTMAN" && this.dataTable1.Columns[i].ColumnName != "UUID_" && this.dataTable1.Columns[i].ColumnName != "STATIONCODE") alistColumns.Add(this.dataTable1.Columns[i].ColumnName); } proc_Statics(ref ultraGrid1, alistColumns, true, " {0:############0.0}"); } catch { } finally { this.Cursor = oldCursor; } } public void proc_Add(string flag) { try { this.ultraGrid1.UpdateData(); if (dataTable1.Rows.Count > 0) { string strErr = ""; string strMess = ""; if (flag == "Add") { ArrayList arry = new ArrayList(); arry.Add("frmMaterial.Insert"); string str1 = ultraGrid1.ActiveRow.Cells["STATIONCODE"].Text; string str2 = ultraGrid1.ActiveRow.Cells["ZTJ"].Text; string str3 = ultraGrid1.ActiveRow.Cells["RHGZJ"].Text; string str4 = ultraGrid1.ActiveRow.Cells["LG"].Text; string str5 = ultraGrid1.ActiveRow.Cells["LX"].Text; string str6 = ultraGrid1.ActiveRow.Cells["WFCGX"].Text; string str7 = ultraGrid1.ActiveRow.Cells["CGX"].Text; string str8 = ultraGrid1.ActiveRow.Cells["LT"].Text; string str9 = ultraGrid1.ActiveRow.Cells["XL"].Text; string str10 = ultraGrid1.ActiveRow.Cells["NT"].Text; string str11 = ultraGrid1.ActiveRow.Cells["FT"].Text; string str12 = ultraGrid1.ActiveRow.Cells["NB"].Text; string str13 = ultraGrid1.ActiveRow.Cells["TB"].Text; string str14 = ultraGrid1.ActiveRow.Cells["TT"].Text; string str15 = ultraGrid1.ActiveRow.Cells["GT"].Text; string str16 = ultraGrid1.ActiveRow.Cells["PT"].Text; string str17 = ultraGrid1.ActiveRow.Cells["XT"].Text; string str18 = ultraGrid1.ActiveRow.Cells["LHT"].Text; string str19 = ultraGrid1.ActiveRow.Cells["FDHJ"].Text; string str20 = ultraGrid1.ActiveRow.Cells["JSM"].Text; string str21 = ultraGrid1.ActiveRow.Cells["DJ"].Text; string str22 = ultraGrid1.ActiveRow.Cells["DJT"].Text; string str23 = ultraGrid1.ActiveRow.Cells["DJDJ"].Text; string str24 = ultraGrid1.ActiveRow.Cells["DJX"].Text; string str25 = ultraGrid1.ActiveRow.Cells["XBLLZ"].Text; string str26 = ultraGrid1.ActiveRow.Cells["GBZZ"].Text; string str27 = ultraGrid1.ActiveRow.Cells["TQZ"].Text; string str28 = ultraGrid1.ActiveRow.Cells["FJG"].Text; //string str29 = ultraGrid1.ActiveRow.Cells["ZBZZ"].Text; //string str30 = ultraGrid1.ActiveRow.Cells["ZBSK"].Text; //string str31 = ultraGrid1.ActiveRow.Cells["SB"].Text; //string str32 = ultraGrid1.ActiveRow.Cells["MFD"].Text; //string str33 = ultraGrid1.ActiveRow.Cells["GLQ"].Text; string str34 = this.UserInfo.GetUserName(); string str35 = ultraGrid1.ActiveRow.Cells["BM_LX"].Text; string str36 = ultraGrid1.ActiveRow.Cells["BM_WFCGX"].Text; string str37 = ultraGrid1.ActiveRow.Cells["BM_CGX"].Text; string str38 = ultraGrid1.ActiveRow.Cells["PTTQZ"].Text; string str39 = ultraGrid1.ActiveRow.Cells["JLLG"].Text; //string str39 = ultraGrid1.ActiveRow.Cells["ZBZZ1"].Text; //string str40 = ultraGrid1.ActiveRow.Cells["PTZBSK"].Text; //string str41 = ultraGrid1.ActiveRow.Cells["CDTZBSK"].Text; //string str42 = ultraGrid1.ActiveRow.Cells["PTSB"].Text; //string str43 = ultraGrid1.ActiveRow.Cells["CDTSB"].Text; arry.Add(str1); arry.Add(str2); arry.Add(str3); arry.Add(str4); arry.Add(str5); arry.Add(str6); arry.Add(str7); arry.Add(str8); arry.Add(str9); arry.Add(str10); arry.Add(str11); arry.Add(str12); arry.Add(str13); arry.Add(str14); arry.Add(str15); arry.Add(str16); arry.Add(str17); arry.Add(str18); arry.Add(str19); arry.Add(str20); arry.Add(str21); arry.Add(str22); arry.Add(str23); arry.Add(str24); arry.Add(str25); arry.Add(str26); arry.Add(str27); arry.Add(str28); /*arry.Add(str29); arry.Add(str30); arry.Add(str31); arry.Add(str32); arry.Add(str33);*/ arry.Add(str34); arry.Add(str35); arry.Add(str36); arry.Add(str37); arry.Add(str38); arry.Add(str39); /*arry.Add(str40); arry.Add(str41); arry.Add(str42); arry.Add(str43);*/ CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave", "doSimpleSave", arry, out strErr); this.proc_setCellReadOnly(currRow, true); currRow = null; bAddNow = false; } else if (flag == "Edit") { ArrayList arry = new ArrayList(); arry.Add("frmMaterial.Update"); string str1 = ultraGrid1.ActiveRow.Cells["STATIONCODE"].Text; string str2 = ultraGrid1.ActiveRow.Cells["ZTJ"].Text; string str3 = ultraGrid1.ActiveRow.Cells["RHGZJ"].Text; string str4 = ultraGrid1.ActiveRow.Cells["LG"].Text; string str5 = ultraGrid1.ActiveRow.Cells["LX"].Text; string str6 = ultraGrid1.ActiveRow.Cells["WFCGX"].Text; string str7 = ultraGrid1.ActiveRow.Cells["CGX"].Text; string str8 = ultraGrid1.ActiveRow.Cells["LT"].Text; string str9 = ultraGrid1.ActiveRow.Cells["XL"].Text; string str10 = ultraGrid1.ActiveRow.Cells["NT"].Text; string str11 = ultraGrid1.ActiveRow.Cells["FT"].Text; string str12 = ultraGrid1.ActiveRow.Cells["NB"].Text; string str13 = ultraGrid1.ActiveRow.Cells["TB"].Text; string str14 = ultraGrid1.ActiveRow.Cells["TT"].Text; string str15 = ultraGrid1.ActiveRow.Cells["GT"].Text; string str16 = ultraGrid1.ActiveRow.Cells["PT"].Text; string str17 = ultraGrid1.ActiveRow.Cells["XT"].Text; string str18 = ultraGrid1.ActiveRow.Cells["LHT"].Text; string str19 = ultraGrid1.ActiveRow.Cells["FDHJ"].Text; string str20 = ultraGrid1.ActiveRow.Cells["JSM"].Text; string str21 = ultraGrid1.ActiveRow.Cells["DJ"].Text; string str22 = ultraGrid1.ActiveRow.Cells["DJT"].Text; string str23 = ultraGrid1.ActiveRow.Cells["DJDJ"].Text; string str24 = ultraGrid1.ActiveRow.Cells["DJX"].Text; string str25 = ultraGrid1.ActiveRow.Cells["XBLLZ"].Text; string str26 = ultraGrid1.ActiveRow.Cells["GBZZ"].Text; string str27 = ultraGrid1.ActiveRow.Cells["TQZ"].Text; string str28 = ultraGrid1.ActiveRow.Cells["FJG"].Text; //string str29 = ultraGrid1.ActiveRow.Cells["ZBZZ"].Text; //string str30 = ultraGrid1.ActiveRow.Cells["ZBSK"].Text; //string str31 = ultraGrid1.ActiveRow.Cells["SB"].Text; //string str32 = ultraGrid1.ActiveRow.Cells["MFD"].Text; //string str33 = ultraGrid1.ActiveRow.Cells["GLQ"].Text; string str34 = this.UserInfo.GetUserName(); string uuid = ultraGrid1.ActiveRow.Cells["UUID_"].Text; string str35 = ultraGrid1.ActiveRow.Cells["BM_LX"].Text; string str36 = ultraGrid1.ActiveRow.Cells["BM_WFCGX"].Text; string str37 = ultraGrid1.ActiveRow.Cells["BM_CGX"].Text; string str38 = ultraGrid1.ActiveRow.Cells["PTTQZ"].Text; string str39 = ultraGrid1.ActiveRow.Cells["JLLG"].Text; //string str39 = ultraGrid1.ActiveRow.Cells["ZBZZ1"].Text; //string str40 = ultraGrid1.ActiveRow.Cells["PTZBSK"].Text; //string str41 = ultraGrid1.ActiveRow.Cells["CDTZBSK"].Text; //string str42 = ultraGrid1.ActiveRow.Cells["PTSB"].Text; //string str43 = ultraGrid1.ActiveRow.Cells["CDTSB"].Text; arry.Add(str1); arry.Add(str2); arry.Add(str3); arry.Add(str4); arry.Add(str5); arry.Add(str6); arry.Add(str7); arry.Add(str8); arry.Add(str9); arry.Add(str10); arry.Add(str11); arry.Add(str12); arry.Add(str13); arry.Add(str14); arry.Add(str15); arry.Add(str16); arry.Add(str17); arry.Add(str18); arry.Add(str19); arry.Add(str20); arry.Add(str21); arry.Add(str22); arry.Add(str23); arry.Add(str24); arry.Add(str25); arry.Add(str26); arry.Add(str27); arry.Add(str28); /*arry.Add(str29); arry.Add(str30); arry.Add(str31); arry.Add(str32); arry.Add(str33);*/ arry.Add(str34); arry.Add(str35); arry.Add(str36); arry.Add(str37); arry.Add(str38); arry.Add(str39); /*arry.Add(str40); arry.Add(str41); arry.Add(str42); arry.Add(str43);*/ arry.Add(uuid); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave", "doSimpleSave", arry, out strErr); this.proc_setCellReadOnly(currRow, true); currRow = null; bEditNow = false; } if (strErr == "") { dataTable1.AcceptChanges(); //JJBStaticFunction.SetRowEdit(ultraGrid1); if (!string.IsNullOrEmpty(strMess)) MessageBox.Show(strMess, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } else { MessageBox.Show("保存失败!输入信息已经存在或数据无效。", "错误"); } if (ultraGrid1.ActiveCell != null) ultraGrid1.ActiveCell.Activated = false; this.proc_SetToolbarButtons(); } } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); } } public void proc_Delete() { try { string strErr = ""; ArrayList arry = new ArrayList(); if (this.ultraGrid1.ActiveRow == null) return; string uuid_ = ultraGrid1.ActiveRow.Cells["UUID_"].Text.Trim(); arry.Add("frmMaterial.Delete"); arry.Add(uuid_); CommonClientToServer cctos = new CommonClientToServer(); cctos.ob = this.ob; cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave", "doSimpleSave", arry, out strErr); if (!string.IsNullOrEmpty(strErr)) { MessageBox.Show("删除错误:" + strErr); } else { MessageBox.Show("删除成功:" + strErr); } } catch { } } private void proc_SetToolbarButtons() { try { this.ToolBarItemEnable(this, "Query",!(bAddNow || bEditNow || bDelNow)); this.ToolBarItemEnable(this, "Add", !(bAddNow || bEditNow || bDelNow)); this.ToolBarItemEnable(this, "Edit", (!(bAddNow || bEditNow || bDelNow) && (ultraGrid1.ActiveRow != null))); this.ToolBarItemEnable(this, "Delete", (!(bAddNow || bEditNow || bDelNow) && (ultraGrid1.ActiveRow != null))); this.ToolBarItemEnable(this, "Export", (!(bAddNow || bEditNow || bDelNow) && ultraGrid1.Rows.Count > 0)); this.ToolBarItemEnable(this, "Save", (bAddNow || bEditNow)); this.ToolBarItemEnable(this, "Cancel", (bAddNow || bEditNow)); //this.ToolBarVisible(this, "Save"); //this.Toolbars[0].Tools["Save"].SharedProps.Visible = (bAddNow || bEditNow); //this.Toolbars[0].Tools["Cancel"].SharedProps.Visible = (bAddNow || bEditNow); } catch { } } private void proc_setCellReadOnly(UltraGridRow row, bool bReadOnly) { try { if (row == null) return; if (bReadOnly) { row.Activation = Activation.ActivateOnly; row.CellAppearance.BackColor = Color.White; foreach (Infragistics.Win.UltraWinGrid.UltraGridCell cell in row.Cells) { cell.CancelUpdate(); } } else { row.Activation = Activation.AllowEdit; row.CellAppearance.BackColor = Color.Khaki; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void proc_SetUltraGridReadOnly(Infragistics.Win.UltraWinGrid.UltraGridBase ultGrid) { foreach (UltraGridRow row in ultGrid.Rows) { row.Activation = Activation.ActivateOnly; } } public void proc_Statics(ref UltraGrid ultraGrid, ArrayList alistColumns, bool clearExists, string strFormat) { try { if (alistColumns == null) { return; } UltraGridBand band = ultraGrid.DisplayLayout.Bands[0]; if (clearExists) band.Summaries.Clear(); SummarySettings summary = null; UltraGridColumn cl = null; foreach (UltraGridColumn column in ultraGrid.DisplayLayout.Bands[0].Columns) { if (column.RowLayoutColumnInfo.OriginX == 0) { cl = column; break; } } summary = band.Summaries.Add(SummaryType.Count, cl); summary.SummaryDisplayArea = SummaryDisplayAreas.BottomFixed; summary.SummaryPosition = SummaryPosition.UseSummaryPositionColumn; summary.DisplayFormat = "合计:"; summary.Appearance.TextHAlign = Infragistics.Win.HAlign.Center; summary.Appearance.TextVAlign = Infragistics.Win.VAlign.Middle; summary.Appearance.FontData.Bold = DefaultableBoolean.True; if (string.IsNullOrEmpty(strFormat.Trim())) { strFormat = " {0:############0.00}"; } for (int i = 0; i < alistColumns.Count; i++) { try { summary = band.Summaries.Add(SummaryType.Sum, band.Columns[alistColumns[i].ToString()]); summary.SummaryDisplayArea = SummaryDisplayAreas.BottomFixed; summary.SummaryPosition = SummaryPosition.UseSummaryPositionColumn; summary.DisplayFormat = strFormat; summary.Appearance.TextHAlign = Infragistics.Win.HAlign.Right; summary.Appearance.TextVAlign = Infragistics.Win.VAlign.Middle; summary.Appearance.FontData.Bold = DefaultableBoolean.True; summary.Appearance.ForeColor = Color.DarkBlue; summary.Appearance.BackColor = Color.White; } catch { } } band.Override.SummaryFooterCaptionVisible = Infragistics.Win.DefaultableBoolean.False; } catch { } } } }