| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639 |
- using System;
- using System.Collections.Generic;
- using System.Collections;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- using CoreFS.CA06;
- using Infragistics.Win.UltraWinGrid;
- using Core.StlMes.Client.LgCommon;
- namespace Core.StlMes.Client.LgIntegrationQuery
- {
- public partial class frmStationconMateriel : frmStyleBase
- {
- public bool isSave = false; //改变未保存
- public string pos_name = ""; //改变前的的岗位名
- public ArrayList beforeCposid = new ArrayList(); //改变前岗位
- public ArrayList beforeMcode = new ArrayList(); //改变前的物料编码
- public ArrayList beforeMtype = new ArrayList(); //改变前的物料类型
- public ArrayList beforeMname = new ArrayList(); //改变前的物料类型
- public ArrayList afterMcode = new ArrayList(); //改变后的物料物料编码
- public frmStationconMateriel()
- {
- InitializeComponent();
- }
- private void frmStationconMateriel_Load(object sender, EventArgs e)
- {
- QueryData();
- SetColumnMode3(ultraGrid1);
- SetColumnMode3(ultraGrid2);
- SetColumnMode(ultraGrid2);
- }
- private void QueryData()
- {
- dataTable1.Clear();
- GetDataSource(getMaterType());
- ultraGrid1.DisplayLayout.Bands[0].Columns["ERPITEMCODE"].Header.VisiblePosition = 1;
- GetStationconMateriel();
- SetExistMaintenanceColor();
- }
- // 设置下拉列表物料类型
- /// <summary>
- /// 设置下拉列表物料类型
- /// </summary>
- /// <param name="ultGrid"></param>
- private void SetColumnMode3( Infragistics.Win.UltraWinGrid.UltraGrid ultGrid )
- {
- DataTable dt = new DataTable();
- dt.TableName = "WLLX";
- DataColumn dc = new DataColumn("BCBM", Type.GetType("System.String"));
- dt.Columns.Add(dc);
- dc = new DataColumn("BCNA", Type.GetType("System.String"));
- dt.Columns.Add(dc);
- DataRow dr = dt.NewRow();
- dr["BCBM"] = "HJ";
- dr["BCNA"] = "合金";
- dt.Rows.Add(dr);
- dr = dt.NewRow();
- dr["BCBM"] = "FL";
- dr["BCNA"] = "辅料";
- dt.Rows.Add(dr);
- dr = dt.NewRow();
- dr["BCBM"] = "WS";
- dr["BCNA"] = "喂线";
- dt.Rows.Add(dr);
- dr = dt.NewRow();
- dr["BCBM"] = "BH";
- dr["BCNA"] = "保护渣";
- dt.Rows.Add(dr);
- dr = dt.NewRow();
- dr["BCBM"] = "GT";
- dr["BCNA"] = "钢铁料";
- dt.Rows.Add(dr);
- ClsControlPack.SetGridDropDownList("MATERIELTYPE", "Table1", "物料类型名称", 90, ultGrid, dt, "BCBM", "BCNA");
- }
- // 设置下拉列表岗位信息
- /// <summary>
- /// 设置下拉列表岗位信息
- /// </summary>
- /// <param name="ultGrid"></param>
- private void SetColumnMode(Infragistics.Win.UltraWinGrid.UltraGrid ultGrid)
- {
- DataTable dt = new DataTable();
- dt.TableName = "WLLX";
- DataColumn dc = new DataColumn("BCBM", Type.GetType("System.String"));
- dt.Columns.Add(dc);
- dc = new DataColumn("BCNA", Type.GetType("System.String"));
- dt.Columns.Add(dc);
- DataRow dr = dt.NewRow();
- dr["BCBM"] = "HMP";
- dr["BCNA"] = "铁水预处理";
- dt.Rows.Add(dr);
- dr = dt.NewRow();
- dr["BCBM"] = "BOF";
- dr["BCNA"] = "转炉";
- dt.Rows.Add(dr);
- dr = dt.NewRow();
- dr["BCBM"] = "CAS";
- dr["BCNA"] = "吹氩站";
- dt.Rows.Add(dr);
- dr = dt.NewRow();
- dr["BCBM"] = "LFS";
- dr["BCNA"] = "精炼炉";
- dt.Rows.Add(dr);
- dr = dt.NewRow();
- dr["BCBM"] = "RHS";
- dr["BCNA"] = "RH炉";
- dt.Rows.Add(dr);
- dr = dt.NewRow();
- dr["BCBM"] = "CCM";
- dr["BCNA"] = "连铸机";
- dt.Rows.Add(dr);
- ClsControlPack.SetGridDropDownList("CRAFTPOSID", "Table1", "岗位", 130, ultGrid, dt, "BCBM", "BCNA");
- }
- // 保存物料信息
- /// <summary>
- /// 保存物料信息
- /// </summary>
- private void SaveData()
- {
- try
- {
- if (ultraGrid1.Rows.Count == 0)
- {
- MessageBox.Show("没有可选的物料!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- return;
- }
- ArrayList listCposid = new ArrayList(); //岗位
- ArrayList listMcode = new ArrayList(); //物料编码
- ArrayList listMtype = new ArrayList(); //物料类型
- ArrayList listMname = new ArrayList(); //物料名称
- string flag="0";
- string strCraftPosID = "";
- bool blValue = false;
- if (ultraGrid1.Rows.Count > 0)
- {
- if (rdbHmp.Checked) strCraftPosID = "HMP";
- if (rdbBOF.Checked) strCraftPosID = "BOF";
- if (rdbCAS.Checked) strCraftPosID = "CAS";
- if (rdbLFS.Checked) strCraftPosID = "LFS";
- if (rdbRHS.Checked) strCraftPosID = "RHS";
- if (rdbVDS.Checked) strCraftPosID = "VDS";
- if (rdbCCM.Checked) strCraftPosID = "CCM";
- ultraGrid1.UpdateData();
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- if (Convert.ToBoolean(ultraGrid1.Rows[i].Cells["Flag"].Value) == true)
- {
- listCposid.Add(strCraftPosID);
- listMcode.Add(ultraGrid1.Rows[i].Cells["MATERIELCODE"].Value.ToString().Trim());
- listMtype.Add(ultraGrid1.Rows[i].Cells["MATERIELTYPE"].Value.ToString().Trim());
- listMname.Add(ultraGrid1.Rows[i].Cells["MATERIELNAME"].Value.ToString().Trim());
- blValue = true;
- }
- }
- if (blValue == false)
- {
- listCposid = beforeCposid;
- listMcode = beforeMcode;
- listMtype = beforeMtype;
- listMname = beforeMname;
- flag = "1";
- //MessageBox.Show("没有为岗位选择物料!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- //return;
- }
- //定义一个ArrayList集合存储变量[参数]值
- string strErr = "";
- ArrayList sArgs = new ArrayList();
- sArgs.Add(listCposid);
- sArgs.Add(listMcode);
- sArgs.Add(listMtype);
- sArgs.Add(listMname);
- sArgs.Add(getMaterType());
- sArgs.Add(flag);
- ClsDataAccessPack.DoProcedure("frmMater_AddToPos.select", sArgs, out strErr, ob);
- if (strErr == "")
- {
- QueryData();
- MessageBox.Show("岗位物料配置保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- }
- else
- {
- MessageBox.Show("岗位物料配置保存失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- }
- }
- }
- catch (System.Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- }
- // 获取物料
- /// <summary>
- /// 获取物料
- /// </summary>
- /// <param name="szWhere"></param>
- private void GetDataSource(string strMType)
- {
- try
- {
- string strErr = "";
- //定义一个ArrayList集合存储变量[参数]值
- ArrayList arry = new ArrayList();
- arry.Add("frmStoresProject.select");
- arry.Add(strMType);
- 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)
- {
- int i;
- for (i = 0; i < ds.Tables[0].Rows.Count; i++)
- {
- DataRow dr = dataTable1.NewRow();
- dr["Flag"] = false;
- dr["MaterielCode"] = ds.Tables[0].Rows[i]["MaterielCode"].ToString();
- dr["MaterielName"] = ds.Tables[0].Rows[i]["MaterielName"].ToString();
- dr["MaterielforShort"] = ds.Tables[0].Rows[i]["MaterielforShort"].ToString();
- dr["MaterielType"] = ds.Tables[0].Rows[i]["MaterielType"].ToString();
- dr["MaterielUnits"] = ds.Tables[0].Rows[i]["MaterielUnits"].ToString();
- dr["JmType"] = ds.Tables[0].Rows[i]["JmType"].ToString();
- //dr["ERPITEMCODE"] = dw.Rows[i]["ERPITEMCODE"];
- dataTable1.Rows.Add(dr);
- }
- }
- }
- catch { }
- // PublicMethod.RefreshAndAutoSize(ultraGrid1);
- }
- // 获取岗位对应物料
- /// <summary>
- /// 获取岗位对应物料
- /// </summary>
- private void GetStationconMateriel()
- {
- try
- {
- string strErr = "";
- string strCPosid = "";
- string strMType = "";
- dataSet2.Tables[0].Clear();
- //定义一个ArrayList集合存储变量[参数]值
- ArrayList arry = new ArrayList();
- arry.Add("frmStationconMateriel.select");
- arry.Add(getPosType());
- arry.Add(getMaterType());
- 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)
- {
- int i;
- for (i = 0; i < ds.Tables[0].Rows.Count; i++)
- {
- DataRow dr = dataSet2.Tables[0].NewRow();
- dr["CRAFTPOSID"] = ds.Tables[0].Rows[i]["CRAFTPOSID"].ToString();
- dr["MATERIELCODE"] = ds.Tables[0].Rows[i]["MATERIELCODE"].ToString();
- dr["MATERIELTYPE"] = ds.Tables[0].Rows[i]["MATERIELTYPE"].ToString();
- dr["MATERIELNAME"] = ds.Tables[0].Rows[i]["MATERIELNAME"].ToString();
- dataSet2.Tables[0].Rows.Add(dr);
- }
- }
- }
- catch { }
- }
- // 删除岗位对应物料
- /// <summary>
- /// 删除岗位对应物料
- /// </summary>
- private void DeleteMaintenance()
- {
- try
- {
- string strCraftposID = "";
- string strMaterielCode = "";
- string strErr = "";
- if (ultraGrid2.ActiveRow != null)
- {
- strCraftposID = ultraGrid2.ActiveRow.Cells["CraftposID"].Value.ToString();
- strMaterielCode = ultraGrid2.ActiveRow.Cells["MaterielCode"].Value.ToString();
- //定义一个ArrayList集合存储变量[参数]值
- ArrayList arry = new ArrayList();
- arry.Add("frmSMateriel_DelPInfo.select");
- arry.Add(strCraftposID);
- arry.Add(strMaterielCode);
- CommonClientToServer cctos = new CommonClientToServer();
- cctos.ob = this.ob;
- string info = cctos.NoQueryFunctions("Core.LgMes.Server.Common.ComDBSave",
- "doSimpleSave", arry, out strErr);
- if (strErr == "" && info == "")
- {
- MessageBox.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- GetStationconMateriel();
- }
- else { MessageBox.Show("删除失败,请重新操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); }
- }
- else
- MessageBox.Show("请在右边岗位与物料对应列表选择要删除的记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- }
- catch { }
- }
- // 标识已经配置的物料
- /// <summary>
- /// 标识已经配置的物料
- /// </summary>
- private void SetExistMaintenanceColor()
- {
- try
- {
- //for (int j = 0; j < ultraGrid1.Rows.Count; j++)
- //{
- // // ultraGrid1.DisplayLayout.Rows[j].CellAppearance.ForeColor = Color.Black;
- // // ultraGrid1.DisplayLayout.Rows[j].Cells["Flag"].Value = "FALSE";
- // // ultraGrid1.DisplayLayout.Rows[j].Cells["Flag"].Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
- //}
- beforeCposid.Clear();
- beforeMcode.Clear();
- beforeMtype.Clear();
- beforeMname.Clear();
- afterMcode.Clear();
- foreach (DataRow dr in dataSet2.Tables[0].Rows)
- {
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- if (dr["MATERIELCODE"].ToString() == ultraGrid1.Rows[i].Cells["MATERIELCODE"].Value.ToString())
- {
- beforeCposid.Add(getPosType());
- beforeMcode.Add(ultraGrid1.Rows[i].Cells["MATERIELCODE"].Value.ToString());
- beforeMtype.Add(ultraGrid1.Rows[i].Cells["MATERIELTYPE"].Value.ToString());
- beforeMname.Add(ultraGrid1.Rows[i].Cells["MATERIELNAME"].Value.ToString());
- afterMcode.Add(ultraGrid1.Rows[i].Cells["MATERIELCODE"].Value.ToString());
- ultraGrid1.DisplayLayout.Rows[i].Cells["Flag"].Value = "TRUE";
- // ultraGrid1.DisplayLayout.Rows[i].Cells["Flag"].Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
- ultraGrid1.DisplayLayout.Rows[i].CellAppearance.ForeColor = Color.Red;
- }
- }
- }
- }
- catch { }
- }
- // 获得物料类型
- /// <summary>
- /// 获得物料类型
- /// </summary>
- private string getMaterType()
- {
- string type = "";
- if (this.radHJ.Checked == true)
- {
- type = radHJ.Tag.ToString();
- }
- else if (this.radFL.Checked == true)
- {
- type = radFL.Tag.ToString();
- }
- else if (this.radWS.Checked == true)
- {
- type = radWS.Tag.ToString();
- }
- else if (this.radBHZ.Checked == true)
- {
- type = radBHZ.Tag.ToString();
- }
- else if (this.radGT.Checked == true)
- {
- type = radGT.Tag.ToString();
- }
- else if (this.radAllType.Checked == true)
- {
- type = "";
- }
- return type;
- }
- // 获得岗位类型
- /// <summary>
- /// 获得岗位类型
- /// </summary>
- private string getPosType()
- {
- string type = "";
- if (this.rdbHmp.Checked == true)
- {
- type = rdbHmp.Tag.ToString();
- }
- else if (this.rdbBOF.Checked == true)
- {
- type = rdbBOF.Tag.ToString();
- }
- else if (this.rdbCAS.Checked == true)
- {
- type = rdbCAS.Tag.ToString();
- }
- else if (this.rdbLFS.Checked == true)
- {
- type = rdbLFS.Tag.ToString();
- }
- else if (this.rdbRHS.Checked == true)
- {
- type = rdbRHS.Tag.ToString();
- }
- else if (this.rdbVDS.Checked == true)
- {
- type = rdbVDS.Tag.ToString();
- }
- else if (this.rdbCCM.Checked == true)
- {
- type = rdbCCM.Tag.ToString();
- }
- return type;
- }
- // 比较两个ArrayList是否值相等
- /// <summary>
- /// 比较两个ArrayList是否值相等
- /// </summary>
- /// <param name="array1">值型一维数组1</param>
- /// <param name="array2">值型一维数组2</param>
- /// <returns>比较结果,相等则true,否则false</returns>
- public static bool IsEquals(ArrayList array1, ArrayList array2)
- {
- //比较类型是否一样
- if (!Object.ReferenceEquals(array1.GetType(), array2.GetType()))
- {
- return false;
- }
- //比较长度是否一样
- if (array1.Count != array2.Count)
- {
- return false;
- }
- //比较成员是否对应相等
- for (int i = 0; i < array1.Count; i++)
- {
- string v1 = array1[i].ToString().Trim();
- string v2 = array2[i].ToString().Trim();
- if (v1 != v2)
- {
- return false;
- }
- }
- return true;
- }
- private void radMater_CheckedChanged(object sender, EventArgs e)
- {
- try
- {
- //if (((RadioButton)sender).Checked == false)
- //{
- // pos_name = ((RadioButton)sender).Tag.ToString();
- //}
- if (((RadioButton)sender).Checked)
- {
- //if (!IsEquals(beforeMcode, afterMcode))
- //{
- // isSave = true;
- // if (MessageBox.Show("岗位物料配置已修改,还未保存!\n保存点击【是】,放弃点击【否】", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
- // {
- // SaveData();
- // }
- // isSave = false; ;
- //}
- QueryData();
- }
- }
- catch { }
- }
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- //case "Add":
- // SaveData();
- // break;
- //case "Delete":
- // if ((MessageBox.Show("确认要删除所选记录!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk)) == DialogResult.Yes)
- // {
- // DeleteMaintenance();
- // }
- // break;
- case "Query":
- try
- {
- //if (!IsEquals(beforeMcode, afterMcode))
- //{
- // if (MessageBox.Show("岗位物料配置已修改,还未保存!\n保存点击【是】,放弃点击【否】", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
- // {
- // SaveData();
- // }
- //}
- QueryData();
- }
- catch { }
- break;
- case "Save":
- SaveData();
- break;
- case "Exit":
- this.Close();
- break;
- default:
- break;
- }
- }
- private void rdbHmp_CheckedChanged(object sender, EventArgs e)
- {
- try
- {
- if (!((RadioButton)sender).Checked)
- {
- //if (!IsEquals(beforeMcode, afterMcode))
- //{
- // if (MessageBox.Show("岗位物料配置已修改,还未保存!\n保存点击【是】,放弃点击【否】", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
- // {
- // SaveData();
- // }
- //}
- QueryData();
- }
- }
- catch { }
- }
- private void ultraGrid1_AfterCellActivate(object sender, EventArgs e)
- {
- //if (ultraGrid1.ActiveRow != null)
- //{
- // if (ultraGrid1.ActiveRow.CellAppearance.ForeColor == Color.Red)
- // {
- // MessageBox.Show("所选岗位已经存在该物料,物料不能重复", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- // return;
- // }
- // foreach (DataRow dr in dataSet2.Tables[0].Rows)
- // {
- // if (dr["MATERIELCODE"].ToString() == ultraGrid1.ActiveRow.Cells["MATERIELCODE"].Value.ToString())
- // {
- // MessageBox.Show("所选岗位已经存在该物料,物料不能重复", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- // return;
- // }
- // }
- //}
- }
- private void ultraGrid1_AfterCellUpdate(object sender, CellEventArgs e)
- {
- try
- {
- if (ultraGrid1.Rows.Count == 0)
- return;
- else
- {
- ultraGrid1.UpdateData();
- if (Convert.ToBoolean(ultraGrid1.ActiveRow.Cells["Flag"].Value) == true)
- {
- if (!afterMcode.Contains(ultraGrid1.ActiveRow.Cells["MATERIELCODE"].Value.ToString()))
- {
- afterMcode.Add(ultraGrid1.ActiveRow.Cells["MATERIELCODE"].Value.ToString());
- }
- ultraGrid1.ActiveRow.CellAppearance.ForeColor = Color.Red;
- }
- else
- {
- if (afterMcode.Contains(ultraGrid1.ActiveRow.Cells["MATERIELCODE"].Value.ToString()))
- {
- afterMcode.Remove(ultraGrid1.ActiveRow.Cells["MATERIELCODE"].Value.ToString());
- }
- ultraGrid1.ActiveRow.CellAppearance.ForeColor = Color.Black;
- }
- }
- }
- catch { }
- }
- private void frmStationconMateriel_FormClosing(object sender, FormClosingEventArgs e)
- {
- try
- {
- //if (!IsEquals(beforeMcode, afterMcode))
- //{
- // if (MessageBox.Show("岗位物料配置已修改,还未保存!\n保存点击【是】,放弃点击【否】", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
- // {
- // SaveData();
- // }
- //}
- }
- catch { }
- }
- }
- }
|