| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623 |
- 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 FrmBaseChemStdSteelSelect : FrmBase
- {
- private string Departm = "";//部门
- public FrmBaseChemStdSteelSelect()
- {
- 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;
- //ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid2.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 FrmBaseChemStdSteelSelect_Load(object sender, EventArgs e)
- {
- Departm = this.UserInfo.GetDeptid();
- InitColumns();
- RefreshBaseData();
- //RefreshUltraGridAutoSize();
-
- }
- private void InitColumns()
- {
- 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);//可编辑列
- }
- /// <summary>
- /// 重写基类方法
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="ToolbarKey"></param>
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- //新增、修改修约值、审核、删除、退出
- switch (ToolbarKey)
- {
- case "Refresh":
- RefreshBaseData();
- break;
- case "Confirm":
- SaveChemStdSteelSelect();
- break;
- case "Delete":
- DeleteChemStdSteelSelect();
- break;
- case "Check":
- CheckValid();
- break;
- case "Clear":
- ClearNowRules();
- break;
- case "Close":
- if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
- {
- this.Close();
- }
- break;
- }
- }
- //刷新可选钢种和标钢
- /// <summary>
- /// 刷新可选钢种和标钢
- /// </summary>
- private void RefreshUltraGridAutoSize()
- {
- //GridHelper.RefreshAndAutoSize(ultraGrid2);
- //GridHelper.RefreshAndAutoSize(ultraGrid4);
- //UltraGridColumn[] cols5 = new UltraGridColumn[] { ultraGrid5.DisplayLayout.Bands[0].Columns["SAMPLE_NO"], ultraGrid5.DisplayLayout.Bands[0].Columns["STEEL_NO"] };
- //GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid5, cols5);
- }
- //刷新可选钢种和标钢
- /// <summary>
- /// 刷新可选钢种和标钢
- /// </summary>
- private void RefreshBaseData()
- {
- QuerySteelNo();
- QueryChemStdSteelInfo();
- }
- //检查修约规则的有效性
- /// <summary>
- /// 检查修约规则的有效性
- /// </summary>
- private void CheckValid()
- {
- foreach (DataRow dr in dataTable4.Rows)
- {
- if (dr["SAMPLE_NO"].ToString() == "")
- {
- MessageUtil.ShowWarning("元素" + dr["ELEMENTS"] + "没有维护修约规则!");
- return;
- }
- //}else if()
- //{
- //}
- }
- }
- //查询未维护钢种
- /// <summary>
- /// 查询未维护钢种
- /// </summary>
- private void QuerySteelNo()
- {
- try
- {
- string steelNo = this.txtSTEEL_NO.Text.Trim();
- DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QuerySteelNo",
- new Object[] { steelNo }, ob);
- if (dt == null || dt.Rows.Count == 0)
- {
- txtSTEEL_NO.Text = "";
- dataTable1.Rows.Clear();
- MessageUtil.ShowWarning("找不到钢种!");
- return;
- }
- GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1
- GridHelper.RefreshAndAutoSize(ultraGrid1);
- DataTable dtHave = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteelSelect.QueryChemStdSteelSelect_Distinct",
- new Object[] { steelNo, Departm }, ob);
- if (dtHave != null && dtHave.Rows.Count > 0)
- {
- foreach (UltraGridRow dr in ultraGrid1.Rows)
- {
- if (dtHave.Select("STEEL_NO = '" + dr.Cells["STEEL_NO"].Text + "'").Length > 0)
- {
- dr.Appearance.BackColor = Color.GreenYellow;
- }
- }
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- return;
- }
- }
- //查询标钢
- /// <summary>
- /// 查询标钢
- /// </summary>
- 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)
- {
- dataTable3.Rows.Clear();
- dataTable2.Rows.Clear();
- MessageUtil.ShowWarning("没有可选标钢!");
- return;
- }
- GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable1
- GridHelper.RefreshAndAutoSize(ultraGrid2);
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- return;
- }
- }
- //查询标钢
- /// <summary>
- /// 查询标钢
- /// </summary>
- private void QueryChemStdSteelSelect()
- {
- try
- {
- if (ultraGrid1.ActiveRow != null && ultraGrid1.ActiveRow.Activated == true)
- {
- ArrayList al = new ArrayList();
- al.Add(ultraGrid1.ActiveRow.Cells["STEEL_NO"].Text.Trim().ToUpper());
- al.Add(Departm);
- 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[] arrDr = null;
- DataRow newDr;
- foreach (DataRow dr in dt.Rows)
- {
- //已经选择的修约规则要打钩
- 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() == "1")
- {
- newDr[dc.ColumnName] = "√";
- }
- else
- {
- newDr[dc.ColumnName] = "";
- }
- }
- }
- }
- dataTable5.Rows.Add(newDr);
- }
- //RefreshUltraGridAutoSize();
- GridHelper.RefreshAndAutoSize(ultraGrid5);
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- return;
- }
- }
- //确认修约规则
- /// <summary>
- /// 确认修约规则
- /// </summary>
- private void SaveChemStdSteelSelect()
- {
- try
- {
- string steelNo = this.txtSTEEL_NO.Text.Trim();
- DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseSelectItems.QuerySteelNo",
- new Object[] { steelNo }, ob);
- if (dt == null || dt.Rows.Count == 0)
- {
- MessageUtil.ShowWarning("没有钢种【" + this.txtSTEEL_NO.Text.Trim() + "】,请联系标准科维护新钢种!");
- return;
- }
- //if (dataTable2.Select("CHK = 'True'").Length == 0)
- //{
- // MessageUtil.ShowWarning("请挑选修约规则再保存!");
- // return;
- //}
- if (MessageUtil.ShowYesNoAndQuestion("是否确认保存此修约规则?") == DialogResult.Yes)
- {
- 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(strSTEEL_NO);
- alDeleteParams.Add(Departm);
- alDelete.Add(alDeleteParams);
- ultraGrid5.UpdateData();
- foreach (DataRow dr in dataTable5.Rows)
- {
- //alSelect = new ArrayList();
- alSelectParams = new ArrayList();
- alSelectParams.Add(strSTEEL_NO);
- alSelectParams.Add(strSELECT_NAME);
- alSelectParams.Add(strSELECT_TIME);
- alSelectParams.Add(strSELECT_SHIFT);
- alSelectParams.Add(strSELECT_CLASS);
- alSelectParams.Add(Departm);
- 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.base.FrmBaseChemStdSteelSelect.SaveChemStdSteelSelect",
- new Object[] { alAll }, this.ob);
- QuerySteelNo();
- PublicPipeAndOutdec.ActiveOperateRow(ultraGrid1, "STEEL_NO", strSTEEL_NO);
- MessageUtil.ShowTips("保存成功!");
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- return;
- }
- }
- //清空已选择修约规则
- /// <summary>
- /// 清空已选择修约规则
- /// </summary>
- private void ClearNowRules()
- {
- if (MessageUtil.ShowYesNoAndQuestion("是否确认清空界面已维护的修约规则?") == DialogResult.Yes)
- {
- dataTable5.Rows.Clear();
- foreach (DataRow dr in dataTable2.Rows)
- {
- dr["CHK"] = "False";
- }
- }
- }
- //删除已保存修约规则
- /// <summary>
- /// 删除已保存修约规则
- /// </summary>
- 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["STEEL_NO"].Text.Trim();
- string strSAMPLE_NO = ultraGrid5.ActiveRow.Cells["SAMPLE_NO"].Text.Trim();
- string strSTEEL_NO5 = ultraGrid5.ActiveRow.Cells["STEEL_NO"].Text.Trim();
- ArrayList al = new ArrayList();
- al.Add(strSTEEL_NO);
- al.Add(strSAMPLE_NO);
- al.Add(strSTEEL_NO5);
- al.Add(Departm);
- PublicServer.SetData("com.steering.lims.data.base.FrmBaseChemStdSteelSelect.DeleteChemStdSteelSelect",
- new Object[] { al }, this.ob);
- QuerySteelNo();
- PublicPipeAndOutdec.ActiveOperateRow(ultraGrid1, "STEEL_NO", strSTEEL_NO);
- MessageUtil.ShowTips("删除成功!");
- }
- }
- private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
- {
- txtSTEEL_NO.Text = ultraGrid1.ActiveRow.Cells["STEEL_NO"].Text.Trim();
- QueryChemStdSteelSelect();
- QuerySteelNoStdValue();
- }
- //查询钢种上下限
- /// <summary>
- /// 查询钢种上下限
- /// </summary>
- private void QuerySteelNoStdValue()
- {
- try
- {
- if (ultraGrid1.ActiveRow != null)
- {
- ArrayList arrayList = new ArrayList();
- arrayList.Add(ultraGrid1.ActiveRow.Cells["STEEL_NO"].Text.Trim());
- arrayList.Add(Departm);
- DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteelSelect.QuerySteelNoStdValue",
- new Object[] { arrayList }, ob);
- if (dt == null || dt.Rows.Count == 0)
- {
- dataTable4.Rows.Clear();
- //MessageUtil.ShowTips("找不到标钢明细数据!");
- return;
- }
- GridHelper.CopyDataToDatatable(dt, dataTable4, true);
- DataRow[] arrDr = null;
- foreach (DataRow dr in dataTable4.Rows)
- {
- if (dataTable5.Columns.Contains("ANA_" + dr["CHEM_NAME"].ToString()))
- {
- arrDr = dataTable5.Select("ANA_" + dr["CHEM_NAME"].ToString() + " = '√'");
- if (arrDr.Length > 0)
- {
- dr["SAMPLE_NO"] = arrDr[0]["SAMPLE_NO"].ToString();
- }
- }
- }
- GridHelper.RefreshAndAutoSize(ultraGrid4);
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- return;
- }
- }
- private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
- {
- QueryChemStdSteelValue();
- }
- private void ultraGrid2_CellChange(object sender, CellEventArgs e)
- {
- if (e.Cell.Column.Key == "CHK")
- {
- string strSAMPLE_NO = ultraGrid2.ActiveRow.Cells["SAMPLE_NO"].Text.Trim();
- string strSTEEL_NO = ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim();
- if (e.Cell.Text == "True")
- {
- foreach (DataRow dataRow in dataTable5.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 = dataTable5.NewRow();
- foreach (DataColumn dc in dataTable5.Columns)
- {
- if (dc.ColumnName == "SAMPLE_NO")
- {
- dr["SAMPLE_NO"] = strSAMPLE_NO;
- }
- else if (dc.ColumnName == "STEEL_NO")
- {
- dr["STEEL_NO"] = strSTEEL_NO;
- }
- else
- {
- dr[dc.ColumnName] = "";
- }
- }
- dataTable5.Rows.Add(dr);
- }
- else
- {
- //取消选择则要在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;
- }
- }
- }
- GridHelper.RefreshAndAutoSize(ultraGrid5);
- }
- }
- //查询标钢标准值
- /// <summary>
- /// 查询标钢标准值
- /// </summary>
- private void QueryChemStdSteelValue()
- {
- try
- {
- if (ultraGrid2.ActiveRow != null)
- {
- dataTable3.Rows.Clear();
- ArrayList arrayList = new ArrayList();
- arrayList.Add("0");
- arrayList.Add(ultraGrid2.ActiveRow.Cells["SAMPLE_NO"].Text.Trim());
- arrayList.Add(ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim());
- arrayList.Add(ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim());
- arrayList.Add(ultraGrid2.ActiveRow.Cells["STEEL_NO"].Text.Trim());
- DataTable dt = PublicServer.GetData("com.steering.lims.data.base.FrmBaseChemStdSteel.QueryChemStdSteelDetail",
- new Object[] { arrayList }, ob);
- if (dt == null || dt.Rows.Count == 0)
- {
- //MessageUtil.ShowTips("找不到标钢明细数据!");
- return;
- }
- foreach (DataColumn dc in dt.Columns)
- {
- if (dc.ColumnName.IndexOf("ANA_") == 0 && dt.Rows[0][dc.ColumnName].ToString() != "")
- {
- DataRow dr = dataTable3.NewRow();
- dr["ELEMENTS"] = dc.ColumnName.Remove(0, 4);
- dr["STD_VALUE"] = dt.Rows[0][dc.ColumnName].ToString();
- dataTable3.Rows.Add(dr);
- }
- }
- GridHelper.RefreshAndAutoSize(ultraGrid3);
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- return;
- }
- }
- private void ultraGrid5_ClickCell(object sender, ClickCellEventArgs e)
- {
- if (PublicPipeAndOutdec.chemMax.IndexOf(e.Cell.Column.Key) >= 0)
- {
- ultraGrid5.UpdateData();
- if (e.Cell.Text.Trim() == "")
- {
- e.Cell.Value = "√";
- //判断其他行是否有一样选择的元素没有则新增有则提示
- DataRow[] arrDr = dataTable5.Select(e.Cell.Column.Key + " = '√'");
- if (arrDr.Length > 0)
- {
- e.Cell.Value = "";
- MessageUtil.ShowWarning("其他标钢已经选择了此元素!");
- return;
- }
- //打钩则要赋予标钢编号
- GridHelper.RefreshAndAutoSize(ultraGrid3);
- }
- else
- {
- e.Cell.Value = "";
- }
- foreach (DataRow dr in dataTable4.Rows)
- {
- if ("ANA_" + dr["CHEM_NAME"].ToString().ToUpper() == e.Cell.Column.Key)
- {
- if (e.Cell.Text == "√")
- {
- dr["SAMPLE_NO"] = e.Cell.Row.Cells["SAMPLE_NO"].Text.Trim();
- }
- else
- {
- dr["SAMPLE_NO"] = "";
- }
- return;
- }
- }
- }
- }
- }
- }
|