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 System.Collections; using CoreFS.CA06; using Core.StlMes.Client.LgCommon; namespace Core.StlMes.Client.LgResMgt { public partial class frmSteelConfiger : frmStyleBase { public string WorkShopNo = ""; private ArrayList BeforeCode; //初始物料编码 private ArrayList BeforeName; //初始物料名称 public frmSteelConfiger(OpeBase oba) { InitializeComponent(); this.ob = oba; BeforeCode = new ArrayList(); BeforeName = new ArrayList(); } private void frmSteelConfiger_Load(object sender, EventArgs e) { GetMater(); GetConfigMater(); } // 获得钢铁物料 /// /// 获得钢铁物料 /// private void GetMater() { try { string strErr = ""; ArrayList arry = new ArrayList(); arry.Add("ScrapSteelConfig.Query"); CommonClientToServer ccs = new CommonClientToServer(); ccs.ob = this.ob; DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); try { if (ultraGrid2.Rows.Count > 0) { ((DataSet)ultraGrid2.DataSource).Tables[0].Rows.Clear(); } } catch (Exception) { } if (ds.Tables[0].Rows.Count > 0) { this.ultraGrid2.DataSource = ds; } PublicMethod.RefreshAndAutoSize(ultraGrid2); } catch { } } // 获得已经配置的物料 /// /// 获得已经配置的物料 /// private void GetConfigMater() { try { string strErr = ""; ArrayList arry = new ArrayList(); arry.Add("ScrapSteel.Config"); arry.Add(WorkShopNo); CommonClientToServer ccs = new CommonClientToServer(); ccs.ob = this.ob; DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (ds != null && ds.Tables[0].Rows.Count > 0) { string matercode = ""; string matername = ""; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { matercode = ds.Tables[0].Rows[i]["SCRAPSTEELCODE"].ToString(); matername = ds.Tables[0].Rows[i]["SCRAPSTEELNAME"].ToString(); for (int j = 0; j < ultraGrid2.Rows.Count; j++) { if (matercode == ultraGrid2.Rows[j].Cells["MATERIELCODE"].Value.ToString()) { ultraGrid2.Rows[j].Cells["FLAG"].Value = "True"; string code = ultraGrid2.Rows[j].Cells["MATERIELCODE"].Value.ToString(); string name = ultraGrid2.Rows[j].Cells["MATERIELNAME"].Value.ToString(); BeforeCode.Add(code); BeforeName.Add(name); SetMater(code, name); } } } } } catch { } } private void SetMater(string matercode, string matername) { try { if (Mater1.Text.ToString() == "") { // Mater1.Tag = matercode; Mater1.Text = matername; return; } if (Mater2.Text.ToString() == "") { // Mater2.Tag = matercode; Mater2.Text = matername; return; } if ( Mater3.Text.ToString() == "") { // Mater3.Tag = matercode; Mater3.Text = matername; return; } if (Mater3.Text.ToString() == "") { // Mater3.Tag = matercode; Mater3.Text = matername; return; } if (Mater4.Text.ToString() == "") { // Mater4.Tag = matercode; Mater4.Text = matername; return; } if ( Mater5.Text.ToString() == "") { // Mater5.Tag = matercode; Mater5.Text = matername; return; } if ( Mater6.Text.ToString() == "") { // Mater6.Tag = matercode; Mater6.Text = matername; return; } else { // MessageBox.Show("最多只能配置6个物料!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } catch { } } private void CancelMater(string matercode, string matername) { try { if (Mater1.Text.ToString() == matername) { // Mater1.Tag = ""; Mater1.Text = ""; return; } if (Mater2.Text.ToString() == matername) { // Mater2.Tag = ""; Mater2.Text = ""; return; } if (Mater3.Text.ToString() == matername) { // Mater3.Tag = ""; Mater3.Text = ""; return; } if (Mater3.Text.ToString() == matername) { // Mater3.Tag = ""; Mater3.Text = ""; return; } if (Mater4.Text.ToString() == matername) { // Mater4.Tag = ""; Mater4.Text = ""; return; } if ( Mater5.Text.ToString() == matername) { // Mater5.Tag = ""; Mater5.Text = ""; return; } if (Mater6.Text.ToString() == matername) { // Mater6.Tag = ""; Mater6.Text = ""; return; } } catch { } } private void ultraGrid2_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { try { ultraGrid2.UpdateData(); string code = ""; string name = ""; int nvl = 0; int index = e.Cell.Row.Index; if (e.Cell.Column.Key.ToString() == "FLAG") { for (int i = 0; i < ultraGrid2.Rows.Count; i++) { if (ultraGrid2.Rows[i].Cells["FLAG"].Value.ToString() == "True") { nvl++; } } if (nvl > 6) { e.Cell.Value = "False"; MessageBox.Show("最多只能配置6个物料!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (e.Cell.Value.ToString() == "True") { code = ultraGrid2.Rows[index].Cells["MATERIELCODE"].Value.ToString(); name = ultraGrid2.Rows[index].Cells["MATERIELNAME"].Value.ToString(); SetMater(code,name); } else { code = ultraGrid2.Rows[index].Cells["MATERIELCODE"].Value.ToString(); name = ultraGrid2.Rows[index].Cells["MATERIELNAME"].Value.ToString(); CancelMater(code, name); } } } catch { } } // 保存物料配置 /// /// 保存物料配置 /// /// /// private void button1_Click(object sender, EventArgs e) { try { if (ultraGrid2.Rows.Count == 0) { MessageBox.Show("没有可选的物料!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } ArrayList listMcode = new ArrayList(); //物料编码 ArrayList listMname = new ArrayList(); //物料名称 string flag = "0"; bool blValue = false; if (ultraGrid2.Rows.Count > 0) { ultraGrid2.UpdateData(); for (int i = 0; i < ultraGrid2.Rows.Count; i++) { if (Convert.ToBoolean(ultraGrid2.Rows[i].Cells["FLAG"].Value) == true) { listMcode.Add(ultraGrid2.Rows[i].Cells["MATERIELCODE"].Value.ToString().Trim()); listMname.Add(ultraGrid2.Rows[i].Cells["MATERIELNAME"].Value.ToString().Trim()); blValue = true; } } if (blValue == false) { if (MessageBox.Show("你当前没有选择任何物料!你确定保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; listMcode = BeforeCode; listMname = BeforeName; flag = "1"; } } if (listMcode.Count > 0) { //定义一个ArrayList集合存储变量[参数]值 string strErr = ""; string strSqlID = "frmScrapMater.Config"; object[] sArgs = new object[5]; sArgs[0] = listMcode; sArgs[1] = listMname; //炉号 sArgs[2] =this.UserInfo.GetUserName(); sArgs[3] = flag; sArgs[4] = WorkShopNo; CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure", "ExecProcWithCollParam", strSqlID, sArgs, out strErr); if (strErr == "") { frmScrapSteel frm = (frmScrapSteel)this.Tag; frm.GetConfigMater(); MessageBox.Show("物料保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); System.Threading.Thread.Sleep(500); this.Close(); } else { MessageBox.Show("物料保存失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } else { MessageBox.Show("物料保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); this.Close(); } } catch { } } /// /// 取消 /// /// /// private void button2_Click(object sender, EventArgs e) { this.Close(); } } }