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 Infragistics.Win.UltraWinGrid;
using Core.Mes.Client.Comm.Tool;
using System.Collections;
using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Server;
namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec
{
public partial class WinBaseChemStdSteelSelect_Temp : FrmBase
{
private string strCHECK_NO;
public string StrCHECK_NO
{
get { return strCHECK_NO; }
set { strCHECK_NO = value; }
}
private string strSAMPLE_NAME;//试样名称
public string StrSAMPLE_NAME
{
get { return strSAMPLE_NAME; }
set { strSAMPLE_NAME = value; }
}
private string strSTEEL_NO;
public string StrSTEEL_NO
{
get { return strSTEEL_NO; }
set { strSTEEL_NO = value; }
}
public WinBaseChemStdSteelSelect_Temp()
{
InitializeComponent();
}
public WinBaseChemStdSteelSelect_Temp(OpeBase ob)
{
this.ob = ob;
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//ultraGrid5.DisplayLayout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.Default;
ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
ultraGridSC.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
ultraGrid4.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
ultraGrid5.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
}
private void WinBaseChemStdSteelSelect_Temp_Load(object sender, EventArgs e)
{
InitColumns();
RefreshBaseData();
//RefreshUltraGridAutoSize();
txtSAMPLE_NAME.Text = strSAMPLE_NAME;
}
private void InitColumns()
{
string[] arrColumns = new string[] { "CHECK_NO", "SAMPLE_NAME", "ELEMENTS", "SAMPLE_NO", "STEEL_NO" };
string[] arrCaption = new string[] { "检验编号", "试样名称", "元素", "试样号", "钢号" };
PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable1, ultraGrid1, new string[] { "CHECK_NO", "SAMPLE_NAME", "STEEL_NO" }, true, new string[] { "SAMPLE_NAME" });
PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable2, ultraGrid2, new string[] { "SAMPLE_NO", "STEEL_NO" }, true, null);
PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable3, ultraGrid3, new string[] { "SAMPLE_NO", "STEEL_NO" }, true, null);
PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable4, ultraGrid4, new string[] { "CHECK_NO", "SAMPLE_NAME" }, false, null);
PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable6, ultraGridSC, new string[] { "STEEL_NO" }, true, null);//"SAMPLE_NO",
string[] chemMax = PublicPipeAndOutdec.chemMax.Split(' ');
string[] chemMin = PublicPipeAndOutdec.chemMin.Split(' ');
string[] arrColumnsBase = new string[] { "SAMPLE_NO", "STEEL_NO" };
string[] arrCaptionBase = new string[] { "试样号", "钢号" };
PublicPipeAndOutdec.InitColumns(arrColumnsBase, chemMax, arrCaptionBase, chemMin, dataTable5);
PublicPipeAndOutdec.setOtherColumnReadOnly(ultraGrid5, chemMax);//可编辑列
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key.ToString())
{
case "Refresh":
RefreshBaseData();
break;
case "Confirm":
SaveChemStdSteelSelect();
break;
case "Clear":
ClearNowRules();
break;
case "Delete":
DeleteChemStdSteelSelect();
break;
case "Close":
if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
{
this.Close();
}
break;
}
}
//刷新可选钢种和标钢
///
/// 刷新可选钢种和标钢
///
private void RefreshUltraGridAutoSize()
{
GridHelper.RefreshAndAutoSize(ultraGridSC);
GridHelper.RefreshAndAutoSize(ultraGrid3);
GridHelper.RefreshAndAutoSize(ultraGrid4);
GridHelper.RefreshAndAutoSize(ultraGrid5);
//UltraGridColumn[] cols5 = new UltraGridColumn[] { ultraGrid5.DisplayLayout.Bands[0].Columns["SAMPLE_NO"], ultraGrid5.DisplayLayout.Bands[0].Columns["STEEL_NO"] };
//GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid5, cols5);
}
//刷新可选钢种和标钢
///
/// 刷新可选钢种和标钢
///
private void RefreshBaseData()
{
QueryChemStdSteelSelect_Distinct_SC();
QueryChemStdSteelSelect_Distinct();
QueryChemStdSteelInfo();
}
//查询钢种
///
/// 查询钢种
///
private void QueryChemStdSteelSelect_Distinct_SC()
{
try
{
DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteelSelect.QueryChemStdSteelSelect_Distinct",
new Object[] { }, ob);
if (dt == null || dt.Rows.Count == 0)
{
//MessageUtil.ShowWarning("找不到钢种!");
return;
}
GridHelper.CopyDataToDatatable(dt, dataTable6, true);//把dt复制给dataTable1
GridHelper.RefreshAndAutoSize(ultraGridSC);
}
catch
{
}
}
//查询钢种
///
/// 查询钢种
///
private void QueryChemStdSteelSelect_Distinct()
{
try
{
dataTable3.Rows.Clear();
dataTable4.Rows.Clear();
dataTable5.Rows.Clear();
//ArrayList arrayList = new ArrayList();
//arrayList.Add(strSTEEL_NO);
//arrayList.Add(strSTEEL_NO);
//arrayList.Add(strSTEEL_NO);
//arrayList.Add(strCHECK_NO);
DataTable dt = PublicServer.GetData("com.steering.lims.data.outdec.FrmOutdecChemDataManage.QueryChemStdSteelSelect_Distinct",
new Object[] { }, ob);
if (dt == null || dt.Rows.Count == 0)
{
//MessageUtil.ShowWarning("没有临时修约规则!");
return;
}
GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1
GridHelper.RefreshAndAutoSize(ultraGrid1);
PublicPipeAndOutdec.ActiveOperateRow(ultraGrid1, "CHECK_NO", strCHECK_NO);
}
catch
{
}
}
//查询标钢
///
/// 查询标钢
///
private void QueryChemStdSteelInfo()
{
try
{
ArrayList al = new ArrayList();
al.Add("");
al.Add("");
al.Add("");
al.Add("");
DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteel.QueryChemStdSteelInfo",
new Object[] { }, ob);//al
if (dt == null || dt.Rows.Count == 0)
{
//MessageUtil.ShowWarning("没有可选标钢!");
return;
}
GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable1
GridHelper.RefreshAndAutoSize(ultraGrid2);
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
//查询标钢
///
/// 查询标钢
///
private void QueryChemStdSteelSelect()
{
try
{
if (ultraGrid1.ActiveRow != null && ultraGrid1.ActiveRow.Activated == true)
{
ArrayList al = new ArrayList();
al.Add(ultraGrid1.ActiveRow.Cells["CHECK_NO"].Text.Trim());
DataTable dt = PublicServer.GetData("com.steering.lims.data.outdec.FrmOutdecChemDataManage.QueryChemStdSteelSelect",
new Object[] { al }, ob);
dataTable3.Rows.Clear();
dataTable4.Rows.Clear();
dataTable5.Rows.Clear();
if (dt == null || dt.Rows.Count == 0)
{
//MessageUtil.ShowWarning("没有可选标钢!");
return;
}
DataRow newDr;
foreach (DataRow dr in dt.Rows)
{
newDr = dataTable3.NewRow();
newDr["SAMPLE_NO"] = dr["SAMPLE_NO"];
newDr["STEEL_NO"] = dr["SELECT_STEEL_NO"];
dataTable3.Rows.Add(newDr);
newDr = dataTable5.NewRow();
newDr["STEEL_NO"] = dr["SELECT_STEEL_NO"];
newDr["SAMPLE_NO"] = dr["SAMPLE_NO"];
foreach (DataColumn dc in dt.Columns)
{
if (dc.ColumnName.IndexOf("ANA_") == 0)
{
if (dataTable5.Columns.Contains(dc.ColumnName))
{
if (dr[dc.ColumnName].ToString() == "0")
{
newDr[dc.ColumnName] = "";
}
else
{
DataRow newDr4 = dataTable4.NewRow();
newDr4["ELEMENTS"] = dc.ColumnName.Substring(4, 1) + dc.ColumnName.Substring(4).ToLower().Remove(0, 1);
newDr4["SAMPLE_NO"] = dr["SAMPLE_NO"];
newDr4["STEEL_NO"] = dr["SELECT_STEEL_NO"];
dataTable4.Rows.Add(newDr4);
newDr[dc.ColumnName] = "√";
}
}
}
}
dataTable5.Rows.Add(newDr);
}
RefreshUltraGridAutoSize();
//GridHelper.RefreshAndAutoSize(ultraGrid2);
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
//确认修约规则
///
/// 确认修约规则
///
private void SaveChemStdSteelSelect()
{
try
{
if (dataTable3.Rows.Count == 0 || dataTable4.Rows.Count == 0)
{
MessageUtil.ShowWarning("请挑选修约规则再保存!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认保存此修约规则?") == DialogResult.Yes)
{
//string strCHECK_NO = ultraGrid1.ActiveRow.Cells["CHECK_NO"].Text.Trim();//选择钢号
//string strSTEEL_NO = ultraGrid1.ActiveRow.Cells["STEEL_NO"].Text.Trim();//选择钢号
string strSELECT_NAME = UserInfo.GetUserName();//选择人
string strSELECT_TIME = DateTime.Now.ToString(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//选择时间
string strSELECT_SHIFT = UserInfo.GetUserOrderText();//选择班次
string strSELECT_CLASS = UserInfo.GetUserGroupText();//选择班次
ArrayList alAll = new ArrayList();
ArrayList alDelete = new ArrayList();
ArrayList alSelect = new ArrayList();//存放参数集合
ArrayList alDeleteParams = new ArrayList();
ArrayList alSelectParams = new ArrayList();//存放单条参数
alDeleteParams.Add(strCHECK_NO);
alDelete.Add(alDeleteParams);
ultraGrid5.UpdateData();
foreach (DataRow dr in dataTable5.Rows)
{
//alSelect = new ArrayList();
alSelectParams = new ArrayList();
alSelectParams.Add(strCHECK_NO);
alSelectParams.Add(txtSAMPLE_NAME.Text.Trim());
alSelectParams.Add(strSTEEL_NO);
alSelectParams.Add(strSELECT_NAME);
//alSelectParams.Add(strSELECT_TIME);
alSelectParams.Add(strSELECT_SHIFT);
alSelectParams.Add(strSELECT_CLASS);
foreach (DataColumn dc in dataTable5.Columns)
{
if (dc.ColumnName == "STEEL_NO")
{
alSelectParams.Add(dr["STEEL_NO"].ToString());
}
else if (dc.ColumnName == "SAMPLE_NO")
{
alSelectParams.Add(dr["SAMPLE_NO"].ToString());
}
else
{
if (dr[dc.ColumnName].ToString() == "")
{
alSelectParams.Add("0");
}
else
{
alSelectParams.Add("1");
}
}
}
alSelect.Add(alSelectParams);
}
alAll.Add(alDelete);
alAll.Add(alSelect);
PublicServer.SetData("com.steering.lims.data.outdec.FrmOutdecChemDataManage.SaveChemStdSteelSelect",
new Object[] { alAll }, this.ob);
QueryChemStdSteelSelect_Distinct();
PublicPipeAndOutdec.ActiveOperateRow(ultraGrid1, "CHECK_NO", strCHECK_NO);
MessageUtil.ShowTips("保存成功!");
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
//清空已选择修约规则
///
/// 清空已选择修约规则
///
private void ClearNowRules()
{
if (MessageUtil.ShowYesNoAndQuestion("是否确认清空界面已维护的修约规则?") == DialogResult.Yes)
{
dataTable3.Rows.Clear();
dataTable4.Rows.Clear();
dataTable5.Rows.Clear();
}
}
//删除已保存修约规则
///
/// 删除已保存修约规则
///
private void DeleteChemStdSteelSelect()
{
if (ultraGrid1.ActiveRow == null || ultraGrid1.ActiveRow.Activated == false)
{
MessageUtil.ShowWarning("请选择需要删除的数据!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认删除已维护的修约规则?") == DialogResult.Yes)
{
string strSTEEL_NO = ultraGrid1.ActiveRow.Cells["CHECK_NO"].Text.Trim();
ArrayList al = new ArrayList();
al.Add(strSTEEL_NO);
PublicServer.SetData("com.steering.lims.data.outdec.FrmOutdecChemDataManage.DeleteChemStdSteelSelect",
new Object[] { al }, this.ob);
QueryChemStdSteelSelect_Distinct();
//PublicPipeAndOutdec.ActiveOperateRow(ultraGrid1, "STEEL_NO", strSTEEL_NO);
MessageUtil.ShowTips("删除成功!");
}
}
private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
QueryChemStdSteelSelect();
}
private void btnConfirm_Click(object sender, EventArgs e)
{
//if (ultraGrid1.ActiveRow != null && ultraGrid1.ActiveRow.Activated == true && ultraGrid2.ActiveRow != null && ultraGrid2.ActiveRow.Activated == true)
//{
foreach (DataRow dataRow in dataTable3.Rows)
{
if (dataRow["SAMPLE_NO"].ToString().Trim() == ultraGrid2.ActiveRow.Cells["SAMPLE_NO"].Text.Trim() && dataRow["STEEL_NO"].ToString().Trim() == ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim())
{
MessageUtil.ShowWarning("已经选择了此标钢!");
return;
}
}
DataRow dr = dataTable3.NewRow();
dr["SAMPLE_NO"] = ultraGrid2.ActiveRow.Cells["SAMPLE_NO"].Text.Trim();
dr["STEEL_NO"] = ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim();
dataTable3.Rows.Add(dr);
dr = dataTable5.NewRow();
foreach (DataColumn dc in dataTable5.Columns)
{
if (dc.ColumnName == "SAMPLE_NO")
{
dr["SAMPLE_NO"] = ultraGrid2.ActiveRow.Cells["SAMPLE_NO"].Text.Trim();
}
else if (dc.ColumnName == "STEEL_NO")
{
dr["STEEL_NO"] = ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim();
}
else
{
dr[dc.ColumnName] = "";
}
}
dataTable5.Rows.Add(dr);
//}
GridHelper.RefreshAndAutoSize(ultraGrid3);
GridHelper.RefreshAndAutoSize(ultraGrid5);
}
private void btnCancel_Click(object sender, EventArgs e)
{
//ultraGrid1.ActiveRow != null && ultraGrid1.ActiveRow.Activated == true &&
if (ultraGrid3.ActiveRow != null && ultraGrid3.ActiveRow.Activated == true)
{
string strSAMPLE_NO = ultraGrid3.ActiveRow.Cells["SAMPLE_NO"].Text.Trim();
string strSTEEL_NO = ultraGrid3.ActiveRow.Cells["STEEL_NO"].Text.Trim();
dataTable3.Rows.RemoveAt(ultraGrid3.ActiveRow.Index);
//取消选择则要在Grid5删掉
for (int i = 0; i < dataTable4.Rows.Count; i++)
{
if (dataTable4.Rows[i]["SAMPLE_NO"].ToString().Trim() == strSAMPLE_NO && dataTable4.Rows[i]["STEEL_NO"].ToString().Trim() == strSTEEL_NO)
{
dataTable4.Rows.Remove(dataTable4.Rows[i]);
i--;
}
}
//取消选择则要在Grid5删掉
foreach (DataRow dr in dataTable5.Rows)
{
if (dr["SAMPLE_NO"].ToString().Trim() == strSAMPLE_NO && dr["STEEL_NO"].ToString().Trim() == strSTEEL_NO)
{
dataTable5.Rows.Remove(dr);
return;
}
}
}
}
private void ultraGrid5_CellChange(object sender, CellEventArgs e)
{
}
private void ultraGrid5_ClickCell(object sender, ClickCellEventArgs e)
{
if (PublicPipeAndOutdec.chemMax.IndexOf(e.Cell.Column.Key) >= 0)
{
if (e.Cell.Text.Trim() == "")
{
e.Cell.Value = "√";
//判断其他行是否有一样选择的元素没有则新增有则提示
foreach (DataRow drow in dataTable4.Rows)
{
if ("ANA_" + drow["ELEMENTS"].ToString().ToUpper() == e.Cell.Column.Key)
{
e.Cell.Value = "";
MessageUtil.ShowWarning("其他标钢已经选择了此元素!");
return;
}
}
DataRow dr = dataTable4.NewRow();
dr["ELEMENTS"] = e.Cell.Column.Header.Caption.Trim();//e.Cell.Column.Key.Substring(0, 1) + e.Cell.Column.Key.ToLower().Remove(0, 1);
dr["SAMPLE_NO"] = e.Cell.Row.Cells["SAMPLE_NO"].Text.Trim();
dr["STEEL_NO"] = e.Cell.Row.Cells["STEEL_NO"].Text.Trim();
dataTable4.Rows.Add(dr);
GridHelper.RefreshAndAutoSize(ultraGrid4);
}
else
{
e.Cell.Value = "";
//取消选择则要在Grid4删掉
foreach (DataRow dr in dataTable4.Rows)
{
if ("ANA_" + dr["ELEMENTS"].ToString().ToUpper() == e.Cell.Column.Key && dr["SAMPLE_NO"].ToString().Trim() == e.Cell.Row.Cells["SAMPLE_NO"].Text.Trim() && dr["STEEL_NO"].ToString().Trim() == e.Cell.Row.Cells["STEEL_NO"].Text.Trim())
{
dataTable4.Rows.Remove(dr);
return;
}
}
}
}
}
//查询生产修约规则
///
/// 查询生产修约规则
///
private void QueryChemStdSteelSelect_SC()
{
try
{
if (ultraGridSC.ActiveRow != null && ultraGridSC.ActiveRow.Activated == true)
{
ArrayList al = new ArrayList();
al.Add(ultraGridSC.ActiveRow.Cells["STEEL_NO"].Text.Trim());
DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteelSelect.QueryChemStdSteelSelect",
new Object[] { al }, ob);
dataTable3.Rows.Clear();
dataTable4.Rows.Clear();
dataTable5.Rows.Clear();
if (dt == null || dt.Rows.Count == 0)
{
//MessageUtil.ShowWarning("没有可选标钢!");
return;
}
DataRow newDr;
foreach (DataRow dr in dt.Rows)
{
newDr = dataTable3.NewRow();
newDr["SAMPLE_NO"] = dr["SAMPLE_NO"];
newDr["STEEL_NO"] = dr["SELECT_STEEL_NO"];
dataTable3.Rows.Add(newDr);
newDr = dataTable5.NewRow();
newDr["STEEL_NO"] = dr["SELECT_STEEL_NO"];
newDr["SAMPLE_NO"] = dr["SAMPLE_NO"];
foreach (DataColumn dc in dt.Columns)
{
if (dc.ColumnName.IndexOf("ANA_") == 0)
{
if (dataTable5.Columns.Contains(dc.ColumnName))
{
if (dr[dc.ColumnName].ToString() == "0")
{
newDr[dc.ColumnName] = "";
}
else
{
DataRow newDr4 = dataTable4.NewRow();
newDr4["ELEMENTS"] = dc.ColumnName.Substring(4, 1) + dc.ColumnName.Substring(4).ToLower().Remove(0, 1);
newDr4["SAMPLE_NO"] = dr["SAMPLE_NO"];
newDr4["STEEL_NO"] = dr["SELECT_STEEL_NO"];
dataTable4.Rows.Add(newDr4);
newDr[dc.ColumnName] = "√";
}
}
}
}
dataTable5.Rows.Add(newDr);
}
RefreshUltraGridAutoSize();
//GridHelper.RefreshAndAutoSize(ultraGrid2);
}
}
catch (Exception e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
}
private void ultraGridSC_Click(object sender, EventArgs e)
{
if (chkIS_SC.Checked)
{
QueryChemStdSteelSelect_SC();
}
}
}
}