| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Server;
- using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
- using CoreFS.CA06;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinGrid;
- namespace Core.StlMes.Client.PlnSaleOrd.炼钢计划.control
- {
- public partial class ucChemicalComposition : UserControl
- {
- public ucChemicalComposition()
- {
- InitializeComponent();
- CurrentChem = null;
- }
- public DataRow CurrentChem { get; private set; }
- public void RefreshCurrentChemical(OpeBase Ob,string CraftNo,string StoveNo)
- {
- if(Ob==null) return;
- DataTable InternalStandard = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.StlChemical.GetStlChemicalStd",
- new object[] { CraftNo }, Ob);
- dtChem.Rows.Clear();
- foreach (var colums in ulgridElement.DisplayLayout.Bands[0].Columns)
- {
- colums.Hidden = true;
- }
- ulgridElement.DisplayLayout.Bands[0].Columns["SAMPLE_NO"].Hidden = false;
- if (InternalStandard != null)
- {
- foreach (DataRow dataRow in InternalStandard.Rows)
- {
- string chemsKey = dataRow["CHEM_NAME"].ToString().Replace(" ", "").Replace("/", "");
- if (!dtChem.Columns.Contains(chemsKey.ToUpper()) && !string.IsNullOrEmpty(chemsKey))
- {
- DataColumn newDc = new DataColumn
- {
- ColumnName = chemsKey.ToUpper(),
- Caption = chemsKey
- };
- dtChem.Columns.Add(newDc);
- }
- ulgridElement.DisplayLayout.Bands[0].Columns[chemsKey.ToUpper()].Hidden = false;
- }
- }
- DataRow drMax = dtChem.NewRow();
- DataRow drMin = dtChem.NewRow();
- drMax["SAMPLE_NO"] = "上限";
- drMin["SAMPLE_NO"] = "下限";
- if (InternalStandard != null)
- {
- foreach (DataRow dataRow in InternalStandard.Rows)
- {
- string columnsName = dataRow["CHEM_NAME"].ToString().ToUpper().Replace(" ", "").Replace("/", "");
- drMax[columnsName] = dataRow["STDMAX_SIGN"] + dataRow["STDMAX"].ToString();
- drMin[columnsName] = dataRow["STDMIN_SIGN"] + dataRow["STDMIN"].ToString();
- ulgridElement.DisplayLayout.Bands[0].Columns[columnsName].Tag = dataRow["CHEM_FORMULA"];
- }
- }
- dtChem.Rows.Add(drMax);
- dtChem.Rows.Add(drMin);
- DataTable dtData = ServerHelper.GetData("com.steering.pss.plnsaleord.steelMarkingPlan.StlChemical.GetStlChemicalData",
- new object[] { StoveNo }, Ob);
- if (dtData != null && dtData.Rows.Count>0)
- {
- CurrentChem = dtData.Rows[0];
- foreach (DataRow dataRow in dtData.Rows)
- {
- foreach (DataColumn dc in dtData.Columns)
- {
- string columnsName = dc.ColumnName;
- if (columnsName.Equals("SAMPLE_NO")) continue;
- if (!dtChem.Columns.Contains(columnsName.ToUpper().Replace("ASN", "AS")) &&
- dataRow[columnsName] != null &&
- !string.IsNullOrEmpty((dataRow[columnsName].ToString())))
- {
- DataColumn newDc = new DataColumn();
- newDc.ColumnName = columnsName.ToUpper();
- newDc.Caption = columnsName;
- dtChem.Columns.Add(newDc);
- }
- }
- DataRow tempRow = dtChem.NewRow();
- tempRow["SAMPLE_NO"] = dataRow["SAMPLE_NO"];
- foreach (DataColumn DataColumn in dtData.Columns)
- {
- if (dtChem.Columns.Contains(DataColumn.ColumnName.Replace("ASN", "AS")))
- {
- tempRow[DataColumn.ColumnName.Replace("ASN", "AS")] = dataRow[DataColumn.ColumnName];
- if (dataRow[DataColumn.ColumnName] != null &&
- !string.IsNullOrEmpty(dataRow[DataColumn.ColumnName].ToString()))
- {
- ulgridElement.DisplayLayout.Bands[0].Columns[DataColumn.ColumnName.Replace("ASN", "AS")]
- .Hidden = false;
- }
- }
- }
- foreach (UltraGridColumn column in ulgridElement.DisplayLayout.Bands[0].Columns)
- {
- if (column.Hidden || column.Tag == null || string.IsNullOrEmpty(column.Tag.ToString())) continue;
- string ChemFormula = column.Tag.ToString().ToUpper();
- foreach (DataColumn DataColumn in dtData.Columns)
- {
- if (dataRow[DataColumn.ColumnName] == null) continue;
- ChemFormula = ChemFormula.Replace(DataColumn.ColumnName.Replace("ASN", "AS"),
- dataRow[DataColumn.ColumnName].ToString());
- }
- try
- {
- tempRow[column.Key] = Math.Round(double.Parse(new DataTable().Compute(ChemFormula, null).ToString()), 4);
- }
- catch (Exception)
- {
- tempRow[column.Key] = null;
- }
- }
- dtChem.Rows.Add(tempRow);
- }
- }
- ulgridElement.Refresh();
- BaseHelper.setOtherColumnReadOnly(ulgridElement, new[] { "Check" });
- GridHelper.RefreshAndAutoSize(ulgridElement);
- ulgridElement.DisplayLayout.Bands[0].Columns[0].CellAppearance.FontData.Bold = DefaultableBoolean.True;
- }
- private void ulgridElement_InitializeRow(object sender, InitializeRowEventArgs e)
- {
- if (e.Row.Index < 2) return;
- foreach (var Cell in e.Row.Cells)
- {
- string ColumnsName = Cell.Column.Key;
- if (ColumnsName.Equals("SAMPLE_NO")) continue;
- int Result = SteelManagementHelper.CompareChem(Cell.Value, ulgridElement.Rows[0].Cells[ColumnsName].Value,
- ulgridElement.Rows[1].Cells[ColumnsName].Value);
- if (Result == 2) Cell.Appearance.ResetBackColor();
- else if (Result > 0) Cell.Appearance.BackColor = Color.Red;
- else if (Result < 0) Cell.Appearance.BackColor = Color.Yellow;
- else Cell.Appearance.BackColor = Color.LightGreen;
- }
- }
- }
- }
|