using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using CoreFS.CA06;
using Core.LgMes.Client.lgClassModel;
using System.Reflection;
using Core.Mes.Client.Common;
namespace Core.LgMes.Client.LgResMgt
{
public partial class ucResChemelEment : UserControl
{
public OpeBase ob = null;
private DataTable _dtCraftElement = null; // 工艺化学成分信息表
private CraftElement _tmpObjCraftEle; // 存放工艺化学成分信息的类
private CraftElement _objCraftEleBuffer; // 用于实时刷新工艺化学成分信息的缓冲区
private DataTable _dtEleStd = null; // 标准元素值表
//所有化学元素
// "C,SI,MN,P,S,NI,CR,CU,ASN,TI,V,MO,B,W,AL,ZN,PB,SN,CA,LA,SB,CE,SE,MG,NB,"
// + "CD,BI,N,H,O,FE,AT,BA,BE,CS,CL,CO,DY,ER,EU,GD,GA,GE,HF,HO,IND,I,IR,KR,LI,LU,ND,NA,OS,PD,PT,K,PR,RE,RH,RB,"
// + "SM,SC,SR,TA,TE,TB,TM,YB,Y,ZR,ALT,ALS,ALINS,CSC,CEQ,HIC,";
private string strElementName = "C,Mn,S,P,Si,Als,Alt,N,Ti,Cr,Ni,Mo,Nb,B,V,Ca,Asn,Sn,Cu,Sb,CE,CE1,Ceq,Ceq2,Ceq3,Cev,Pcm,O,H,";
public ucResChemelEment()
{
InitializeComponent();
}
///
/// 生成铁水成分的表架构
///
private void GenerateTableFrame()
{
_dtCraftElement = new DataTable("CraftElement");
DataColumn myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "TYPESYMBOL";
myDataColumn.Caption = "项目名";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "ASSAYDATE";
myDataColumn.Caption = "化验时间";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "C";
myDataColumn.Caption = "C";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Mn";
myDataColumn.Caption = "Mn";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "S";
myDataColumn.Caption = "S";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "P";
myDataColumn.Caption = "P";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Si";
myDataColumn.Caption = "Si";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Als";
myDataColumn.Caption = "Als";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Alt";
myDataColumn.Caption = "Alt";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "N";
myDataColumn.Caption = "N";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Ti";
myDataColumn.Caption = "Ti";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Cr";
myDataColumn.Caption = "Cr";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Ni";
myDataColumn.Caption = "Ni";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Mo";
myDataColumn.Caption = "Mo";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Nb";
myDataColumn.Caption = "Nb";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "B";
myDataColumn.Caption = "B";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "V";
myDataColumn.Caption = "V";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Ca";
myDataColumn.Caption = "Ca";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Asn";
myDataColumn.Caption = "As";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Sn";
myDataColumn.Caption = "Sn";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Cu";
myDataColumn.Caption = "Cu";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Sb";
myDataColumn.Caption = "Sb";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "CE";
myDataColumn.Caption = "CE";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "CE1";
myDataColumn.Caption = "CE1";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Ceq";
myDataColumn.Caption = "Ceq";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Ceq2";
myDataColumn.Caption = "Ceq2";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Ceq3";
myDataColumn.Caption = "Ceq3";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Cev";
myDataColumn.Caption = "Cev";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "Pcm";
myDataColumn.Caption = "Pcm";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "O";
myDataColumn.Caption = "O";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "H";
myDataColumn.Caption = "H";
_dtCraftElement.Columns.Add(myDataColumn);
myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "YXX";
myDataColumn.Caption = "液相线";
_dtCraftElement.Columns.Add(myDataColumn);
//C、Si、Mn、P、S、Als、V、Nb、Ti、As、Sn、Cu、Sb、Alt、O、N、H
this.ulgridElement.DataSource = _dtCraftElement;
this.ulgridElement.DisplayLayout.Bands[0].Columns["TYPESYMBOL"].Width = 50;
this.ulgridElement.DisplayLayout.Bands[0].Columns["TYPESYMBOL"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["ASSAYDATE"].Width = 120;
this.ulgridElement.DisplayLayout.Bands[0].Columns["ASSAYDATE"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["C"].Width = 90;
this.ulgridElement.DisplayLayout.Bands[0].Columns["C"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Si"].Width = 90;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Si"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Mn"].Width = 90;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Mn"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["P"].Width = 90;
this.ulgridElement.DisplayLayout.Bands[0].Columns["P"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["S"].Width = 90;
this.ulgridElement.DisplayLayout.Bands[0].Columns["S"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Als"].Width = 90;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Als"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["V"].Width = 90;
this.ulgridElement.DisplayLayout.Bands[0].Columns["V"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Nb"].Width = 90;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Nb"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Cr"].Width = 90;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Cr"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Ni"].Width = 90;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Ni"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Mo"].Width = 90;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Mo"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Ti"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Ti"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Ca"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Ca"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["B"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["B"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Asn"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Asn"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Sn"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Sn"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Cu"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Cu"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Sb"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Sb"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Alt"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Alt"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Alt"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["CE"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["CE"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["CE1"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["CE1"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Ceq"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Ceq"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Ceq2"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Ceq2"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Ceq3"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Ceq3"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Cev"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Cev"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Pcm"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["Pcm"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["O"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["O"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["N"].Width = 90;
this.ulgridElement.DisplayLayout.Bands[0].Columns["N"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["H"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["H"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
this.ulgridElement.DisplayLayout.Bands[0].Columns["YXX"].Width = 54;
this.ulgridElement.DisplayLayout.Bands[0].Columns["YXX"].CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
}
private void ucChemelEment_Load(object sender, EventArgs e)
{
_tmpObjCraftEle = new CraftElement();
_objCraftEleBuffer = new CraftElement();
GenerateTableFrame(); //初始化
}
///
/// 获取化学成分样
///
/// 熔炼号
/// 岗位例:C01 1#转炉
/// 样类型(1铁水、2钢水、3渣样)
public void GetCraftEleInfo(string _smeltingID, string _DEVICE_POS, string _Type, string strCheckNO)
{
string strErr = "";
string strDevice_Pos = ""; //岗位条件
string strType = ""; //样类型条件
string strCNo = "";
if (_Type == "S")
{
strCNo = "S";
}
else
strCNo = "I";
if (_smeltingID == "")
return;
//根据岗位设置条件
switch (_DEVICE_POS.Substring(0,2))
{
case "B0"://脱硫
strType = " and substr(checkno,length(checkno),1)='" + _Type + "' ";
break;
case "C0": //转炉
// strDevice_Pos = " and (substr(stationcode,1,1)='C' or substr(stationcode,1,1)='A')";
strType = " and substr(checkno,length(checkno),1)='" + strCNo + "' or checkno='" + strCheckNO + "' ";
break;
case "D0": //氩站
// strDevice_Pos = " and (substr(stationcode,1,1)='C' or substr(stationcode,1,1)='D')";
strType = " and substr(checkno,length(checkno),1)='" + strCNo + "' ";
break;
case "E0": //精炼、RH
case "F0":
strType = " and substr(checkno,length(checkno),1)='" + strCNo + "' ";
break;
case "G0": //连铸机
strType = " and substr(checkno,length(checkno),1)='" + strCNo + "' ";
break;
default:
break;
}
string szOut = "", szWhere = " WHERE HeatNo = '" + _smeltingID + "'" + strDevice_Pos + strType;
DataSet ds = new DataSet();
ArrayList arry = new ArrayList();
ArrayList sqlList = new ArrayList();
arry.Add("GetRCraftElement.select");
sqlList.Add(strElementName);
arry.Add(_smeltingID);
arry.Add(_smeltingID);
arry.Add(strCNo);
arry.Add(strCheckNO);
sqlList.Add(strElementName);
arry.Add(_smeltingID);
arry.Add(_smeltingID);
arry.Add(strCNo);
arry.Add(strCheckNO);
string sql = this.getChelementSql(_smeltingID, strCNo, strCheckNO);
CoreFS.CA06.FrmBase fr = new FrmBase();
fr.ob = ob;
CoreClientParam CCP_Query = new CoreClientParam();
DataTable dt = new DataTable();
CCP_Query.ServerName = "Core.LgMes.Server.Common.ComDBExecute"; // 考虑原来返回数据形式性能太低,修改为前端传sql,服务端直接执行模式 2013.11.18
CCP_Query.MethodName = "doSimpleQuery";
// CCP_Query.MethodName = "doQuery";
// CCP_Query.ServerParams = new object[] { arry, sqlList };
CCP_Query.ServerParams = new object[] { sql };
CCP_Query.SourceDataTable = dt;
fr.ExecuteQueryToDataTable(CCP_Query, CoreInvokeType.Internal);
ds.Tables.Add(dt);
if (strErr == "" && ds != null)
{
try
{
DataSet dsZD = GetZDElement(strCheckNO);
if (dsZD != null)
{
if (dsZD.Tables[0].Rows.Count > 0)
{
DataRow dr = ds.Tables[0].NewRow();
dr["ASSAYTYPECODE"] = dsZD.Tables[0].Rows[0]["ASSAYTYPECODE"];
dr["C"] = dsZD.Tables[0].Rows[0]["C"];
dr["SI"] = dsZD.Tables[0].Rows[0]["SI"];
dr["MN"] = dsZD.Tables[0].Rows[0]["MN"];
dr["P"] = dsZD.Tables[0].Rows[0]["P"];
dr["S"] = dsZD.Tables[0].Rows[0]["S"];
dr["ASN"] = dsZD.Tables[0].Rows[0]["ASN"];
//dr["NI"] = dsZD.Tables[0].Rows[0]["NI"];
dr["CU"] = dsZD.Tables[0].Rows[0]["CU"];
dr["SN"] = dsZD.Tables[0].Rows[0]["SN"];
dr["SB"] = dsZD.Tables[0].Rows[0]["SB"];
ds.Tables[0].Rows.InsertAt(dr, 0);
}
}
}
catch
{
}
//序列化成分
DataSetToCraftElement(ref ds, ref _tmpObjCraftEle);
}
}
private string getChelementSql(string v_heatNo, string strCNo, string strCheckNO)
{
string sqlStr = "select CHECKNO, HEATNO, ASSAYTYPECODE, FLAG, C, Mn, S, P, Si, Als, Alt, N, Ti, Cr, Ni, Mo, Nb, B, V, Ca, Asn, Sn, Cu, "
+ " Sb,Ceq, Cev, Pcm, O, H, STEELNAME, SHIFTCODE, ASSAYDATE,"
+ " round(1536-(nvl(C,0)*78+nvl(Mn,0)*4.9+nvl(Si,0)*7.6+nvl(P,0)*34+nvl(S,0)*30+nvl(Cu,0)*5+nvl(Ni,0)*3.1+nvl(Mo,0)*2+nvl(V,0)*2+nvl(Cr,0)*1.3+nvl(Ti,0)*18+nvl(Als,0)*3.6),2) YXX "
+ " from STL_CHEMELEMENT where HeatNo = '{0}' "
+ "and substr(checkno, length(checkno), 1) = '{1}' or checkno = '{2}' union "
+ "select CHECKNO, HEATNO, ASSAYTYPECODE, FLAG, C, Mn, S, P, Si, Als, Alt, N, Ti, Cr, Ni, Mo, Nb, B, V, Ca, Asn, Sn, Cu, "
+ " Sb,Ceq, Cev, Pcm, O, H, STEELNAME, SHIFTCODE, ASSAYDATE ,"
+ " round(1536-(nvl(C,0)*78+nvl(Mn,0)*4.9+nvl(Si,0)*7.6+nvl(P,0)*34+nvl(S,0)*30+nvl(Cu,0)*5+nvl(Ni,0)*3.1+nvl(Mo,0)*2+nvl(V,0)*2+nvl(Cr,0)*1.3+nvl(Ti,0)*18+nvl(Als,0)*3.6),2) YXX "
+ " from J#STL_CHEMELEMENT where HeatNo = '{0}' "
+ "and substr(checkno, length(checkno), 1) = '{1}' or checkno = '{2}' order by ASSAYDATE ";
return string.Format(sqlStr, v_heatNo, strCNo, strCheckNO);
}
///
/// 获取直兑化学成分
///
///
private DataSet GetZDElement(string strCheckNO)
{
string strErr = "";
DataSet dsValue = new DataSet();
dsValue = null;
ArrayList arry = new ArrayList();
arry.Add("ReceiveResIronCraftElement.Select");//此ID为XML文件ID
arry.Add(strCheckNO);
arry.Add(strCheckNO);
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)
{
dsValue = ds;
}
return dsValue;
}
///
/// 填充化学成分信息界面数据
///
public void FillCraftElement()
{
try
{
lock (this)
{
int nRows = 0;
nRows = _objCraftEleBuffer.hList.Count;
nRows = nRows + 3;
if(_objCraftEleBuffer.hList.Count>0)
_dtCraftElement.Clear();
Core.LgMes.Client.Comm.CStaticMethod.ResetTableRows(ref _dtCraftElement, nRows);
int i = 2;
#region " C标准"
if (_dtEleStd != null && this._dtEleStd.Rows.Count > 0)
{
for (int j = 0; j < this._dtEleStd.Rows.Count; j++)
{
DataRow dr = this._dtEleStd.Rows[j];
Core.LgMes.Client.Comm.CStaticMethod.SetStandardElemData(Convert.ToInt32(dr["STDSTYLE"].ToString()) - 1, dr, ref _dtCraftElement);
}
}
i++;
#endregion
#region " 实时值"
for (int j = 0; j < _objCraftEleBuffer.hList.Count; j++, i++)
{
JOB_CHEMELEMENT obj = (JOB_CHEMELEMENT)_objCraftEleBuffer.hList[j];
Core.LgMes.Client.Comm.CStaticMethod.SetResCraftElemGridData(i, obj, EmentName(obj.ASSAYTYPECODE), ref _dtCraftElement);
}
#endregion
// this.ulgridElement.DataSource = _dtCraftElement;
ulgridElement.DataBind();
ulgridElement.Rows[0].Fixed = true;
ulgridElement.Rows[1].Fixed = true;
ulgridElement.Rows[2].Fixed = true;
ulgridElement.DisplayLayout.Bands[0].Override.FixedRowStyle = Infragistics.Win.UltraWinGrid.FixedRowStyle.Top;
ulgridElement.DisplayLayout.UseFixedHeaders = true;
ulgridElement.DisplayLayout.Bands[0].Columns["TYPESYMBOL"].Header.Fixed = true;
ulgridElement.DisplayLayout.Bands[0].Override.FixedHeaderIndicator = Infragistics.Win.UltraWinGrid.FixedHeaderIndicator.None;
proc_CompareChemEle();
}
}
catch (Exception ex)
{
string Msg = ex.Message;
}
}
private void proc_CompareChemEle() //add on 2009-04-20
{
try
{
string strElementType = "", strStdFX = "", strStdNK = "", strStdTx = "", strReal = "";
int iRetFX, iRetNK, iRetTX;
Color clrOutFX = Color.Red, clrOutNK = Color.FromArgb(204, 153, 0), clrOutTx = Color.Violet, clrNormal = Color.Black;
for (int i = 3; i < ulgridElement.Rows.Count; i++)
{
strElementType = Convert.ToString(ulgridElement.Rows[i].Cells["TYPESYMBOL"].Value);
if (strElementType.Contains("TS") ||
strElementType.Contains("LD") ||
strElementType == "")
{
for (int j = 1; j < ulgridElement.DisplayLayout.Bands[0].Columns.Count; j++)
{
ulgridElement.Rows[i].Cells[j].Appearance.ForeColor = clrNormal;
}
continue;
}
for (int j = 1; j < ulgridElement.DisplayLayout.Bands[0].Columns.Count; j++)
{
strStdNK = Convert.ToString(ulgridElement.Rows[0].Cells[j].Value);
strStdFX = Convert.ToString(ulgridElement.Rows[1].Cells[j].Value);
strStdTx = Convert.ToString(ulgridElement.Rows[2].Cells[j].Value);
strReal = Convert.ToString(ulgridElement.Rows[i].Cells[j].Value);
iRetNK = sValue(strStdNK, strReal);
iRetFX = sValue(strStdFX, strReal);
iRetTX = sValue(strStdTx, strReal);
if (iRetFX == -1)
{
ulgridElement.Rows[i].Cells[j].Appearance.ForeColor = clrOutFX;
}
else
{
if (iRetNK == -1)
{
ulgridElement.Rows[i].Cells[j].Appearance.ForeColor = clrOutNK;
}
else if (iRetTX == -1)
{
ulgridElement.Rows[i].Cells[j].Appearance.ForeColor = clrOutTx;
}
else
{
ulgridElement.Rows[i].Cells[j].Appearance.ForeColor = clrNormal;
}
}
}
}
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message);
}
}
private int sValue(string Svalue, string SCHvalue) //add on 2009-04-20
{
if (SCHvalue.Length < 1)
{
return 0;
}
if (Svalue.Length > 0)
{
string BValue = "-1";
string EValue = "-1";
if (Svalue.IndexOf("~") > 0)
{
BValue = Svalue.Substring(0, Svalue.IndexOf("~"));
EValue = Svalue.Substring(Svalue.IndexOf("~") + 1, Svalue.Length - Svalue.IndexOf("~") - 1);
if (double.Parse(SCHvalue) >= double.Parse(BValue) && double.Parse(SCHvalue) <= double.Parse(EValue))
{
return 0; //正确
}
else
{
return -1;
}
}
else
{
if (Svalue.IndexOf("≤") > -1)
{
EValue = Svalue.Substring(Svalue.IndexOf("≤") + 2, Svalue.Length - Svalue.IndexOf("≤") - 2);
if (double.Parse(SCHvalue) <= double.Parse(EValue))
{
return 0; //正确
}
else
{
return -1;
}
}
else
{
if (Svalue.IndexOf("<") > -1 && Svalue.IndexOf("=") == -1)
{
EValue = Svalue.Substring(Svalue.IndexOf("<") + 1, Svalue.Length - Svalue.IndexOf("<") - 1);
if (double.Parse(SCHvalue) < double.Parse(EValue))
{
return 0; //正确
}
else
{
return -1;
}
}
else
{
if (Svalue.IndexOf("≥") > -1)
{
EValue = Svalue.Substring(Svalue.IndexOf("≥") + 1, Svalue.Length - Svalue.IndexOf("≥") - 1);
if (double.Parse(SCHvalue) >= double.Parse(EValue))
{
return 0; //正确
}
else
{
return -1;
}
}
else
{
if (Svalue.IndexOf(">") > -1 && Svalue.IndexOf("=") == -1)
{
EValue = Svalue.Substring(Svalue.IndexOf(">") + 1, Svalue.Length - Svalue.IndexOf(">") - 1);
if (double.Parse(SCHvalue) > double.Parse(EValue))
{
return 0; //正确
}
else
{
return -1;
}
}
else
{
EValue = Svalue;
try
{
if (double.Parse(SCHvalue) == double.Parse(EValue))
{
return 0; //正确
}
}
catch { }
return -1;
}
}
}
}
}
}
return 0;
}
private string EmentName(string strAssayTypeCode)
{
string strName = "";
string strCode = "";
if (strAssayTypeCode.Length > 2)
{
strCode = strAssayTypeCode.Substring(0, 1);
switch (strCode)
{
case "A":
case "B":
strName = "TS";
break;
case "C":
strName = "LD";
break;
case "D":
if (strAssayTypeCode.Substring(0, 2) == "DQ")
strName = "YQ";
else if (strAssayTypeCode.Substring(0, 2) == "DH")
strName = "YH";
break;
case "E":
strName = "LF";
break;
case "F":
strName = "RH";
break;
case "I":
strName = "VD";
break;
case "G":
strName = "CP";
break;
default:
strName = "";
break;
}
}
return strName + strAssayTypeCode.Substring(strAssayTypeCode.Length - 1, 1);
}
///
/// 获取标准元素值
///
/// 钢种
/// 铸机
public void GetStandardElement(string strHeatID)
{
try
{
string strErr = "";
if (strHeatID == "")
return;
ArrayList arry = new ArrayList();
arry.Add("GetJobStandardElement.Select");//此ID为XML文件ID
arry.Add(strHeatID);
CommonClientToServer cctos = new CommonClientToServer();
cctos.ob = ob;
//查询化学成分信息
DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassCommonModule",
"GetJobStandardElement", arry, out strErr);
if (strErr == "" && ds != null)
{
_dtEleStd = ds.Tables[0];
}
}
catch (Exception ex)
{
string msg = ex.Message + "GetStandardElement";
}
}
///
/// 序列化化学成分
///
/// 作业化学成分
///
private void DataSetToCraftElement(ref DataSet ds, ref CraftElement obj)
{
try
{
obj.ClearElement();
PropertyInfo[] PropertyInfos = null;
foreach (DataRow dr in ds.Tables[0].Rows)
{
JOB_CHEMELEMENT detail = new JOB_CHEMELEMENT();
if (PropertyInfos == null)
{
PropertyInfos = detail.GetType().GetProperties();
}
//给各个属性赋值
foreach (PropertyInfo oPropertyInfo in PropertyInfos)
{
try
{
if (dr.Table.Columns.Contains(oPropertyInfo.Name))
{
if (dr[oPropertyInfo.Name] != System.DBNull.Value)
{
oPropertyInfo.SetValue(detail, dr[oPropertyInfo.Name.ToString()], null);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
obj.Add(ref detail);
}//end foreach
_objCraftEleBuffer.DataHarmonize(ref obj);
}
catch (Exception ex)
{
string Msg = ex.Message;
}
finally
{
}
}
public void ResetData()
{
_tmpObjCraftEle.ClearElement();
_objCraftEleBuffer.ClearElement();
_dtCraftElement.Clear();
}
}
}