| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425 |
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Format;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Tool;
- using Core.StlMes.Client.Qcm.model;
- using CoreFS.CA06;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win.UltraWinGrid;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Data;
- using System.Drawing;
- using System.Windows.Forms;
- namespace Core.StlMes.Client.Qcm
- {
- public partial class FrmComBaseChemRatio : FrmBase
- {
- public FrmComBaseChemRatio()
- {
- InitializeComponent();
- }
- private void FrmComBaseChemRatio_Load(object sender, EventArgs e)
- {
- Init();
- }
- private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
- {
- EntityHelper.ShowGridCaption<ComBaseChemRatioEntity>(e.Layout.Bands[0]);
- }
- private void Init()
- {
- UltraComboEditor uceMinSign = new UltraComboEditor();
- UltraComboEditor uceMaxSign = new UltraComboEditor();
- UltraComboEditor uceChem = new UltraComboEditor();
- UltraComboEditor uceRatio = new UltraComboEditor();
- this.Controls.Add(uceMinSign);
- this.Controls.Add(uceMaxSign);
- this.Controls.Add(uceChem);
- this.Controls.Add(uceRatio);
- uceMinSign.Visible = false;
- uceMaxSign.Visible = false;
- uceChem.Visible = false;
- uceRatio.Visible = false;
- QcmBaseQuery.NitializeSignMin(uceMinSign);
- QcmBaseQuery.NitializeSignMax(uceMaxSign);
- QcmBaseCommon.InitDrop(uceChem, "com.steering.pss.qcm.CoreComBaseChemRatio.getChem", "CHEM_NAME", "CHEM_CODE", true, this.ob);
- QcmBaseCommon.InitDrop(uceRatio, "com.steering.pss.qcm.CoreComBaseChemRatio.getRatio", "BASENAME", "BASECODE", false, this.ob);
- QcmBaseQuery.BindColumn(uceMinSign, "MinSign", ultraGrid1.DisplayLayout.Bands[0]);
- QcmBaseQuery.BindColumn(uceMaxSign, "MaxSign", ultraGrid1.DisplayLayout.Bands[0]);
- QcmBaseQuery.BindColumn(uceChem, "ChemCode", ultraGrid1.DisplayLayout.Bands[0]);
- QcmBaseQuery.BindColumn(uceRatio, "RatioCode", ultraGrid1.DisplayLayout.Bands[0]);
- }
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query":
- DoQuery(true);
- break;
- case "QueryV":
- DoQuery(false);
- break;
- case "Save":
- DoSave();
- break;
- case "Delete":
- DeleteOrResume(true);
- break;
- case "Resume":
- DeleteOrResume(false);
- break;
- case "Refresh":
- Init();
- break;
- case "Close":
- this.Close();
- break;
- }
- }
- private void DoQuery(bool flag)
- {
- List<ComBaseChemRatioEntity> list = EntityHelper.GetData<ComBaseChemRatioEntity>("com.steering.pss.qcm.CoreComBaseChemRatio.query", new object[] { flag }, this.ob);
- comBaseChemRatioEntityBindingSource.DataSource = list;
- }
- private void DoSave()
- {
- ultraGrid1.UpdateData();
- ArrayList list = new ArrayList();
- foreach (UltraGridRow row in ultraGrid1.Rows)
- {
- if (Convert.ToBoolean(row.Cells["CHK"].Value))
- {
- ComBaseChemRatioEntity com = (ComBaseChemRatioEntity)row.ListObject;
- if (!ValidInput(com))
- {
- MessageUtil.ShowWarning(errMsg);
- row.Activate();
- return;
- }
- com.CreateName = UserInfo.GetUserName();
- com.UpdateName = UserInfo.GetUserName();
- list.Add(JSONFormat.Format(com));
- }
- }
- if (GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CHK" }, new string[] { "True" }).Length <= 0)
- {
- MessageUtil.ShowWarning("请选择要操作的记录!");
- return;
- }
- if (MessageBox.Show("是否确认保存数据?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
- {
- return;
- }
- int count = ServerHelper.SetData("com.steering.pss.qcm.CoreComBaseChemRatio.save", new object[] { list }, this.ob);
- if (count > 0)
- {
- MessageUtil.ShowTips("数据保存成功!");
- DoQuery(true);
- }
- }
- string errMsg = "";
- private bool ValidInput(ComBaseChemRatioEntity com)
- {
- if (com.Validflag.ToString() != "" && com.Validflag.ToString() != "有效")
- {
- errMsg = "无效数据无法保存!";
- return false;
- }
- if (com.ChemName.ToString() == "")
- {
- errMsg = "请选择化学元素!";
- return false;
- }
- if (com.MinSign.ToString() == "=")
- {
- if (com.MaxSign.ToString() != "")
- {
- errMsg = "下限符号为等号,不能存在上限符号!";
- return false;
- }
- }
- if (com.MinSign.ToString() == "" && com.MaxSign.ToString() == "")
- {
- errMsg = "元素范围上下限符号至少选一个!";
- return false;
- }
- //-----下限----
- if (com.MinSign.ToString() != "" && com.MinValue.ToString() == "")
- {
- errMsg = "请输入元素范围下限值";
- return false;
- }
- if (com.MinValue.ToString() != "" && com.MinSign.ToString() == "")
- {
- errMsg = "元素范围下限值不为空,请选择元素范围下限符号";
- return false;
- }
- if (com.MinValue.ToString() != "" && !StringUtil.IsNumber(com.MinValue.ToString()))
- {
- errMsg = "元素范围下限值请输入数字!";
- return false;
- }
- //------上限-----
- if (com.MaxSign.ToString() != "" && com.MaxValue.ToString() == "")
- {
- errMsg = "请输入元素范围上限值";
- return false;
- }
- if (com.MaxValue.ToString() != "" && com.MaxSign.ToString() == "")
- {
- errMsg = "元素范围上限值不为空,请选择元素范围上限符号";
- return false;
- }
- if (com.MaxValue.ToString() != "" && !StringUtil.IsNumber(com.MaxValue.ToString()))
- {
- errMsg = "元素范围上限值请输入数字!";
- return false;
- }
- //---都不为空
- if (com.MinValue.ToString() != "" && com.MaxValue.ToString() != "")
- {
- if (com.MinValue.ToString() == com.MaxValue.ToString())
- {
- if (!com.MinSign.ToString().Contains("=") && !com.MaxSign.ToString().Contains("="))
- {
- errMsg = "上下限值相等,请选择'>='和'<='的符号!";
- return false;
- }
- }
- else if (Convert.ToDouble(com.MinValue) > Convert.ToDouble(com.MaxValue))
- {
- errMsg = "元素范围下限值不能大于上限值!";
- return false;
- }
- }
- if (com.RatioName.ToString() == "")
- {
- errMsg = "请选择系数名称!";
- return false;
- }
- if (com.RatioValue.ToString() == "")
- {
- errMsg = "请输入系数值!";
- return false;
- }
- if (!StringUtil.IsNumber(com.RatioValue.ToString()))
- {
- errMsg = "系数值:请输入数字!";
- return false;
- }
- if (com.Validflag.ToString() == "")
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreComBaseChemRatio.isReapt", new object[] { com.ChemCode.ToString(), com.GroupText.ToString(), com.RatioCode.ToString() }, this.ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- errMsg = "化学元素:" + com.ChemName + ",系数名称:" + com.RatioName + ",范围组合" + com.GroupText + " 对应的记录已经存在!";
- return false;
- }
- }
- else
- {
- if (com.ChemCode.ToString() != com.ChemCodeOld.ToString() || com.GroupText.ToString() != com.GroupTextOld.ToString()
- || com.RatioCode.ToString() != com.RatioCodeOld.ToString())
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreComBaseChemRatio.isReapt", new object[] { com.ChemCode.ToString(), com.GroupText.ToString(), com.RatioCode.ToString() }, this.ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- errMsg = "化学元素:" + com.ChemName + ",系数名称:" + com.RatioName + ",范围组合" + com.GroupText + " 对应的记录已经存在!";
- return false;
- }
- }
- }
- return true;
- }
- private void DeleteOrResume(bool flag)
- {
- ultraGrid1.UpdateData();
- ArrayList list = new ArrayList();
- foreach (UltraGridRow row in ultraGrid1.Rows)
- {
- if (Convert.ToBoolean(row.Cells["CHK"].Value))
- {
- if (flag && row.Cells["VALIDFLAG"].Value.ToString() != "有效")
- {
- MessageUtil.ShowWarning("非有效记录无法作废!");
- return;
- }
- else if (flag == false && row.Cells["VALIDFLAG"].Value.ToString() != "无效")
- {
- MessageUtil.ShowWarning("非无效记录无法恢复!");
- return;
- }
- ComBaseChemRatioEntity com = (ComBaseChemRatioEntity)row.ListObject;
- com.DeleteName = UserInfo.GetUserName();
- list.Add(JSONFormat.Format(com));
- }
- }
- if (GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CHK" }, new string[] { "True" }).Length <= 0)
- {
- MessageUtil.ShowWarning("请选择需要操作的记录!");
- return;
- }
- if (MessageBox.Show("是否确认" + (flag ? "作废" : "恢复") + "所选的记录", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
- {
- return;
- }
- int count = ServerHelper.SetData("com.steering.pss.qcm.CoreComBaseChemRatio.deleteOrResume", new object[] { list, flag }, this.ob);
- if (count > 0)
- {
- MessageUtil.ShowWarning("数据" + (flag ? "作废" : "恢复") + "成功!");
- DoQuery(true);
- }
- }
- private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
- {
- if (e.Row.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
- {
- e.Row.Appearance.ForeColor = Color.Red;
- }
- else
- {
- e.Row.Appearance.ForeColor = Color.Black;
- }
- }
- private void ultraGrid1_CellChange(object sender, CellEventArgs e)
- {
- ultraGrid1.UpdateData();
- UltraGridRow ugr = ultraGrid1.ActiveRow;
- if (ugr == null)
- return;
- ComBaseChemRatioEntity com = (ComBaseChemRatioEntity)ugr.ListObject;
- if (e.Cell.Column.Key.Equals("ChemCode"))
- {
- com.ChemName = e.Cell.Text;
- }
- else if (e.Cell.Column.Key.Equals("RatioCode"))
- {
- ugr.Cells["RatioName"].Value = e.Cell.Text;
- }
- else if (e.Cell.Column.Key.Equals("MinSign"))
- {
- ugr.Cells["GroupText"].Value = ugr.Cells["MinSign"].Value.ToString() + ugr.Cells["MinValue"].Value.ToString()
- + ugr.Cells["MaxSign"].Value.ToString() + ugr.Cells["MaxValue"].Value.ToString();
- }
- else if (e.Cell.Column.Key.Equals("MinValue"))
- {
- ugr.Cells["GroupText"].Value = ugr.Cells["MinSign"].Value.ToString() + ugr.Cells["MinValue"].Value.ToString()
- + ugr.Cells["MaxSign"].Value.ToString() + ugr.Cells["MaxValue"].Value.ToString();
- }
- else if (e.Cell.Column.Key.Equals("MaxSign"))
- {
- ugr.Cells["GroupText"].Value = ugr.Cells["MinSign"].Value.ToString() + ugr.Cells["MinValue"].Value.ToString()
- + ugr.Cells["MaxSign"].Value.ToString() + ugr.Cells["MaxValue"].Value.ToString();
- }
- else if (e.Cell.Column.Key.Equals("MaxValue"))
- {
- ugr.Cells["GroupText"].Value = ugr.Cells["MinSign"].Value.ToString() + ugr.Cells["MinValue"].Value.ToString()
- + ugr.Cells["MaxSign"].Value.ToString() + ugr.Cells["MaxValue"].Value.ToString();
- }
- else if (e.Cell.Column.Key.Equals("CHK"))
- {
- if (!Convert.ToBoolean(e.Cell.Value))
- {
- for (int i = 0; i < ugr.Cells.Count; i++)
- {
- if (!ugr.Cells[i].Column.Key.Equals("CHK"))
- ugr.Cells[i].Activation = Activation.ActivateOnly;
- }
- }
- else
- {
- for (int i = 0; i < ugr.Cells.Count; i++)
- {
- ugr.Cells[i].Activation = Activation.AllowEdit;
- }
- }
- }
- }
- private void ultraGrid1_AfterRowInsert(object sender, RowEventArgs e)
- {
- ultraGrid1.Update();
- UltraGridRow ugr = ultraGrid1.ActiveRow;
- if (!Convert.ToBoolean(ugr.Cells["CHK"].Value))
- {
- for (int i = 0; i < ugr.Cells.Count; i++)
- {
- if (!ugr.Cells[i].Column.Key.Equals("CHK"))
- ugr.Cells[i].Activation = Activation.ActivateOnly;
- }
- }
- else
- {
- for (int i = 0; i < ugr.Cells.Count; i++)
- {
- ugr.Cells[i].Activation = Activation.AllowEdit;
- }
- }
- }
- private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
- {
- ultraGrid1.Update();
- UltraGridRow ugr = ultraGrid1.ActiveRow;
- if (ugr == null)
- return;
- if (!Convert.ToBoolean(ugr.Cells["CHK"].Value))
- {
- for (int i = 0; i < ugr.Cells.Count; i++)
- {
- if (!ugr.Cells[i].Column.Key.Equals("CHK"))
- ugr.Cells[i].Activation = Activation.ActivateOnly;
- }
- }
- else
- {
- for (int i = 0; i < ugr.Cells.Count; i++)
- {
- ugr.Cells[i].Activation = Activation.AllowEdit;
- }
- }
- }
- }
- }
|