using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CoreFS.CA06;
using Core.Mes.Client.Common;
namespace Core.LgMes.Client.LgIntegrationQuery
{
public partial class FrmYCJJB : Core.Mes.Client.Common.frmStyleBase
{
string strLG_ZG = "LG"; //判断是炼钢还是轧钢
public FrmYCJJB()
{
InitializeComponent();
}
public string _devNum = "";
DataTable Tempdt = new DataTable();
///
///
///
///
///
private void FrmYCJJB_Load(object sender, EventArgs e)
{
//判断是炼钢还是轧钢
if (this.Key.IndexOf('@') > 0)
strLG_ZG = this.Key.Substring(this.Key.IndexOf('@') + 1, 2);
//初始化UltraDropDown控件
//InitUltraDropDown();
uce_GWCode.SelectedIndex = 0;
uce_YCJJBFlag.SelectedIndex = 0;
//绑定ultraGrid1控件数据
BandingUltraGrid1();
}
///
/// 绑定ultraGrid1控件数据
///
private void BandingUltraGrid1()
{
string strStartTime = "";
string strEndTime = "";
string strStacode = "";
string strYcjjb = "";
//获取浇次计划信息
if (Convert.ToDateTime(uldtBeginTime.Value) > Convert.ToDateTime(uldtEndTime.Value))
{
MessageBox.Show("时间条件的开始时间不能大于结束时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
else
{
strStartTime = this.uldtBeginTime.DateTime.ToString("yyyy-MM-dd");
strEndTime = this.uldtEndTime.DateTime.ToString("yyyy-MM-dd");
}
if (chkPosition.Checked == true)
{
strStacode = uce_GWCode.Value.ToString();
}
if (CHK_YCJJB.Checked == true)
{
strYcjjb = uce_YCJJBFlag.Value.ToString();
}
//strWhere += " and substr(a.processcode,1,2)='" + strLG_ZG + "'";
//定义一个ArrayList集合存储变量[参数]值
string NowTime = DateTime.Now.ToString("yyyy-MM-dd");
ArrayList arrymain = new ArrayList();
arrymain.Add("FrmYCJJB.select");
arrymain.Add(strStacode);
arrymain.Add(strYcjjb);
arrymain.Add(strStartTime == "" ? NowTime : strStartTime);
arrymain.Add(strEndTime == "" ? NowTime : strEndTime);
DataTable YCJJBDt = GetYCJJBData(arrymain);
if (YCJJBDt == null)
{
MessageBox.Show("获取交接班信息失败!");
}
else
{
Tempdt = YCJJBDt.Copy();
dataTable1.Clear();
if (YCJJBDt.Rows.Count > 0)
{
foreach (DataRow Drow in YCJJBDt.Rows)
{
DataRow newRow = dataTable1.NewRow();
foreach (DataColumn dataColumn in YCJJBDt.Columns)
{
newRow[dataColumn.ColumnName] = Drow[dataColumn.ColumnName].ToString();
}
dataTable1.Rows.Add(newRow);
}
dataTable1.AcceptChanges();
}
}
}
///
/// 绑定ultraGrid2控件数据
///
private void BandingUltraGrid2(string strJCH)
{
DataTable YCJJBDetailDt = GetYCJJBDetailData(strJCH);
if (YCJJBDetailDt == null)
{
MessageBox.Show("根据交接班ID获取交接班从表信息失败!");
}
else
{
if (YCJJBDetailDt.Rows.Count > 0)
{
dataTable2.Clear();
foreach (DataRow Drow in YCJJBDetailDt.Rows)
{
DataRow newRow = dataTable2.NewRow();
foreach (DataColumn dataColumn in YCJJBDetailDt.Columns)
{
newRow[dataColumn.ColumnName] = Drow[dataColumn.ColumnName].ToString();
}
dataTable2.Rows.Add(newRow);
}
dataTable2.AcceptChanges();
}
}
}
///
/// 获取交接班主表数据
///
///
private DataTable GetYCJJBData(ArrayList arry)
{
string strErr = "";
try
{
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = this.ob;
DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
"doSimpleQuery", arry, out strErr);
if (strErr == "" && ds != null)
{
return ds.Tables[0];
}
else
{
return null;
}
}
catch (System.Exception exp)
{
WriteLog("Core.LgMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message);
return null;
}
finally
{
}
}
///
/// 根据交接班主表信息获取从表数据
///
///
private DataTable GetYCJJBDetailData(string strNumid)
{
try
{
string strErr = "";
//获取交接班从表数据
//定义一个ArrayList集合存储变量[参数]值
string NowTime = DateTime.Now.ToString("yyyy-MM-dd");
ArrayList arry = new ArrayList();
arry.Add("FrmYCJJB_Detail.select");
arry.Add(strNumid);
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = this.ob;
DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
"doSimpleQuery", arry, out strErr);
if (strErr == "" && ds != null)
{
return ds.Tables[0];
}
else
{
return null;
}
}
catch (System.Exception exp)
{
WriteLog("Core.LgMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message);
return null;
}
finally
{
}
}
///
/// 初始化UltraDropDown控件
///
private void InitUltraDropDown()
{
string strErr = "";
try
{
//班次绑定
DataTable tb = new DataTable();
DataColumn cn = new DataColumn("BCCode", System.Type.GetType("System.String"));
DataColumn cn1 = new DataColumn("BCName", System.Type.GetType("System.String"));
tb.Columns.Add(cn);
tb.Columns.Add(cn1);
string[] szS = new string[2];
tb.Rows.Add(szS);
tb.Rows[0]["BCCode"] = "11";
tb.Rows[0]["BCName"] = "夜-甲";
tb.Rows.Add(szS);
tb.Rows[1]["BCCode"] = "12";
tb.Rows[1]["BCName"] = "夜-乙";
tb.Rows.Add(szS);
tb.Rows[2]["BCCode"] = "13";
tb.Rows[2]["BCName"] = "夜-丙";
tb.Rows.Add(szS);
tb.Rows[3]["BCCode"] = "14";
tb.Rows[3]["BCName"] = "夜-丁";
tb.Rows.Add(szS);
tb.Rows[4]["BCCode"] = "21";
tb.Rows[4]["BCName"] = "白-甲";
tb.Rows.Add(szS);
tb.Rows[5]["BCCode"] = "22";
tb.Rows[5]["BCName"] = "白-乙";
tb.Rows.Add(szS);
tb.Rows[6]["BCCode"] = "23";
tb.Rows[6]["BCName"] = "白-丙";
tb.Rows.Add(szS);
tb.Rows[7]["BCCode"] = "24";
tb.Rows[7]["BCName"] = "早-丁";
tb.Rows.Add(szS);
tb.Rows[8]["BCCode"] = "31";
tb.Rows[8]["BCName"] = "中-甲";
tb.Rows.Add(szS);
tb.Rows[9]["BCCode"] = "32";
tb.Rows[9]["BCName"] = "中-乙";
tb.Rows.Add(szS);
tb.Rows[10]["BCCode"] = "33";
tb.Rows[10]["BCName"] = "中-丙";
tb.Rows.Add(szS);
tb.Rows[11]["BCCode"] = "34";
tb.Rows[11]["BCName"] = "中-丁";
Infragistics.Win.UltraWinGrid.UltraDropDown ultraCombo = new Infragistics.Win.UltraWinGrid.UltraDropDown();
this.ultraGrid1.FindForm().Controls.Add(ultraCombo);
ultraCombo.DisplayMember = "BCName";
ultraCombo.ValueMember = "BCCode";
ultraCombo.Visible = false;
ultraCombo.DataSource = tb.DefaultView;
ultraGrid1.DisplayLayout.Bands[0].Columns["shiftcode"].ValueList = ultraCombo;
ultraCombo.DisplayLayout.Bands[0].Columns["BCCode"].Band.ColHeadersVisible = false;
int str = ultraGrid1.DisplayLayout.Bands[0].Columns["shiftcode"].Width;
ultraCombo.DisplayLayout.Bands[0].Columns["BCName"].Width = ultraGrid1.DisplayLayout.Bands[0].Columns["shiftcode"].Width;
ultraCombo.DisplayLayout.Bands[0].Columns["BCCode"].Hidden = true;
//获取岗位信息
ArrayList arry = new ArrayList();
arry.Add("FrmYCJJB_Process.select");
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = this.ob;
DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
"doSimpleQuery", arry, out strErr);
if (strErr == "" && ds != null)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
uce_GWCode.Items.Add(i);
uce_GWCode.Items[i].DisplayText = ds.Tables[0].Rows[i]["DESCRIPTION"].ToString();
uce_GWCode.Items[i].DataValue = ds.Tables[0].Rows[i]["NAME_"].ToString();
}
}
}
catch (Exception exp)
{
WriteLog("Core.LgMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message);
}
}
///
/// 写日志信息到日志文件
///
///
private void WriteLog(string str)
{
string strDate = System.DateTime.Now.Year.ToString() + System.DateTime.Now.Month.ToString() + System.DateTime.Now.Day.ToString();
System.IO.TextWriter tw = new System.IO.StreamWriter(System.Windows.Forms.Application.StartupPath + "\\log\\log_" + strDate + ".log", true);
tw.WriteLine(str);
tw.Close();
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Save":
if (ultraGrid1.Rows.Count > 0 && ultraGrid1.ActiveRow != null)
{
//更新交接班从表信息
UpdateJJBDetailData();
//重新绑定UltraGrid2
BandingUltraGrid2(ultraGrid1.ActiveRow.Cells["numid"].Text.Trim());
}
break;
case "Query":
//重新绑定UltraGrid1
BandingUltraGrid1();
break;
case "Exit":
this.Close();
break;
default:
break;
}
}
///
/// 更新交接班从表信息
///
private void UpdateJJBDetailData()
{
try
{
string strXMValue = "";
ultraGrid2.UpdateData();
DataTable dt = dataTable2.GetChanges();
if (dt == null)
{
return;
}
if (dt.Rows.Count == 0)
{
MessageBox.Show("没有需要更新的行!");
return;
}
foreach (DataRow dr in dt.Rows)
{
if (dr["Itemtype"].ToString() == "设备运行")
{
if (dr["ItemValue"].ToString() != "正常" && dr["ItemValue"].ToString() != "不正常")
{
MessageBox.Show( "[ " + dr["ItemName"].ToString() + " ] 项目数值必须为正常和不正常,请重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
}
else
{
try
{
if (dr["ItemValue"] != null)
Convert.ToString(dr["ItemValue"]);
}
catch( Exception ex)
{
MessageBox.Show( "[ " + dr["ItemName"].ToString() + " ] 项目数值" + ex.Message, "提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
}
}
foreach (DataRow dr in dt.Rows)
{
if (dr["Itemtype"].ToString() == "设备运行")
{
if (dr["ItemValue"].ToString() == "正常")
{
strXMValue = "1";
}
else if (dr["ItemValue"].ToString() == "不正常")
{
strXMValue = "0";
}
else
{
strXMValue = dr["ItemValue"].ToString();
}
}
else
{
strXMValue = dr["ItemValue"].ToString();
}
//岗位绑定
string strErr = "";
//定义一个ArrayList集合存储变量[参数]值
ArrayList arry = new ArrayList();
arry.Add("FrmYCJJB_DetailUpdate.select");
arry.Add(strXMValue);
arry.Add(dr["numid"].ToString());
arry.Add(dr["ItemCode"].ToString());
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = this.ob;
DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBSave",
"doSimpleSave", arry, out strErr);
}
}
catch (System.Exception exp)
{
WriteLog("Core.LgMes.Client.LgIntegrationQuery.FrmYCJJB" + exp.Message);
}
finally
{
}
}
public void GridKeyDown(int RowId, Infragistics.Win.UltraWinGrid.UltraGrid GRID)
{
switch (RowId)
{
case 38:
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.AboveCell);
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode);
break;
case 37:
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.PrevCellByTab);
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode);
break;
case 39:
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.NextCellByTab);
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode);
break;
case 40:
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.BelowCell);
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode);
break;
case 13://回车
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.NextCellByTab);
GRID.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode);
break;
}
}
private void ultraGrid1_KeyDown(object sender, KeyEventArgs e)
{
GridKeyDown(e.KeyValue, ultraGrid1);
}
private void ultraGrid1_Click(object sender, EventArgs e)
{
if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Index < 0)
{
return;
}
else if (ultraGrid1.ActiveRow.Index >= 0)
{
//this.ultraGrid1.ActiveRow.Selected = true;
if (this.ultraGrid1.ActiveRow.Cells["numid"].Text.Trim() != "")
{
dataTable2.Clear();
BandingUltraGrid2(this.ultraGrid1.ActiveRow.Cells["numid"].Text.Trim());
}
}
}
private void ultraGrid1_AfterCellActivate(object sender, EventArgs e)
{
if (this.ultraGrid1.DisplayLayout.ActiveRow != null)
{
foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in this.ultraGrid1.Rows)
{
if (row == this.ultraGrid1.ActiveRow)
{
row.Appearance.BackColor = Color.GreenYellow;
}
else
{
row.Appearance.BackColor = Color.White;
}
}
}
}
private void ultraGrid2_AfterCellActivate(object sender, EventArgs e)
{
if (this.ultraGrid2.DisplayLayout.ActiveRow != null)
{
foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in this.ultraGrid2.Rows)
{
if (row == this.ultraGrid2.ActiveRow)
{
row.Appearance.BackColor = Color.GreenYellow;
}
else
{
row.Appearance.BackColor = Color.White;
}
}
}
}
private void ultraCheckEditor8_CheckedChanged(object sender, EventArgs e)
{
if (this.CHK_YCJJB.Checked == false)
{
this.uce_YCJJBFlag.Enabled = false;
uce_YCJJBFlag.SelectedIndex = 0;
}
else
{
this.uce_YCJJBFlag.Enabled = true;
}
}
private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e)
{
if (this.chkPosition.Checked == false)
{
this.uce_GWCode.Enabled = false;
}
else
{
this.uce_GWCode.Enabled = true;
}
}
private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
{
}
///
/// 异常交班
///
private void uce_YCJJBFlag_ValueChanged(object sender, EventArgs e)
{
BandingUltraGrid1();
}
///
/// 岗位
///
private void uce_GWCode_ValueChanged(object sender, EventArgs e)
{
BandingUltraGrid1();
}
}
}