using System;
using System.Data;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using CoreFS.CA06;
using System.Threading;
using System.Diagnostics;
using Infragistics.Win.UltraWinMaskedEdit;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win;
using System.IO;
using Core.Mes.Client.Common;
using Core.LgMes.Client.lgBll.lgReport;
using Infragistics.Win.UltraWinMaskedEdit;
namespace Core.LgMes.Client.LgIntegrationQuery
{
///
/// FrmIronEleQry 的摘要说明。
///
public class FrmCcmBilletWgtsamplingReport : Core.Mes.Client.Common.frmStyleBase
{
private Infragistics.Win.UltraWinDataSource.UltraDataSource ultraDataSource1;
private Infragistics.Win.UltraWinGrid.UltraGrid ultraGrid1;
private Infragistics.Win.Misc.UltraGroupBox ultraGroupBox1;
private Infragistics.Win.UltraWinEditors.UltraDateTimeEditor uldtEndTime;
private CheckBox chkTime;
private Infragistics.Win.UltraWinEditors.UltraDateTimeEditor uldtBeginTime;
private Label label4;
private IContainer components;
string strStartTime = "";
private Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter GridExcelExporter;
string strEndTime = "";
public FrmCcmBilletWgtsamplingReport()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
///
/// 清理所有正在使用的资源。
///
protected override void Dispose( bool disposing )
{
try
{
}
catch { }
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows 窗体设计器生成的代码
///
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
Infragistics.Win.Appearance appearance70 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance71 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance72 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance73 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance74 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance75 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance76 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance77 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance78 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance79 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance80 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance5 = new Infragistics.Win.Appearance();
this.ultraDataSource1 = new Infragistics.Win.UltraWinDataSource.UltraDataSource(this.components);
this.ultraGrid1 = new Infragistics.Win.UltraWinGrid.UltraGrid();
this.ultraGroupBox1 = new Infragistics.Win.Misc.UltraGroupBox();
this.label4 = new System.Windows.Forms.Label();
this.chkTime = new System.Windows.Forms.CheckBox();
this.uldtBeginTime = new Infragistics.Win.UltraWinEditors.UltraDateTimeEditor();
this.uldtEndTime = new Infragistics.Win.UltraWinEditors.UltraDateTimeEditor();
this.GridExcelExporter = new Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter(this.components);
((System.ComponentModel.ISupportInitialize)(this.ultraDataSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ultraGrid1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ultraGroupBox1)).BeginInit();
this.ultraGroupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.uldtBeginTime)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.uldtEndTime)).BeginInit();
this.SuspendLayout();
//
// ultraGrid1
//
appearance70.TextHAlignAsString = "Left";
this.ultraGrid1.DisplayLayout.CaptionAppearance = appearance70;
appearance71.BackColor = System.Drawing.SystemColors.ActiveBorder;
appearance71.BackColor2 = System.Drawing.SystemColors.ControlDark;
appearance71.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical;
appearance71.BorderColor = System.Drawing.SystemColors.Window;
this.ultraGrid1.DisplayLayout.GroupByBox.Appearance = appearance71;
appearance72.ForeColor = System.Drawing.SystemColors.GrayText;
this.ultraGrid1.DisplayLayout.GroupByBox.BandLabelAppearance = appearance72;
this.ultraGrid1.DisplayLayout.GroupByBox.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid;
this.ultraGrid1.DisplayLayout.GroupByBox.Hidden = true;
appearance73.BackColor = System.Drawing.SystemColors.ControlLightLight;
appearance73.BackColor2 = System.Drawing.SystemColors.Control;
appearance73.BackGradientStyle = Infragistics.Win.GradientStyle.Horizontal;
appearance73.ForeColor = System.Drawing.SystemColors.GrayText;
this.ultraGrid1.DisplayLayout.GroupByBox.PromptAppearance = appearance73;
this.ultraGrid1.DisplayLayout.MaxColScrollRegions = 1;
this.ultraGrid1.DisplayLayout.MaxRowScrollRegions = 1;
appearance74.BackColor = System.Drawing.SystemColors.Window;
appearance74.ForeColor = System.Drawing.SystemColors.ControlText;
this.ultraGrid1.DisplayLayout.Override.ActiveCellAppearance = appearance74;
appearance75.BackColor = System.Drawing.SystemColors.Highlight;
appearance75.ForeColor = System.Drawing.SystemColors.HighlightText;
this.ultraGrid1.DisplayLayout.Override.ActiveRowAppearance = appearance75;
this.ultraGrid1.DisplayLayout.Override.BorderStyleCell = Infragistics.Win.UIElementBorderStyle.RaisedSoft;
this.ultraGrid1.DisplayLayout.Override.BorderStyleRow = Infragistics.Win.UIElementBorderStyle.None;
appearance76.BackColor = System.Drawing.SystemColors.Window;
this.ultraGrid1.DisplayLayout.Override.CardAreaAppearance = appearance76;
appearance77.FontData.SizeInPoints = 10F;
appearance77.TextTrimming = Infragistics.Win.TextTrimming.EllipsisCharacter;
this.ultraGrid1.DisplayLayout.Override.CellAppearance = appearance77;
this.ultraGrid1.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.EditAndSelectText;
this.ultraGrid1.DisplayLayout.Override.CellPadding = 0;
this.ultraGrid1.DisplayLayout.Override.DefaultRowHeight = 25;
appearance78.BackColor = System.Drawing.SystemColors.Control;
appearance78.BackColor2 = System.Drawing.SystemColors.ControlDark;
appearance78.BackGradientAlignment = Infragistics.Win.GradientAlignment.Element;
appearance78.BackGradientStyle = Infragistics.Win.GradientStyle.Horizontal;
appearance78.BorderColor = System.Drawing.SystemColors.Window;
this.ultraGrid1.DisplayLayout.Override.GroupByRowAppearance = appearance78;
appearance79.TextHAlignAsString = "Left";
this.ultraGrid1.DisplayLayout.Override.HeaderAppearance = appearance79;
this.ultraGrid1.DisplayLayout.Override.HeaderClickAction = Infragistics.Win.UltraWinGrid.HeaderClickAction.SortMulti;
this.ultraGrid1.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.Standard;
this.ultraGrid1.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.RowIndex;
this.ultraGrid1.DisplayLayout.Override.RowSelectorWidth = 25;
appearance80.BackColor = System.Drawing.SystemColors.ControlLight;
this.ultraGrid1.DisplayLayout.Override.TemplateAddRowAppearance = appearance80;
this.ultraGrid1.DisplayLayout.ScrollBounds = Infragistics.Win.UltraWinGrid.ScrollBounds.ScrollToFill;
this.ultraGrid1.DisplayLayout.ScrollStyle = Infragistics.Win.UltraWinGrid.ScrollStyle.Immediate;
this.ultraGrid1.DisplayLayout.ViewStyleBand = Infragistics.Win.UltraWinGrid.ViewStyleBand.OutlookGroupBy;
this.ultraGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
this.ultraGrid1.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ultraGrid1.Location = new System.Drawing.Point(0, 47);
this.ultraGrid1.Name = "ultraGrid1";
this.ultraGrid1.Size = new System.Drawing.Size(975, 446);
this.ultraGrid1.TabIndex = 19;
//
// ultraGroupBox1
//
this.ultraGroupBox1.Controls.Add(this.label4);
this.ultraGroupBox1.Controls.Add(this.chkTime);
this.ultraGroupBox1.Controls.Add(this.uldtBeginTime);
this.ultraGroupBox1.Controls.Add(this.uldtEndTime);
this.ultraGroupBox1.Dock = System.Windows.Forms.DockStyle.Top;
this.ultraGroupBox1.Location = new System.Drawing.Point(0, 0);
this.ultraGroupBox1.Name = "ultraGroupBox1";
this.ultraGroupBox1.Size = new System.Drawing.Size(975, 47);
this.ultraGroupBox1.TabIndex = 21;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label4.Location = new System.Drawing.Point(243, 16);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(21, 14);
this.label4.TabIndex = 284;
this.label4.Text = "到";
//
// chkTime
//
this.chkTime.AutoSize = true;
this.chkTime.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.chkTime.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chkTime.Location = new System.Drawing.Point(21, 14);
this.chkTime.Name = "chkTime";
this.chkTime.Size = new System.Drawing.Size(79, 18);
this.chkTime.TabIndex = 283;
this.chkTime.Text = "时间 从";
this.chkTime.UseVisualStyleBackColor = true;
this.chkTime.CheckedChanged += new System.EventHandler(this.chkTime_CheckedChanged);
//
// uldtBeginTime
//
appearance5.BorderAlpha = Infragistics.Win.Alpha.UseAlphaLevel;
appearance5.BorderColor = System.Drawing.Color.Black;
this.uldtBeginTime.ButtonAppearance = appearance5;
this.uldtBeginTime.DateTime = new System.DateTime(2008, 1, 12, 0, 0, 0, 0);
this.uldtBeginTime.Enabled = false;
this.uldtBeginTime.FormatProvider = new System.Globalization.CultureInfo("en-US");
this.uldtBeginTime.FormatString = "yyyy-MM-dd HH:mm";
this.uldtBeginTime.Location = new System.Drawing.Point(104, 14);
this.uldtBeginTime.MaskInput = "yyyy-mm-dd hh:mm";
this.uldtBeginTime.Name = "uldtBeginTime";
this.uldtBeginTime.Size = new System.Drawing.Size(133, 19);
this.uldtBeginTime.TabIndex = 282;
this.uldtBeginTime.UseFlatMode = Infragistics.Win.DefaultableBoolean.True;
this.uldtBeginTime.Value = new System.DateTime(2008, 1, 12, 0, 0, 0, 0);
this.uldtBeginTime.ValueChanged += new System.EventHandler(this.uldtBeginTime_ValueChanged);
//
// uldtEndTime
//
this.uldtEndTime.DateTime = new System.DateTime(2008, 11, 24, 0, 0, 0, 0);
this.uldtEndTime.FormatProvider = new System.Globalization.CultureInfo("en-US");
this.uldtEndTime.FormatString = "yyyy-MM-dd HH:mm";
this.uldtEndTime.Location = new System.Drawing.Point(271, 12);
this.uldtEndTime.MaskInput = "yyyy-mm-dd hh:mm";
this.uldtEndTime.Name = "uldtEndTime";
this.uldtEndTime.Size = new System.Drawing.Size(136, 21);
this.uldtEndTime.TabIndex = 281;
this.uldtEndTime.Value = new System.DateTime(2008, 11, 24, 0, 0, 0, 0);
//
// FrmCcmBilletWgtsamplingReport
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.ClientSize = new System.Drawing.Size(975, 493);
this.Controls.Add(this.ultraGrid1);
this.Controls.Add(this.ultraGroupBox1);
this.Name = "FrmCcmBilletWgtsamplingReport";
this.Text = "板坯重量记录表";
this.Load += new System.EventHandler(this.FrmIronEleQry_Load);
((System.ComponentModel.ISupportInitialize)(this.ultraDataSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ultraGrid1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ultraGroupBox1)).EndInit();
this.ultraGroupBox1.ResumeLayout(false);
this.ultraGroupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.uldtBeginTime)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.uldtEndTime)).EndInit();
this.ResumeLayout(false);
}
#endregion
private void FrmIronEleQry_Load(object sender, System.EventArgs e)
{
this.uldtBeginTime.Value = DateTime.Today.ToString("yyyy-MM-dd") + " 00:00";
this.uldtEndTime.Value = DateTime.Today.ToString("yyyy-MM-dd") + " 23:59";
this.chkTime.Checked = true;
}
///
/// ds需要的字段
///
///
private string[] returnColumnName()
{
return new string[] { "SAMPLINGID", "CCMID", "FLOWNO","WEIGHT", "SAMPLINGTIME", "MSG_EXP" };
}
///
///
///
///
private string[] returnColumnHeaderName()
{
return new string[] { "采样ID", "铸机号", "铸流号","重量", "称重时间", "称重序号" };
}
private string[] returnColumnDataType()
{
return new string[] { "System.String", "System.String", "System.String", "System.Double" , "System.DateTime", "System.String" };
}
private Hashtable GetColumnAndType()
{
Hashtable hs = new Hashtable();
for (int i = 0; i < returnColumnName().Length; i++)
{
hs.Add(returnColumnName()[i], returnColumnDataType()[i]);
}
return hs;
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
this.doQuery();
break;
case "Close":
this.Close();
break;
case "Export":
this.ExportExcel();
break;
default:
break;
}
}
private void chkTime_CheckedChanged(object sender, EventArgs e)
{
uldtBeginTime.Enabled = chkTime.Checked;
uldtEndTime.Enabled = chkTime.Checked;
}
private void uldtBeginTime_ValueChanged(object sender, EventArgs e)
{
}
#region "Auto Refresh"
///
/// 获取查询条件
///
///
private string getSqlCondition()
{
string strStartTime = this.uldtBeginTime.DateTime.ToString("yyyy-MM-dd");
string strEndTime = this.uldtEndTime.DateTime.ToString("yyyy-MM-dd");
string sqlCondition = string.Format(string.Format(" and samplingtime >= trunc({0}) and samplingtime <= trunc({1} + 1)", "to_date('{0}','yyyy-mm-dd')", "to_date('{1}','yyyy-mm-dd')"), strStartTime, strEndTime);
return sqlCondition;
}
///
/// 将原dataset 中的铸机号和流号进行转换
///
///
///
private DataSet ChgDataSetByChangeCcmidAndFlow(ref DataSet ds)
{
DataSet dsTemp = this.getAllColumn();
DataRow drs = null;
foreach (DataRow dr in ds.Tables[0].Rows)
{
drs = dsTemp.Tables[0].NewRow();
foreach (DataColumn dc in ds.Tables[0].Columns)
{
if (!dsTemp.Tables[0].Columns.Contains(dc.ColumnName))
continue;
if (dc.ColumnName == "CCMID" || dc.ColumnName == "FLOWNO" || dc.ColumnName == "SAMPLINGTIME" || dc.ColumnName == "WEIGHT")
{
drs["CCMID"] = dr["CCMID"] + "#";
drs["FLOWNO"] = dr["FLOWNO"] + "流";
drs["SAMPLINGTIME"] = Convert.ToDateTime(dr["SAMPLINGTIME"].ToString()).ToString("yyyy-MM-dd HH:mm:ss");
drs["WEIGHT"] = dr["WEIGHT"] + "";
}
else
{
drs[dc.ColumnName] = dr[dc.ColumnName];
}
}
dsTemp.Tables[0].Rows.Add(drs);
}
return dsTemp;
}
private void SetTotalInfo()
{
ArrayList alistColumns = new ArrayList();
ArrayList alistFormat = new ArrayList();
alistColumns.Add("WEIGHT");
alistFormat.Add(" {0:############0.0}");
Core.Mes.Client.Common.UltraGridMgt.proc_Statics(ref this.ultraGrid1, alistColumns, true, " {0:############0.0}");
}
private void doQueryReport()
{
if (uldtEndTime.DateTime.Date.Subtract(uldtBeginTime.DateTime.Date).Days > 180)
{
MessageBox.Show("查询时间不可超过6个月。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (uldtBeginTime.DateTime.Date > uldtEndTime.DateTime.Date)
{
MessageBox.Show("查询开始日期不能大于结束日期!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
DataSet ds = new DataSet();
ClientParamWithSqlConditionAndOpenBase param = new ClientParamWithSqlConditionAndOpenBase(getSqlCondition(),this.ob);
try
{
ds = Core.LgMes.Client.lgBll.lgResMgt.LgStlCcmBilletWgtSamplingMgt.GetStlCcmBilletWgtSamping(param);
DataSet dsTemp = ChgDataSetByChangeCcmidAndFlow(ref ds);
if (lgCommon.isNullOrEmptyDataSetCheck(dsTemp))
{
DataView dv = new DataView(dsTemp.Tables[0]);
dv.Sort = "SAMPLINGTIME desc";
this.ultraGrid1.DataSource = dv.ToTable();
}
}
catch(Exception ex)
{
}
initUltraGrid();
SetTotalInfo();
}
///
/// 初始化grid
///
private void initUltraGrid()
{
try
{
string[] columnName = returnColumnName();
string[] columnHeaderName = returnColumnHeaderName();
int columnWidht = 150;
int otherColumnWidth = 100; // 拉速宽度
for(int i = 0; i < columnName.Length;i++)
{
try
{
this.ultraGrid1.DisplayLayout.Bands[0].Columns[columnName[i]].Header.Caption = columnHeaderName[i];
this.ultraGrid1.DisplayLayout.Bands[0].Columns[columnName[i]].Width = columnWidht;
}
catch
{
}
}
for (int i = 0; i < this.ultraGrid1.DisplayLayout.Bands[0].Columns.Count; i++)
{
if (i > 8)
{
this.ultraGrid1.DisplayLayout.Bands[0].Columns[i].Width = otherColumnWidth;
}
}
//设置列只读
Core.Mes.Client.Common.UltraGridMgt.SetUltraGridColumnsReadOnly(ref this.ultraGrid1);
}
catch
{
}
}
///
/// 构造新的dataset,包含需要显示的字段
///
///
private DataSet getAllColumn()
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
string[] columnName = returnColumnName();
Hashtable hs = GetColumnAndType();
foreach (string s in columnName)
{
string dbtype = hs[s].ToString();
dt.Columns.Add(new DataColumn(s, Type.GetType("System.String"))); // 时间
}
ds.Tables.Add(dt);
return ds;
}
private void doQuery()
{
doQueryReport();
}
private void ExportExcel()
{
try
{
string StrfileName = "板坯重量记录表【" + this.uldtBeginTime.DateTime.ToString("yyyy-MM-dd") +"~"+this.uldtEndTime.DateTime.ToString("yyyy-MM-dd")+"】"+ ".xls";
this.GridExcelExporter.Export(this.ultraGrid1, StrfileName);
ProcessStartInfo p = new ProcessStartInfo(StrfileName);
p.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized;
p.WorkingDirectory = Path.GetDirectoryName(StrfileName);
Process.Start(p);
}
catch (Exception ex)
{
}
}
#endregion
}
}