| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713 |
- using System;
- using System.Collections;
- using System.Data;
- using System.Drawing;
- using System.Reflection;
- using System.Windows.Forms;
- using Core.StlMes.Client.LgClassModel;
- using CoreFS.CA06;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinGrid;
- namespace Core.StlMes.Client.LgCommon
- {
- public partial class ucChemelEment : UserControl
- {
- private DataTable _dtCraftElement = null; // 工艺化学成分信息表
- private CraftElement _tmpObjCraftEle; // 存放工艺化学成分信息的类
- private CraftElement _objCraftEleBuffer; // 用于实时刷新工艺化学成分信息的缓冲区
- private DataTable _dtEleStd = null; // 标准元素值表
- private string[] Columns = new string[] { "TYPESYMBOL", "C", "Si", "Mn", "P", "S", "Ni", "Cr", "Cu", "V", "Mo", "Nb", "Ceq", "Als", "Asn", "Sn", "Ca" };
- public ucChemelEment()
- {
- InitializeComponent();
- GenerateTableFrame(); //初始化
- }
- /// <summary>
- /// 生成铁水成分的表架构
- /// </summary>
- private void GenerateTableFrame()
- {
- try
- {
- _dtCraftElement = new DataTable("CraftElement");
- DataColumn col;
- for (int i = 0; i < Columns.Length; i++)
- {
- try
- {
- col = new DataColumn(Columns[i], typeof(string));
- if (Columns[i] == "TYPESYMBOL") col.Caption = "项目名";
- else if (Columns[i] == "Asn") col.Caption = "As";
- _dtCraftElement.Columns.Add(col);
- }
- catch { }
- }
- ulgridElement.DataSource = _dtCraftElement;
- SetReadOnly();
- ClsControlPack.SetUltraGridAppearance(this);
- ulgridElement.DisplayLayout.Override.ActiveRowAppearance.FontData.ResetBold();
- ulgridElement.DisplayLayout.Override.RowSelectors = DefaultableBoolean.False;
- }
- catch { }
- }
- private void ucChemelEment_Load(object sender, EventArgs e)
- {
- _tmpObjCraftEle = new CraftElement();
- _objCraftEleBuffer = new CraftElement();
- }
- private void SetReadOnly()
- {
- try
- {
- for (int i = 0; i < ulgridElement.DisplayLayout.Bands[0].Columns.Count; i++)
- {
- ulgridElement.DisplayLayout.Bands[0].Columns[i].CellActivation = Activation.NoEdit;
- }
- }
- catch { }
- }
- /// <summary>
- /// 获取总貌图混铁炉样
- /// </summary>
- /// <param name="strWsid">混铁炉号</param>
- public void GetMapEleInfo(string strWsid, OpeBase ob)
- {
- try
- {
- if (string.IsNullOrEmpty(strWsid.Trim())) return;
- string strErr = "";
- ArrayList arry = new ArrayList();
- arry.Add(strWsid == "1" ? "A01" : "A00");
- arry.Add(strWsid == "1" ? "A01" : "A00");
- CommonClientToServer ccTos = new CommonClientToServer();
- ccTos.ob = ob;
- DataSet ds = ccTos.ExecuteQueryFunctionsSqlID("Core.Mes.Server.Common.ComDataAccess",
- "QueryWithParameter", "STL_MAP0005", 5, arry, out strErr);
- DataSetToCraftElement(ref ds, ref _tmpObjCraftEle);
- }
- catch { }
- }
- /// <summary>
- /// 获取化学成分样
- /// </summary>
- /// <param name="HeatNo">熔炼号</param>
- /// <param name="_DEVICE_POS">岗位例:C01 1#转炉</param>
- /// <param name="_Type">样类型(1铁水、2钢水、3渣样)</param>
- public void GetCraftEleInfo(string HeatNo, string _DEVICE_POS, string CheckNo, OpeBase ob)
- {
- try
- {
- if (string.IsNullOrEmpty(HeatNo.Trim()) || HeatNo.Trim().Length <= 1) return;
- // HeatNo = HeatNo.Trim().Substring(1);
- bool bSuccess = false;
- String station = "A00"; //A00代表二体系铁水,A01代表一体系铁水
- try
- {
- String code = HeatNo.Trim().Substring(2, 1);
- if (code == "1" || code == "2")
- {
- station = "A01";
- }
- }
- catch { }
- string strMsg = "";
- string strSql = "";
- strSql += Convert.ToString(" select t.checkno,'TS' assaytypecode,t.c, t.si, t.mn, t.p, t.s,").Trim() + " ";
- strSql += Convert.ToString(" '" + HeatNo + "' heatno ").Trim() + " ";
- strSql += Convert.ToString(" from stl_chemelement t").Trim() + " ";
- strSql += Convert.ToString(" where t.heatno =").Trim() + " ";
- strSql += Convert.ToString("(select max(m.heatno) heatno").Trim() + " ";
- strSql += Convert.ToString("from (select heatno").Trim() + " ";
- strSql += Convert.ToString("from STL_CHEMELEMENT").Trim() + " ";
- strSql += Convert.ToString("where stationcode = '" + station + "'").Trim() + " ";
- strSql += Convert.ToString("union").Trim() + " ";
- strSql += Convert.ToString(" select heatno").Trim() + " ";
- strSql += Convert.ToString(" from j#STL_CHEMELEMENT").Trim() + " ";
- strSql += Convert.ToString(" where stationcode = '" + station + "') m)").Trim() + " ";
- DataSet ds1 = ClsDataAccessPack.GetData(strSql, out bSuccess, out strMsg, ob);
- strMsg = "";
- bSuccess = false;
- string SqlID = "ReceiveCraftElement.Select";
- ArrayList Args = new ArrayList();
- Args.Add(HeatNo);
- Args.Add(_DEVICE_POS.Substring(0, 1));
- Args.Add(_DEVICE_POS.Substring(0, 1));
- Args.Add(CheckNo);
- DataSet ds = ClsDataAccessPack.GetData(SqlID, Args, out bSuccess, out strMsg, ob);
- if (ds1 != null && ds1.Tables[0].Rows.Count > 0)
- {
- DataRow dr = ds.Tables[0].NewRow();
- DataRow Dr = ds1.Tables[0].Rows[0];
- dr["CHECKNO"] = Dr["CHECKNO"].ToString();
- dr["HEATNO"] = Dr["HEATNO"].ToString();
- dr["ASSAYTYPECODE"] = Dr["ASSAYTYPECODE"].ToString();
- dr["C"] = Dr["C"].ToString();
- dr["SI"] = Dr["SI"].ToString();
- dr["MN"] = Dr["MN"].ToString();
- dr["P"] = Dr["P"].ToString();
- dr["S"] = Dr["S"].ToString();
- dr["ASSAYDATE"] = DBNull.Value;
- ds.Tables[0].Rows.Add(dr);
- }
- if (bSuccess) DataSetToCraftElement(ref ds, ref _tmpObjCraftEle);
- }
- catch { }
- }
- public void GetHmpEleInfo_RES(string HeatNo, string _DEVICE_POS, string CheckNo, OpeBase ob)
- {
- try
- {
- if (string.IsNullOrEmpty(HeatNo.Trim()) || HeatNo.Trim().Length <= 1) return;
- // HeatNo = HeatNo.Trim().Substring(1);
- bool bSuccess = false;
- string strMsg = "";
- string strSql = "";
- strSql += Convert.ToString("SELECT *").Trim() + " ";
- strSql += Convert.ToString(" FROM (SELECT *").Trim() + " ";
- strSql += Convert.ToString(" FROM STL_CHEMELEMENT").Trim() + " ";
- strSql += Convert.ToString(" WHERE HEATNO = '" + HeatNo + "'").Trim() + " ";
- strSql += Convert.ToString(" AND STATIONCODE = '" + _DEVICE_POS + "'").Trim() + " ";
- strSql += Convert.ToString(" OR (CASE").Trim() + " ";
- strSql += Convert.ToString(" WHEN UPPER('" + _DEVICE_POS.Substring(0, 1) + "') = 'C' THEN").Trim() + " ";
- strSql += Convert.ToString(" CHECKNO").Trim() + " ";
- strSql += Convert.ToString(" ELSE").Trim() + " ";
- strSql += Convert.ToString(" '1'").Trim() + " ";
- strSql += Convert.ToString(" END = CASE").Trim() + " ";
- strSql += Convert.ToString(" WHEN UPPER('" + _DEVICE_POS.Substring(0, 1) + "') = 'C' THEN").Trim() + " ";
- strSql += Convert.ToString(" '" + CheckNo + "'").Trim() + " ";
- strSql += Convert.ToString(" ELSE").Trim() + " ";
- strSql += Convert.ToString(" '2'").Trim() + " ";
- strSql += Convert.ToString(" END)").Trim() + " ";
- strSql += Convert.ToString(" UNION ALL").Trim() + " ";
- strSql += Convert.ToString(" SELECT *").Trim() + " ";
- strSql += Convert.ToString(" FROM J#STL_CHEMELEMENT").Trim() + " ";
- strSql += Convert.ToString(" WHERE HEATNO = '" + HeatNo + "'").Trim() + " ";
- strSql += Convert.ToString(" AND STATIONCODE = '" + _DEVICE_POS + "'").Trim() + " ";
- strSql += Convert.ToString(" OR (CASE").Trim() + " ";
- strSql += Convert.ToString(" WHEN UPPER('" + _DEVICE_POS.Substring(0, 1) + "') = 'C' THEN").Trim() + " ";
- strSql += Convert.ToString(" CHECKNO").Trim() + " ";
- strSql += Convert.ToString(" ELSE").Trim() + " ";
- strSql += Convert.ToString(" '1'").Trim() + " ";
- strSql += Convert.ToString(" END = CASE").Trim() + " ";
- strSql += Convert.ToString(" WHEN UPPER('" + _DEVICE_POS.Substring(0, 1) + "') = 'C' THEN").Trim() + " ";
- strSql += Convert.ToString(" '" + CheckNo + "'").Trim() + " ";
- strSql += Convert.ToString(" ELSE").Trim() + " ";
- strSql += Convert.ToString(" '2'").Trim() + " ";
- strSql += Convert.ToString(" END))").Trim() + " ";
- strSql += Convert.ToString(" ORDER BY DECODE(ASSAYTYPECODE,").Trim() + " ";
- strSql += Convert.ToString(" 'GT',").Trim() + " ";
- strSql += Convert.ToString(" '1',").Trim() + " ";
- strSql += Convert.ToString(" 'TS',").Trim() + " ";
- strSql += Convert.ToString(" '2',").Trim() + " ";
- strSql += Convert.ToString(" 'LD',").Trim() + " ";
- strSql += Convert.ToString(" '3',").Trim() + " ";
- strSql += Convert.ToString(" 'AR',").Trim() + " ";
- strSql += Convert.ToString(" '4',").Trim() + " ";
- strSql += Convert.ToString(" 'LF',").Trim() + " ";
- strSql += Convert.ToString(" '5',").Trim() + " ";
- strSql += Convert.ToString(" 'CC',").Trim() + " ";
- strSql += Convert.ToString(" '6',").Trim() + " ";
- strSql += Convert.ToString(" '7'),").Trim() + " ";
- strSql += Convert.ToString(" CHECKNO").Trim();
- DataSet ds = ClsDataAccessPack.GetData(strSql, out bSuccess, out strMsg, ob);
- if (bSuccess) DataSetToCraftElement(ref ds, ref _tmpObjCraftEle);
- }
- catch { }
- }
- //查询化学检验值表
- public void GetCraftEleInfo_RES(string HeatNo, string _DEVICE_POS, string CheckNo, OpeBase ob)
- {
- try
- {
- if (string.IsNullOrEmpty(HeatNo.Trim()) || HeatNo.Trim().Length <= 1) return;
- // HeatNo = HeatNo.Trim().Substring(1);
- bool bSuccess = false;
- string strMsg = "";
- string strSql = "";
- strSql += Convert.ToString("SELECT *").Trim() + " ";
- strSql += Convert.ToString(" FROM (SELECT *").Trim() + " ";
- strSql += Convert.ToString(" FROM STL_CHEMELEMENT").Trim() + " ";
- strSql += Convert.ToString(" WHERE STOVE_NO = '" + HeatNo + "'").Trim() + " ";
- strSql += Convert.ToString(" OR (CASE").Trim() + " ";
- strSql += Convert.ToString(" WHEN UPPER('" + _DEVICE_POS.Substring(0, 1) + "') = 'C' THEN").Trim() + " ";
- strSql += Convert.ToString(" CHECKNO").Trim() + " ";
- strSql += Convert.ToString(" ELSE").Trim() + " ";
- strSql += Convert.ToString(" '1'").Trim() + " ";
- strSql += Convert.ToString(" END = CASE").Trim() + " ";
- strSql += Convert.ToString(" WHEN UPPER('" + _DEVICE_POS.Substring(0, 1) + "') = 'C' THEN").Trim() + " ";
- strSql += Convert.ToString(" '" + CheckNo + "'").Trim() + " ";
- strSql += Convert.ToString(" ELSE").Trim() + " ";
- strSql += Convert.ToString(" '2'").Trim() + " ";
- strSql += Convert.ToString(" END)").Trim() + " ";
- strSql += Convert.ToString(" UNION ALL").Trim() + " ";
- strSql += Convert.ToString(" SELECT *").Trim() + " ";
- strSql += Convert.ToString(" FROM J#STL_CHEMELEMENT").Trim() + " ";
- strSql += Convert.ToString(" WHERE STOVE_NO = '" + HeatNo + "'").Trim() + " ";
- strSql += Convert.ToString(" OR (CASE").Trim() + " ";
- strSql += Convert.ToString(" WHEN UPPER('" + _DEVICE_POS.Substring(0, 1) + "') = 'C' THEN").Trim() + " ";
- strSql += Convert.ToString(" CHECKNO").Trim() + " ";
- strSql += Convert.ToString(" ELSE").Trim() + " ";
- strSql += Convert.ToString(" '1'").Trim() + " ";
- strSql += Convert.ToString(" END = CASE").Trim() + " ";
- strSql += Convert.ToString(" WHEN UPPER('" + _DEVICE_POS.Substring(0, 1) + "') = 'C' THEN").Trim() + " ";
- strSql += Convert.ToString(" '" + CheckNo + "'").Trim() + " ";
- strSql += Convert.ToString(" ELSE").Trim() + " ";
- strSql += Convert.ToString(" '2'").Trim() + " ";
- strSql += Convert.ToString(" END))").Trim() + " ";
- strSql += Convert.ToString(" ORDER BY DECODE(ASSAYTYPECODE,").Trim() + " ";
- strSql += Convert.ToString(" 'GT',").Trim() + " ";
- strSql += Convert.ToString(" '1',").Trim() + " ";
- strSql += Convert.ToString(" 'TS',").Trim() + " ";
- strSql += Convert.ToString(" '2',").Trim() + " ";
- strSql += Convert.ToString(" 'LD',").Trim() + " ";
- strSql += Convert.ToString(" '3',").Trim() + " ";
- strSql += Convert.ToString(" 'AR',").Trim() + " ";
- strSql += Convert.ToString(" '4',").Trim() + " ";
- strSql += Convert.ToString(" 'LF',").Trim() + " ";
- strSql += Convert.ToString(" '5',").Trim() + " ";
- strSql += Convert.ToString(" 'CC',").Trim() + " ";
- strSql += Convert.ToString(" '6',").Trim() + " ";
- strSql += Convert.ToString(" '7'),").Trim() + " ";
- strSql += Convert.ToString(" CHECKNO").Trim();
- DataSet ds = ClsDataAccessPack.GetData(strSql, out bSuccess, out strMsg, ob);
- if (bSuccess) DataSetToCraftElement(ref ds, ref _tmpObjCraftEle);
- }
- catch { }
- }
- /// <summary>
- /// 填充化学成分信息界面数据
- /// </summary>
- public void FillCraftElement()
- {
- int iCurr = 0;
- if (ulgridElement.ActiveRow != null) iCurr = ulgridElement.ActiveRow.Index;
- ulgridElement.BeginUpdate();
- try
- {
- lock (this)
- {
- int iRows = _objCraftEleBuffer.hList.Count + 3; //加3行标准
- try
- {
- _dtCraftElement.Rows.Clear();
- DataRow row = null;
- for (int i = 0; i < iRows; i++)
- {
- row = _dtCraftElement.NewRow();
- _dtCraftElement.Rows.Add(row);
- }
- _dtCraftElement.Rows[iRows - 2]["TYPESYMBOL"] = "国标";
- _dtCraftElement.Rows[0]["TYPESYMBOL"] = "内控";
- _dtCraftElement.Rows[iRows - 1]["TYPESYMBOL"] = "客户";
- //_dtCraftElement.Rows[0]["TYPESYMBOL"] = "国标";
- //_dtCraftElement.Rows[1]["TYPESYMBOL"] = "内控";
- //_dtCraftElement.Rows[2]["TYPESYMBOL"] = "客户";
- }
- catch { }
- #region " C标准"
- if (_dtEleStd != null && this._dtEleStd.Rows.Count > 0)
- {
- for (int i = 0; i < this._dtEleStd.Rows.Count; i++)
- {
- DataRow dr = this._dtEleStd.Rows[i];
- ClsBusinessPack.SetStandardElemData(Convert.ToInt32(dr["STD_DC"].ToString()) - 2, dr, ref _dtCraftElement);
- }
- }
- #endregion
- int idx = 1;
- #region " 实时值"
- for (int i = 0; i < _objCraftEleBuffer.hList.Count; i++, idx++)
- {
- JOB_CHEMELEMENT obj = (JOB_CHEMELEMENT)_objCraftEleBuffer.hList[i];
- ClsBusinessPack.SetCraftElemGridData(idx, obj, GetItemName(obj.ASSAYTYPECODE), ref _dtCraftElement);
- }
- #endregion
- ulgridElement.DataBind();
- ulgridElement.Rows[0].Fixed = true;
- ulgridElement.Rows[1].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 { }
- finally
- {
- ClsControlPack.RefreshAndAutoSize(ulgridElement);
- if (iCurr > 0 && ulgridElement.Rows.Count >= iCurr + 1)
- {
- ulgridElement.Rows[iCurr].Activated = true;
- ulgridElement.Rows[iCurr].Selected = false;
- }
- ulgridElement.EndUpdate();
- }
- }
- /// <summary>
- /// 铁水预处理填充化学成分信息界面数据
- /// </summary>
- public void HmpFillCraftElement()
- {
- int iCurr = 0;
- if (ulgridElement.ActiveRow != null) iCurr = ulgridElement.ActiveRow.Index;
- ulgridElement.BeginUpdate();
- try
- {
- lock (this)
- {
- int iRows = _objCraftEleBuffer.hList.Count + 3; //加2行标准
- try
- {
- _dtCraftElement.Rows.Clear();
- DataRow row = null;
- for (int i = 0; i < iRows; i++)
- {
- row = _dtCraftElement.NewRow();
- _dtCraftElement.Rows.Add(row);
- }
- _dtCraftElement.Rows[0]["TYPESYMBOL"] = "国标";
- _dtCraftElement.Rows[1]["TYPESYMBOL"] = "内控";
- _dtCraftElement.Rows[2]["TYPESYMBOL"] = "客户";
- }
- catch { }
- #region " C标准"
- if (_dtEleStd != null && this._dtEleStd.Rows.Count > 0)
- {
- for (int i = 0; i < this._dtEleStd.Rows.Count; i++)
- {
- DataRow dr = this._dtEleStd.Rows[i];
- ClsBusinessPack.SetStandardElemData(Convert.ToInt32(dr["STD_DC"].ToString()) - 1, dr, ref _dtCraftElement);
- }
- }
- #endregion
- int idx = 3;
- #region " 实时值"
- for (int i = 0; i < _objCraftEleBuffer.hList.Count; i++, idx++)
- {
- JOB_CHEMELEMENT obj = (JOB_CHEMELEMENT)_objCraftEleBuffer.hList[i];
- ClsBusinessPack.SetCraftElemGridData(idx, obj, GetItemName(obj.ASSAYTYPECODE), ref _dtCraftElement);
- }
- #endregion
- ulgridElement.DataBind();
- ulgridElement.Rows[0].Fixed = true;
- ulgridElement.Rows[1].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();
- ulgridElement.Rows[0].Hidden = true;
- ulgridElement.Rows[1].Hidden = true;
- ulgridElement.Rows[2].Hidden = true;
- }
- }
- catch { }
- finally
- {
- ClsControlPack.RefreshAndAutoSize(ulgridElement);
- if (iCurr > 0 && ulgridElement.Rows.Count >= iCurr + 1)
- {
- ulgridElement.Rows[iCurr].Activated = true;
- ulgridElement.Rows[iCurr].Selected = false;
- }
- ulgridElement.EndUpdate();
- }
- }
- private string GetItemName(string strCode)
- {
- switch (strCode.Trim().ToUpper().Substring(0,1))
- {
- case "GT":
- return "高炉铁水";
- case "T":
- return "铁水样";
- case "B":
- return "脱硫铁水";
- case "C":
- return "炉前样";
- case "D":
- return "吹氩样";
- case "P":
- return "平台样";
- case "E":
- return "精炼样";
- case "G":
- return "成品样";
- case "ZP":
- return "铸坯样";
- }
- return "";
- }
- private void proc_CompareChemEle() //add on 2009-04-20
- {
- try
- {
- string strElementType = "", strStdFX = "", strStdNK = "", strReal = "";
- int iRetFX, iRetNK;
- Color clrOutFX = Color.Red, clrOutNK = Color.Blue, clrNormal = Color.Black;
- for (int i = 1; i < ulgridElement.Rows.Count; i++)
- {
- string assaytypecode = ulgridElement.Rows[i].Cells["TYPESYMBOL"].Value.ToString();
- if (assaytypecode == "成品样")
- {
- strElementType = Convert.ToString(ulgridElement.Rows[i].Cells["TYPESYMBOL"].Value);
- if (strElementType.Contains("GT") || strElementType.Contains("TS") || 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[ulgridElement.Rows.Count - 2].Cells[j].Value);
- strStdFX = Convert.ToString(ulgridElement.Rows[0].Cells[j].Value);
- strReal = Convert.ToString(ulgridElement.Rows[i].Cells[j].Value);
- iRetNK = sValue(strStdNK, strReal);
- iRetFX = sValue(strStdFX, 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 ulgridElement.Rows[i].Cells[j].Appearance.ForeColor = clrNormal;
- }
- }
- }
- }
- catch (Exception ex)
- {
- string meg = 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;
- }
- /// <summary>
- /// 获取标准元素值
- /// </summary>
- /// <param name="strSteelCode">钢种(暂不用)</param>
- /// <param name="strStationCode">虚拟炉号</param>
- public void GetStandardElement(string strHeatID, OpeBase ob)
- {
- try
- {
- if (string.IsNullOrEmpty(strHeatID)) return;
- DataSet ds = ClsDataAccessPack.GetChemElementStandard(strHeatID, ob);
- if (ds != null && ds.Tables.Count > 0) _dtEleStd = ds.Tables[0];
- }
- catch { }
- }
-
- /// <summary>
- /// 序列化化学成分
- /// </summary>
- /// <param name="ds">作业化学成分</param>
- /// <param name="obj"></param>
- public 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 { }
- }
- public void ResetData()
- {
- try
- {
- _tmpObjCraftEle.ClearElement();
- _objCraftEleBuffer.ClearElement();
- _dtCraftElement.Rows.Clear();
- }
- catch { }
- }
-
- }
- }
|