using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Tool;
using CoreFS.CA06;
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.YdmStuffReport
{
public partial class FrmLgProcess : FrmBase
{
public FrmLgProcess()
{
InitializeComponent();
}
private void FrmLgProcess_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.RegStartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00");
this.RegEndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59");
}
///
/// 重写基类方法
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
if (!CheckQuery()) return;
doQueryDataStoveNo();
break;
case"exportExcel":
doExcel();
break;
case "Close":
close();
break;
}
}
///
/// 导出
///
private void doExcel()
{
GridHelper.ulGridToExcel(this.ultraGrid2, "管坯进程汇总");
}
///
/// 查询
///
private void doQueryDataStoveNo()
{
string strRegStart = "";
string strRegEnd = "";
string stoveNo = "";
var plineCode = chkPline.Checked ? txtPlineCode.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : new string[] { "C001", "C003", "C006" };
if (chkRegTime.Checked)
{
strRegStart = RegStartTime.Value.ToString();
strRegEnd = RegEndTime.Value.ToString();
}
if (this.chkFurnace.Checked && this.txtFurnace.Text != "")
{
stoveNo = this.txtFurnace.Text.Trim();
}
DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmLgProcess.doQueryDataStoveNo", new Object[] { strRegStart, strRegEnd, stoveNo, plineCode }, this.ob);
GridHelper.CopyDataToDatatable(dt, this.dataTable2, true);
GridHelper.RefreshAndAutoSize(this.ultraGrid2);
}
private void close()
{
this.Close();
}
///
/// 查询
///
private void doQueryData(string funcNo,string stoveNo)
{
string strRegStart = "";
string strRegEnd = "";
string heatNo = "";
string czFlag = "";
//if (this.chkCz.Checked)
//{
// czFlag = "1";
//}
//var staus = chkState.Checked ? uceCutStatus.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : new string[] { "10", "20", "30", "40" };
var plineCode = chkPline.Checked ? txtPlineCode.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : new string[] { "C001","C003","C006"};
ArrayList parm = new ArrayList();
if (chkRegTime.Checked)
{
strRegStart = RegStartTime.Value.ToString();
strRegEnd = RegEndTime.Value.ToString();
}
if (chkFurnace.Checked)
{
heatNo = this.txtFurnace.Text.Trim();
}
parm.Add(heatNo);
parm.Add(czFlag);
DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmLgProcess.doQueryData", new Object[] { funcNo,stoveNo }, this.ob);
//DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmLgProcess.doQueryData", new Object[] { strRegStart, strRegEnd, parm, staus,plineCode }, this.ob);
GridHelper.CopyDataToDatatable(dt, this.dataTable1, true);
GridHelper.RefreshAndAutoSize(this.ultraGrid1);
this.ultraGrid1.DisplayLayout.Bands[0].Columns["STOVE_NO"].MergedCellStyle = Infragistics.Win.UltraWinGrid.MergedCellStyle.Always;
ultraGrid1.DisplayLayout.Bands[0].Columns["MOULDBALEWGT"].MergedCellEvaluator = new CustomMergedCellEvaluator("STOVE_NO");
this.ultraGrid1.DisplayLayout.Bands[0].Columns["MOULDBALEWGT"].MergedCellStyle = Infragistics.Win.UltraWinGrid.MergedCellStyle.Always;
}
///
/// 合并单元格
///
///
///
private void MergedCell(UltraGrid ug, string[] columnKeys)
{
if (columnKeys.Length == 0)
{
return;
}
ug.DisplayLayout.Override.MergedCellStyle = MergedCellStyle.Never;
for (int i = 0; i < columnKeys.Length; i++)
{
ug.DisplayLayout.Bands[0].Columns[columnKeys[i]].MergedCellStyle = MergedCellStyle.Always;
}
}
private bool CheckQuery()
{
if (DataTimeUtil.JudgeTime(DateTime.Parse(RegStartTime.Value.ToString()), DateTime.Parse(RegEndTime.Value.ToString())) == 0)
{
MessageUtil.ShowTips("开始时间不能大于结束时间!");
return false;
}
if (chkFurnace.Checked && string.IsNullOrEmpty(txtFurnace.Text.Trim()))
{
MessageBox.Show("请输入炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return false;
}
return true;
}
private void chkFurnace_CheckedChanged(object sender, EventArgs e)
{
txtFurnace.Enabled = this.chkFurnace.Checked;
}
private void chkRegTime_CheckedChanged(object sender, EventArgs e)
{
this.RegStartTime.Enabled = this.RegEndTime.Enabled = this.chkRegTime.Checked;
}
private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
{
if (!e.Row.Cells["MAT_COUNT"].Text.Equals("0"))
{
e.Row.RowSelectorAppearance.BackColor = Color.Red;
}
}
private void txtFurnace_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
{
//doQueryData();
}
}
private void chkPline_CheckedChanged(object sender, EventArgs e)
{
this.txtPlineCode.Enabled = this.chkPline.Checked;
}
private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow uRow = this.ultraGrid2.ActiveRow;
if (uRow == null) return;
doQueryData(uRow.Cells["FURNACENO"].Text.Trim(), uRow.Cells["STOVE_NO"].Text.Trim());
}
private void chkNoOk_CheckedChanged(object sender, EventArgs e)
{
ultraGrid2.DataSource = dataTable2.DefaultView;
if (chkNoOk.Checked)
{
dataTable2.DefaultView.RowFilter = "PH IS NULL";
}
else
{
dataTable2.DefaultView.RowFilter = "";
}
ultraGrid2.Refresh();
ultraGrid2.Update();
}
}
public class CustomMergedCellEvaluator :
Infragistics.Win.UltraWinGrid.IMergedCellEvaluator
{
private string groupKey = "";
public CustomMergedCellEvaluator(string GroupbyKey)
{
groupKey = GroupbyKey;
}
public bool ShouldCellsBeMerged(UltraGridRow row1,
UltraGridRow row2, UltraGridColumn column)
{
// Test to make sure the Type is not DBNull since we allow the ShippedDate to be null
if (row1.GetCellValue(groupKey).ToString() == row2.GetCellValue(groupKey).ToString() && row1.GetCellValue(column).ToString() == row2.GetCellValue(column).ToString())
{
return true;
}
else
return false;
}
}
}