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.Control;
using Core.StlMes.Client.Qcm.model;
using Core.StlMes.Client.Qcm.objectData;
using CoreFS.CA06;
using Infragistics.Win;
using Infragistics.Win.UltraWinEditors;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win.UltraWinTabControl;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
namespace Core.StlMes.Client.Qcm
{
///
/// 标准名称 内控
///
public partial class FrmStandardN : FrmBase
{
///
/// 提示
///
private string errMessage = "";
///
/// 标准基础(定位)
///
private string _stdName = "";
///
/// 客户(定位)
///
private string _custName = "";
///
/// 是否勾选
///
private int isSelectData = 0;
///
/// 下拉框数组
///
UltraComboEditor[] ucbs = new UltraComboEditor[5];
UltraComboEditor uceUnitCode = new UltraComboEditor();//管理科室
UltraComboEditor uceDeptCode = new UltraComboEditor();//管理部门
///
/// 位置
///
private int disWidth = 0;
private int disLength = 0;
private CtrlMscChem _ctrlMscChem;
public CtrlMscChem CtrlMscChem
{
get { return _ctrlMscChem; }
set { _ctrlMscChem = value; }
}
private CtrlMscMaterial _ctrlMscMaterial;
public CtrlMscMaterial CtrlMscMaterial
{
get { return _ctrlMscMaterial; }
set { _ctrlMscMaterial = value; }
}
private CtrlMSCDetection _ctrlMscDetection;
public CtrlMSCDetection CtrlMscDetection
{
get { return _ctrlMscDetection; }
set { _ctrlMscDetection = value; }
}
private CtrlMscTolerances _ctrlMscTolerances;
public CtrlMscTolerances CtrlMscTolerances
{
get { return _ctrlMscTolerances; }
set { _ctrlMscTolerances = value; }
}
private CtrlMscProductWater _ctrlMscProductWater;
public CtrlMscProductWater CtrlMscProductWater
{
get { return _ctrlMscProductWater; }
set { _ctrlMscProductWater = value; }
}
private CtrlMSCStdProcess _ctrlMscStdProcess;
public CtrlMSCStdProcess CtrlMscStdProcess
{
get { return _ctrlMscStdProcess; }
set { _ctrlMscStdProcess = value; }
}
private string _processCode = "";
public string ProcessCode
{
get { return _processCode; }
set { _processCode = value; }
}
private string _productCode = "";
public string ProductCode
{
get { return _productCode; }
set { _productCode = value; }
}
private string _producName = "";
public string ProducName
{
get { return _producName; }
set { _producName = value; }
}
private ArrayList _steelCodes = new ArrayList();
//钢种集合
public ArrayList SteelCodes
{
get { return _steelCodes; }
set { _steelCodes = value; }
}
private ArrayList _steelNames = new ArrayList();
public ArrayList SteelNames
{
get { return _steelNames; }
set { _steelNames = value; }
}
private string _msc = "";
public string Msc
{
get { return _msc; }
set { _msc = value; }
}
private string _mscPline = "";
public string MscPline
{
get { return _mscPline; }
set { _mscPline = value; }
}
private string _steelcodeNk = "";
public string SteelcodeNk
{
get { return _steelcodeNk; }
set { _steelcodeNk = value; }
}
private string _steelnameNk = "";
public string SteelnameNk
{
get { return _steelnameNk; }
set { _steelnameNk = value; }
}
private string _ordLnPk = "";
public string OrdLnPk
{
get { return _ordLnPk; }
set { _ordLnPk = value; }
}
private string modelCode = "";
public string ModelCode
{
get { return modelCode; }
set { modelCode = value; }
}
private string psc = "";
public string Psc
{
get { return psc; }
set { psc = value; }
}
///
/// 动态生成科室
///
private Dictionary departments = null;
public event EventHandler AfterRowActivate;
public FrmStandardN()
{
//F1 F2功能
IsLoadUserView = true;
InitializeComponent();
//ExceptionHelper.RegistException();
}
private DataRow GetProcessByStdCode(string stdCode)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreInnerMSCRGRD2.getProcessByStdCode",
new object[] { stdCode }, ob);
return dt.Rows[0];
}
void GridProcess_AfterRowInsert(object sender, RowEventArgs e)
{
UltraGridRow ugr = _ctrlMscStdProcess.Grid.ActiveRow;
UltraGridRow activeUgr = ultraGrid1.ActiveRow;
if (ugr != null && activeUgr != null && !ugr.HasParent())
{
DataRow drBaseStd = GetProcessByStdCode(activeUgr.GetValue("STD_CODE"));
ugr.Cells["PROCESS_CDOE"].Value = drBaseStd["PROCESS_CODE"].ToString();
ugr.Cells["PROCESS_DESC"].Value = drBaseStd["PROCESS_DESC"].ToString();
ugr.Cells["PRODUCCODE_NK"].Value = _productCode;
ugr.Cells["PRODUCNAME_NK"].Value = _producName;
ugr.Cells["STEELCODE_NK"].Value = _steelcodeNk;
ugr.Cells["STEELNAME_NK"].Value = _steelnameNk;
ugr.Cells["STD_CODE_NK"].Value = ultraGrid1.GetActiveRowValue("STD_CODE_OLD");
ugr.Cells["STD_NAME_NK"].Value = ultraGrid1.GetActiveRowValue("STD_NAME_OLD");
}
}
void GridSpec_AfterRowInsert(object sender, RowEventArgs e)
{
UltraGridRow ugr = _ctrlMscTolerances.Grid.ActiveRow;
UltraGridRow activeUgr = ultraGrid1.ActiveRow;
if (ugr != null && activeUgr != null && !ugr.HasParent())
{
DataRow drBaseStd = GetProcessByStdCode(activeUgr.GetValue("STD_CODE"));
ugr.Cells["PROCESS_CODE"].Value = drBaseStd["PROCESS_CODE"].ToString();
ugr.Cells["PROCESS_DESC"].Value = drBaseStd["PROCESS_DESC"].ToString();
ugr.Cells["SPECIAL_PATH"].Value = false;
ugr.Cells["PRODUCCODE_NK"].Value = _productCode;
ugr.Cells["PRODUCNAME_NK"].Value = _producName;
ugr.Cells["STEELCODE_NK"].Value = _steelcodeNk;
ugr.Cells["STEELNAME_NK"].Value = _steelnameNk;
ugr.Cells["STD_CODE"].Value = ultraGrid1.GetActiveRowValue("STD_CODE_OLD");
ugr.Cells["STD_NAME"].Value = ultraGrid1.GetActiveRowValue("STD_NAME_OLD");
}
}
void GridWater_AfterRowInsert(object sender, RowEventArgs e)
{
UltraGridRow ugr = _ctrlMscProductWater.Grid.ActiveRow;
UltraGridRow activeUgr = ultraGrid1.ActiveRow;
if (ugr != null && activeUgr != null && !ugr.HasParent())
{
DataRow drBaseStd = GetProcessByStdCode(activeUgr.GetValue("STD_CODE"));
ugr.Cells["PROCESS_CDOE"].Value = drBaseStd["PROCESS_CODE"].ToString();
ugr.Cells["PROCESS_DESC"].Value = drBaseStd["PROCESS_DESC"].ToString();
ugr.Cells["PRODUCCODE_NK"].Value = _productCode;
ugr.Cells["PRODUCNAME_NK"].Value = _producName;
ugr.Cells["STEELCODE_NK"].Value = _steelcodeNk;
ugr.Cells["STEELNAME_NK"].Value = _steelnameNk;
ugr.Cells["STD_CODE_NK"].Value = ultraGrid1.GetActiveRowValue("STD_CODE_OLD");
ugr.Cells["STD_NAME_NK"].Value = ultraGrid1.GetActiveRowValue("STD_NAME_OLD");
}
}
void GridDete_AfterRowInsert(object sender, RowEventArgs e)
{
UltraGridRow ugr = _ctrlMscDetection.Grid.ActiveRow;
UltraGridRow activeUgr = ultraGrid1.ActiveRow;
if (ugr != null && activeUgr != null && !ugr.HasParent())
{
DataRow drBaseStd = GetProcessByStdCode(activeUgr.GetValue("STD_CODE"));
ugr.Cells["PROCESS_CODE"].Value = drBaseStd["PROCESS_CODE"].ToString();
ugr.Cells["PROCESS_DESC"].Value = drBaseStd["PROCESS_DESC"].ToString();
ugr.Cells["PRODUCCODE_NK"].Value = _productCode;
ugr.Cells["PRODUCNAME_NK"].Value = _producName;
ugr.Cells["STEELCODE_NK"].Value = _steelcodeNk;
ugr.Cells["STEELNAME_NK"].Value = _steelnameNk;
ugr.Cells["STD_CODE_NK"].Value = ultraGrid1.GetActiveRowValue("STD_CODE_OLD");
ugr.Cells["STD_NAME_NK"].Value = ultraGrid1.GetActiveRowValue("STD_NAME_OLD");
}
}
void GridChem_AfterRowInsert(object sender, RowEventArgs e)
{
UltraGridRow ugr = _ctrlMscChem.Grid.ActiveRow;
UltraGridRow activeUgr = ultraGrid1.ActiveRow;
if (ugr != null && activeUgr != null && !ugr.HasParent())
{
DataRow drBaseStd = GetProcessByStdCode(activeUgr.GetValue("STD_CODE"));
ugr.Cells["PROCESS_CODE"].Value = drBaseStd["PROCESS_CODE"].ToString();
ugr.Cells["PROCESS_DESC"].Value = drBaseStd["PROCESS_DESC"].ToString();
ugr.Cells["PRODUCCODE_NK"].Value = _productCode;
ugr.Cells["PRODUCNAME_NK"].Value = _producName;
ugr.Cells["STEELCODE_NK"].Value = _steelcodeNk;
ugr.Cells["STEELNAME_NK"].Value = _steelnameNk;
ugr.Cells["STD_CODE_NK"].Value = ultraGrid1.GetActiveRowValue("STD_CODE_OLD");
ugr.Cells["STD_NAME_NK"].Value = ultraGrid1.GetActiveRowValue("STD_NAME_OLD");
string gradeCodes = "";
string gradeNames = "";
for (int i = 0; i < _steelCodes.Count; i++)
{
if (gradeCodes == "")
{
gradeCodes = _steelCodes[i].ToString();
gradeNames = _steelNames[i].ToString();
}
else
{
gradeCodes += ";" + _steelCodes[i].ToString();
gradeNames += ";" + _steelNames[i].ToString();
}
}
ugr.Cells["GRADECODE"].Value = gradeCodes;
ugr.Cells["GRADENAME"].Value = gradeNames;
UltraGrid grid = (UltraGrid)sender;
grid.UpdateData();
//UltraComboEditor cmb = (UltraComboEditor)ugr.Cells["GRADECODE"].Column.EditorComponent;
//if (cmb.Items.Count == 2)
//{
// ugr.Cells["GRADECODE"].Value = cmb.Items[1].DataValue;
//}
}
}
void Grid_AfterRowInsert(object sender, RowEventArgs e)
{
UltraGridRow ugr = _ctrlMscMaterial.Grid.ActiveRow;
UltraGridRow activeUgr = ultraGrid1.ActiveRow;
if (ugr != null && activeUgr != null && !ugr.HasParent())
{
DataRow drBaseStd = GetProcessByStdCode(activeUgr.GetValue("STD_CODE"));
ugr.Cells["PROCESS_CDOE"].Value = drBaseStd["PROCESS_CODE"].ToString();
ugr.Cells["PROCESS_DESC"].Value = drBaseStd["PROCESS_DESC"].ToString();
ugr.Cells["PRODUCCODE_NK"].Value = _productCode;
ugr.Cells["PRODUCNAME_NK"].Value = _producName;
ugr.Cells["STEELCODE_NK"].Value = _steelcodeNk;
ugr.Cells["STEELNAME_NK"].Value = _steelnameNk;
ugr.Cells["STD_CODE_NK"].Value = ultraGrid1.GetActiveRowValue("STD_CODE_OLD");
ugr.Cells["STD_NAME_NK"].Value = ultraGrid1.GetActiveRowValue("STD_NAME_OLD");
string gradeCodes = "";
string gradeNames = "";
for (int i = 0; i < _steelCodes.Count; i++)
{
if (gradeCodes == "")
{
gradeCodes = _steelCodes[i].ToString();
gradeNames = _steelNames[i].ToString();
}
else
{
gradeCodes += ";" + _steelCodes[i].ToString();
gradeNames += ";" + _steelNames[i].ToString();
}
}
ugr.Cells["GRADECODE"].Value = gradeCodes;
ugr.Cells["GRADENAME"].Value = gradeNames;
}
}
public void PopupLoad(string customInfo, OpeBase ob)
{
WaitingForm2 wf = new WaitingForm2("正在加载,请稍候....");
this.CustomInfo = customInfo;
this.ob = ob;
//FrmStandardN_Load(null, EventArgs.Empty);
this.OnLoad(null);
wf.Close();
}
public void FrmStandardN_Load(object sender, EventArgs e)
{
try
{
this.Cursor = Cursors.WaitCursor;
_ctrlMscChem = new CtrlMscChem(ultraTabPageControl1);
_ctrlMscMaterial = new CtrlMscMaterial(ultraTabPageControl2);
_ctrlMscDetection = new CtrlMSCDetection(ultraTabPageControl4);
_ctrlMscTolerances = new CtrlMscTolerances(ultraTabPageControl3);
_ctrlMscProductWater = new CtrlMscProductWater(ultraTabPageControl5);
_ctrlMscStdProcess = new CtrlMSCStdProcess(ultraTabPageControl6);
_ctrlMscChem.BeforeRowInsert += new BeforeRowInsertEventHandler(StdNk_BeforeRowInsert);
_ctrlMscMaterial.BeforeRowInsert += new BeforeRowInsertEventHandler(StdNk_BeforeRowInsert);
_ctrlMscDetection.BeforeRowInsert += new BeforeRowInsertEventHandler(StdNk_BeforeRowInsert);
_ctrlMscTolerances.BeforeRowInsert += new BeforeRowInsertEventHandler(StdNk_BeforeRowInsert);
_ctrlMscProductWater.BeforeRowInsert += new BeforeRowInsertEventHandler(StdNk_BeforeRowInsert);
_ctrlMscStdProcess.BeforeRowInsert += new BeforeRowInsertEventHandler(StdNk_BeforeRowInsert);
_ctrlMscMaterial.Grid.AfterRowInsert += new RowEventHandler(Grid_AfterRowInsert);
_ctrlMscChem.Grid.AfterRowInsert += new RowEventHandler(GridChem_AfterRowInsert);
_ctrlMscDetection.Grid.AfterRowInsert += new RowEventHandler(GridDete_AfterRowInsert);
_ctrlMscProductWater.Grid.AfterRowInsert += new RowEventHandler(GridWater_AfterRowInsert);
_ctrlMscTolerances.Grid.AfterRowInsert += new RowEventHandler(GridSpec_AfterRowInsert);
_ctrlMscStdProcess.Grid.AfterRowInsert += new RowEventHandler(GridProcess_AfterRowInsert);
InitComBoEditor();
ChangeFrom();
//ProcessFilter();
ultraGrid2.Enabled = false;
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
{
this.ultraTabControl1.Enabled = false;
}
else
{
this.ultraTabControl1.Enabled = true;
}
string mark = "2";
if (CustomInfo == "2")
{
mark = "2";
}
if (CustomInfo == "3")
{
mark = "3";
this.ultraGrid1.DisplayLayout.Override.AllowAddNew = AllowAddNew.No;
ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE"].Header.Caption = "Alpha代码";
ultraGrid1.DisplayLayout.Bands[0].Columns["STD_STYLE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["STD_VERSION"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["CHC"].Hidden = true;
}
if (CustomInfo == "4")
{
mark = "4";
}
YdmBaseClass.InitComboEditorWithParm(uceUnitCode, "com.steering.comm.data.ComBaseInfo.getSection", "DEPARTNAME", "DEPARTID", this.ob, false, new Object[] { ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), ob) });
YdmBaseClass.BindColumn(uceUnitCode, "UNIT_CODE", this.Controls, this.ultraGrid1, 0);
YdmBaseClass.InitComboEditorNew(uceDeptCode, "com.steering.comm.data.ComBaseInfo.getDepartment", "DEPARTID", "DEPARTNAME", this.ob, false);
YdmBaseClass.BindColumn(uceDeptCode, "DEPARTMENT_CODE", this.Controls, this.ultraGrid1, 0);
}
finally
{
this.Cursor = Cursors.Default;
}
}
private void StdNk_BeforeRowInsert(object sender, BeforeRowInsertEventArgs e)
{
if (ultraGrid1.ActiveRow == null)
{
e.Cancel = true;
}
}
//private void ProcessFilter()
//{
// if (_processCode != "")
// {
// UltraComboEditor comboEditor = (UltraComboEditor)ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_CODE"].EditorComponent;
// DataTable dt = (DataTable)comboEditor.DataSource;
// dt.DefaultView.RowFilter = "PROCESS_CODE = '" + _processCode + "'";
// }
//}
///
/// 根据页面传入值不同,改变页面
///
private void ChangeFrom()
{
if (this.CustomInfo == "2")
{
splitContainer2.Panel2Collapsed = true;
}
if (this.CustomInfo == "3")
{
ultraExpandableGroupBox1.Text = "标准Alpha";
ultraTabPageControl1.Tab.Text = "成分Alpha";
ultraTabPageControl2.Tab.Text = "理化Alpha";
ultraTabPageControl3.Tab.Text = "公差Alpha";
ultraTabPageControl4.Tab.Text = "探伤Alpha";
ultraTabPageControl5.Tab.Text = "水压Alpha";
ultraTabPageControl6.Tab.Text = "加工Alpha";
ultraGrid1.DisplayLayout.Bands[0].Columns["DEPARTMENT_CODE"].CellAppearance.BackColor = Color.Empty;
ultraGrid1.DisplayLayout.Bands[0].Columns["UNIT_CODE"].CellAppearance.BackColor = Color.Empty;
ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_CODE"].Hidden = true;
}
if (this.CustomInfo == "4")
{
splitContainer2.Panel2Collapsed = true;
ultraExpandableGroupBox1.Text = "其它标准";
ultraTabPageControl1.Tab.Text = "其它标准成分";
ultraTabPageControl2.Tab.Text = "其它标准理化";
ultraTabPageControl3.Tab.Text = "其它标准公差";
ultraTabPageControl4.Tab.Text = "其它标准探伤";
ultraTabPageControl5.Tab.Text = "其它标准水压";
ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_CODE"].Hidden = true;
}
}
///
/// 初始化下拉框
///
private void InitComBoEditor()
{
for (int i = 0; i < ucbs.Length; i++)
{
ucbs[i] = new UltraComboEditor();
Controls.Add(ucbs[i]);
ucbs[i].Visible = false;
}
UltraGridBand ugb = ultraGrid1.DisplayLayout.Bands[0];
UltraGridBand ugbC = ultraGrid2.DisplayLayout.Bands[0];
//初始化标准类型
QcmBaseQuery.NitializeStandardType(ucbs[0], false, this.ob);
if (this.CustomInfo == "2")
{
((DataTable)ucbs[0].DataSource).DefaultView.RowFilter = "CODE IN ( 'N')";
}
if (this.CustomInfo == "3")
{
((DataTable)ucbs[0].DataSource).DefaultView.RowFilter = "CODE IN ( 'K')";
}
if (this.CustomInfo == "4")
{
((DataTable)ucbs[0].DataSource).DefaultView.RowFilter = "CODE IN ( 'S','P')";
}
QcmBaseQuery.BindColumn(ucbs[0], "STDSTYLE", ugb);
//初始化标准协会
QcmBaseQuery.NitializeSociety(ucbs[1], true, this.ob);
QcmBaseQuery.BindColumn(ucbs[1], "STD_STYLE", ugb);
//初始化管理部门
QcmBaseQuery.NitializeDepartment(ucbs[2], false, this.ob);
QcmBaseQuery.BindColumn(ucbs[2], "DEPARTMENT_CODE", ugb);
ugb.Columns["DEPARTMENT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
//初始化最终客户
QcmBaseQuery.NitializeCustomer(ucbs[3], true, this.ob);
QcmBaseQuery.BindColumn(ucbs[3], "CUST_CODE", ugbC);
//工序
//QcmBaseQuery.NitializeProcess(ucbs[4], true, this.ob);
//QcmBaseQuery.BindColumn(ucbs[4], "PROCESS_CODE", ugb);
CreateDepartments();
}
///
/// 重写基类方法
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "doQuery":
DoQuery();
break;
case "doSave":
DoSave();
break;
case "doDelete":
this.DoDeleteOrResume(true);
break;
case "doResume":
this.DoDeleteOrResume(false);
break;
case "Refresh":
InitComBoEditor();
break;
case "Close":
this.Close();
break;
}
}
///
/// 查询
///
private void DoQuery()
{
try
{
this.Cursor = Cursors.WaitCursor;
string valid = "1";
if (ChcValid.Checked)
{
valid = "0";
}
string stdName = "";
if (ChcStd.Checked)
{
stdName = TextStd.Text.Trim();
}
if (CustomInfo == "2")
{
ArrayList list = new ArrayList();
list.Add(stdName);
list.Add(valid);
list.Add(CustomInfo);
list.Add(CustomInfo);
list.Add(_processCode);
list.Add(_processCode);
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getComStandard", new Object[] { list }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
}
if (CustomInfo == "3")
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.getComAlphaStd", new Object[] { valid, stdName }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
this.ultraGrid1.DisplayLayout.Override.AllowAddNew = AllowAddNew.No;
}
//定位
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "STD_NAME" }, new string[] { _stdName });
if (rows.Length > 0)
rows[0].Activate();
UltraGridBand bc = ultraGrid1.DisplayLayout.Bands[0];
UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["MEMO"], bc.Columns["STD_CODE"], bc.Columns["STD_NAME"] };
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
isSelectData = 0;
}
finally
{
this.Cursor = Cursors.Default;
}
}
///
/// 保存
///
private void DoSave()
{
ultraGrid1.UpdateData();
if (isSelectData == 0)
{
MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//标准基础
UltraGridRow[] rowStd = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CHC" }, new string[] { "True" });
ArrayList stdData = new ArrayList();
if (rowStd.Length > 0)
{
foreach (UltraGridRow row in rowStd)
{
//if ( UserInfo.GetUserID() != "admin" && UserInfo.GetDeptid() != row.Cells["UNIT_CODE"].ToString())
//{
// MessageUtil.ShowWarning("非该" + row.Cells["UNIT_CODE"].ToString() + "科室,无法修改!");
// return;
//}
/*if (UserInfo.GetDeptid() != "002001001004" &&
UserInfo.GetUserID() != "admin")
{
MessageUtil.ShowWarning("该记录只有标准科的成员才能修改!");
return;
}*/
BaseStdObject com = GetObjectData.GetStdData(row);
if (!CheckStdData(com, row))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
com.CreateName = UserInfo.GetUserName();
com.UpdateName = UserInfo.GetUserName();
stdData.Add(JSONFormat.Format(com));
//定位
_stdName = com.StdName;
}
}
//客户
ArrayList custerData = new ArrayList();
UltraGridRow[] rowCust = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "CHC" }, new string[] { "True" });
if (rowCust.Length > 0)
{
foreach (UltraGridRow row in rowCust)
{
StdCusterObject com = GetObjectData.GetCusterData(row);
if (!CheckCustData(com))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
com.CreateName = UserInfo.GetUserName();
com.UpdateName = UserInfo.GetUserName();
custerData.Add(JSONFormat.Format(com));
//定位
_custName = com.CustName;
}
}
if (MessageBox.Show("是否保存选择记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
if (stdData.Count > 0 || custerData.Count > 0)
{
int count = ServerHelper.SetData("com.steering.pss.qcm.ComStandard.saveComStandard",
new Object[] { stdData, custerData }, this.ob);
if (count > 0)
{
MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
DoQuery();
RefreshAlpha();
}
}
}
///
/// 作废与恢复
///
///
private void DoDeleteOrResume(Boolean flag)
{
if (isSelectData == 0)
{
MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//标准基础
UltraGridRow[] rowStd = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CHC" }, new string[] { "True" });
ArrayList stdData = new ArrayList();
if (rowStd.Length > 0)
{
foreach (UltraGridRow row in rowStd)
{
/*if (UserInfo.GetDeptid() != "002001001004" &&
UserInfo.GetUserID() != "admin")
{
MessageUtil.ShowWarning("该记录只有标准科的成员才能" + (flag ? "作废" : "恢复") + "!");
return;
}*/
BaseStdObject com = GetObjectData.GetStdData(row);
if (!CheckDeleteOrResume(com.Validflag, flag))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.checkStdName", new Object[] { com.StdCode }, this.ob);
if (dt != null && dt.Rows.Count > 0 && Convert.ToInt32(dt.Rows[0][0]) > 0)
{
MessageBox.Show("标准名称:" + com.StdName + " 已经被引用,不能作废!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
stdData.Add(JSONFormat.Format(com));
_stdName = com.StdName;
}
}
//客户
ArrayList custData = new ArrayList();
UltraGridRow[] rowCust = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "CHC" }, new string[] { "True" });
if (rowCust.Length > 0)
{
foreach (UltraGridRow row in rowCust)
{
StdCusterObject com = GetObjectData.GetCusterData(row);
if (!CheckDeleteOrResume(com.Validflag, flag))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (!flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkFromResume", new Object[] { com.StdCode }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
MessageBox.Show("标准名称" + com.StdName + "已经作废,不能恢复!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
custData.Add(JSONFormat.Format(com));
_custName = com.CustName;
}
}
if (MessageBox.Show("是否" + (flag ? "作废" : "恢复") + "选择记录!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
if (stdData.Count > 0 || custData.Count > 0)
{
int count = ServerHelper.SetData("com.steering.pss.qcm.ComStandard.deleteOrResume", new Object[] { stdData, custData, flag }, this.ob);
if (count > 0)
{
MessageBox.Show((flag ? "作废" : "恢复") + "成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
DoQuery();
}
}
}
public static string CheckPlnCic(string cic, OpeBase ob)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getPlnCicStatus",
new object[] { cic }, ob);
if (dt.Rows.Count > 0)
{
string status = dt.Rows[0]["EXE_STATUS"].ToString();
if (status == "0")
{
return "计划中的轧管排产行正使用该成分索引码,不能操作!";
}
else if (status == "1")
{
return "生产中的轧管排产行正使用该成分索引码,不能操作!";
}
}
return "";
}
///
/// 檢查最终客户数据
///
///
///
private bool CheckCustData(StdCusterObject com)
{
if (com.Validflag.Equals("无效"))
{
errMessage = "无效记录不能操作";
return false;
}
if (com.CustCode.Equals(""))
{
errMessage = "请选择客户";
return false;
}
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "CUST_NAME" }, new string[] { com.CustName });
{
if (rows.Length > 1)
{
errMessage = "最终客户" + com.CustName + "重复,请重新选择";
return false;
}
}
if (com.Validflag.Equals(""))
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.checkCuster", new Object[] { com.StdCode, com.CustCode }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
errMessage = "最终客户" + com.CustName + "重复,请重新选择";
return false;
}
}
else
{
if (!com.CustCode.Equals(com.OldCustCode))
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.checkCuster", new Object[] { com.StdCode, com.CustCode }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
errMessage = "最终客户" + com.CustName + "重复,请重新选择";
return false;
}
}
}
return true;
}
///
/// 检查标准数据
///
///
///
private bool CheckStdData(BaseStdObject com, UltraGridRow row)
{
if (com.Validflag.Equals("无效"))
{
errMessage = "无效记录不能操作";
return false;
}
if (com.StdName.Equals(""))
{
errMessage = "请输入标准名称";
row.Cells["STD_CODE"].Activate();
return false;
}
//验证标准名称在ultraGrid1是否重复
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "STD_NAME" }, new string[] { com.StdName });
if (rows.Length > 1)
{
errMessage = "标准名称:" + com.StdName + " 重复,请重新输入";
row.Cells["STD_CODE"].Activate();
return false;
}
if (com.Validflag.Equals(""))
{
//验证标准名称在数据表是否重复
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkStd", new Object[] { com.StdName, com.StdStyle }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
errMessage = "标准名称:" + com.StdName + " 重复,请重新输入";
row.Cells["STD_CODE"].Activate();
return false;
}
}
else
{
//验证标准名称是否重复
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkStdUpdate", new Object[] { com.StdName, com.StdCode, com.StdStyle }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
errMessage = "标准名称:" + com.StdName + " 重复,请重新输入";
row.Cells["STD_CODE"].Activate();
return false;
}
}
if (com.StdStyle == "")
{
errMessage = "请选择标准类型";
row.Cells["STDSTYLE"].Activate();
return false;
}
if (CustomInfo == "2" && com.ProcessCode.Equals(""))
{
errMessage = "请选择适用工序";
row.Cells["PROCESS_CODE"].Activate();
return false;
}
if (CustomInfo != "3" && com.DepartmentCode.Equals("") && UserInfo.GetUserID() != "admin")
{
errMessage = "请选择管理部门";
row.Cells["DEPARTMENT_CODE"].Activate();
return false;
}
if (CustomInfo != "3" && com.UnitCode.Equals(""))
{
errMessage = "请选择管理科室";
row.Cells["UNIT_CODE"].Activate();
return false;
}
return true;
}
private DataRow GetComBaseStdRowByPk(string stdCode)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getComBaseStdByPk",
new object[] { stdCode }, ob);
return dt.Rows[0];
}
///
/// 检验作废或者恢复
///
/// 有效标识
///
///
private bool CheckDeleteOrResume(string valid, bool flag)
{
if (valid.Equals(""))
{
errMessage = "记录未保存,不能" + (flag ? "作废" : "恢复");
return false;
}
if (flag)
{
if (valid.Equals("无效"))
{
errMessage = "无效记录不能作废";
return false;
}
}
else
{
if (valid.Equals("有效"))
{
errMessage = "有效记录不能恢复";
return false;
}
}
return true;
}
///
/// 动态绑定数据源 管理科室
///
private void BandDepartments(InitializeRowEventArgs e)
{
string pid = e.Row.Cells["DEPARTMENT_CODE"].Value.ToString();
if (departments.ContainsKey(pid))
{
e.Row.Cells["UNIT_CODE"].EditorComponent = departments[pid];
}
else
{
e.Row.Cells["UNIT_CODE"].EditorComponent = departments["noValue"];
}
e.Row.Cells["UNIT_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
}
///
/// 根据部门生成科室
///
private void CreateDepartments()
{
int count = ucbs[2].Items.Count;
departments = new Dictionary(count + 1);
departments.Add("noValue", new UltraComboEditor());
DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getSection", new object[] { }, this.ob);
for (int i = 0; i < count; i++)
{
string pid = ucbs[2].Items[i].DataValue.ToString();
dt.DefaultView.RowFilter = "PID='" + pid + "'";
UltraComboEditor uce = new UltraComboEditor();
uce.DataSource = dt.DefaultView.ToTable();
uce.DisplayMember = "DEPARTNAME";
uce.ValueMember = "DEPARTID";
uce.Visible = false;
departments.Add(pid, uce);
Controls.Add(uce);
}
}
private void ultraGrid1_AfterRowInsert(object sender, RowEventArgs e)
{
//增加一行,自动获取最大的标准代码,然后加1
UltraGridRow ugr = ultraGrid1.DisplayLayout.ActiveRow;
int stdCode = 0;
DataRow[] rows = dataTable1.Select("", "STD_CODE DESC");
if (rows.Length > 0)
stdCode = Convert.ToInt32(rows[0]["STD_CODE"].ToString().Substring(3, 7));
ugr.Cells["STD_CODE"].Value = "STD" + string.Format("{0:0000000}", (stdCode + 1));
SetUnEnit(ugr);
if (CustomInfo == "2")
{
e.Row.Cells["STDSTYLE"].Value = "N";
}
e.Row.Cells["DEPARTMENT_CODE"].Value = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), ob);
e.Row.Cells["DEPARTMENT_DESC"].Value = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDepartment(), ob);
e.Row.Cells["UNIT_CODE"].Value = UserInfo.GetDeptid();
e.Row.Cells["UNIT_DESC"].Value = UserInfo.GetDepartment();
e.Row.Cells["ACCEPT_BID"].Value = "False";
e.Row.Cells["PURCHASE_STD"].Value = "False";
}
private void ultraGrid1_CellChange(object sender, CellEventArgs e)
{
ultraGrid1.UpdateData();
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (e.Cell.Column.Key.Equals("STD_NAME")) //标准名称
{
for (int i = 0; i < ultraGrid2.Rows.Count; i++)
{
ultraGrid2.Rows[i].Cells["STD_NAME"].Value = ugr.Cells["STD_NAME"].Value.ToString().Trim();
ultraGrid2.Rows[i].Cells["STD_CODE"].Value = ugr.Cells["STD_CODE"].Value.ToString().Trim();
}
}
if (e.Cell.Column.Key.Equals("STD_STYLE")) //标准协会
{
ugr.Cells["STD_STYLE_NAME"].Value = ugr.Cells["STD_STYLE"].Text;
}
if (e.Cell.Column.Key.Equals("DEPARTMENT_CODE")) //部门管理
{
ugr.Cells["DEPARTMENT_DESC"].Value = ugr.Cells["DEPARTMENT_CODE"].Text;
ugr.Cells["UNIT_CODE"].Value = "";
ugr.Cells["UNIT_DESC"].Value = "";
YdmBaseClass.InitComboEditorWithParm(uceUnitCode, "com.steering.comm.data.ComBaseInfo.getSection", "DEPARTNAME", "DEPARTID", this.ob, false, new Object[] { ugr.Cells["DEPARTMENT_CODE"].Value.ToString2() });
YdmBaseClass.BindColumn(uceUnitCode, "UNIT_CODE", this.Controls, this.ultraGrid1, 0);
}
if (e.Cell.Column.Key.Equals("UNIT_CODE")) //科室管理
{
ugr.Cells["UNIT_DESC"].Value = ugr.Cells["UNIT_CODE"].Text;
}
if (e.Cell.Column.Key.Equals("CHC"))//选择
{
Activation activation = Activation.ActivateOnly;
if (Convert.ToBoolean(e.Cell.Value))
{
activation = Activation.AllowEdit;
isSelectData += 1;
}
else
isSelectData -= 1;
CellsCollection cells = e.Cell.Row.Cells;
for (int i = 0; i < cells.Count; i++)
{
if (!cells[i].Column.Key.Equals("CHC") && !cells[i].Column.Key.Equals("STD_NAME"))
{
e.Cell.Row.Cells[i].Activation = activation;
}
}
YdmBaseClass.InitComboEditorWithParm(uceUnitCode, "com.steering.comm.data.ComBaseInfo.getSection", "DEPARTNAME", "DEPARTID", this.ob, false, new Object[] { ugr.Cells["DEPARTMENT_CODE"].Value.ToString2() });
YdmBaseClass.BindColumn(uceUnitCode, "UNIT_CODE", this.Controls, this.ultraGrid1, 0);
YdmBaseClass.InitComboEditorNew(uceDeptCode, "com.steering.comm.data.ComBaseInfo.getDepartment", "DEPARTID", "DEPARTNAME", this.ob, false);
YdmBaseClass.BindColumn(uceDeptCode, "DEPARTMENT_CODE", this.Controls, this.ultraGrid1, 0);
if (!e.Cell.Row.Cells["VALIDFLAG"].Value.ToString().Equals(""))
{
if (ultraGrid2.Rows.Count > 0 || ultraGrid2.Rows.Count > 0)
e.Cell.Row.Cells["STD_NAME"].Activation = Activation.ActivateOnly;
else
e.Cell.Row.Cells["STD_NAME"].Activation = activation;
}
else
e.Cell.Row.Cells["STD_NAME"].Activation = activation;
}
}
private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
{
BandDepartments(e);
if (e.Row.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
{
e.Row.Appearance.ForeColor = Color.Red;
}
else
{
e.Row.Appearance.ForeColor = Color.Black;
}
}
private void FrmStandardN_Shown(object sender, EventArgs e)
{
disWidth = splitContainer1.SplitterDistance; ;
disLength = splitContainer2.SplitterDistance;
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
if (this.ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowWarning("请选择一条记录后,再进行操作!");
return;
}
if (e.Tool.Key == "ButtonTool1") //保存
{
SaveAlpha();
}
if (e.Tool.Key == "ButtonTool2") //作废
{
DeleteAlpha();
}
if (e.Tool.Key == "ButtonTool3") //恢复
{
ResumeAlpha();
}
if (e.Tool.Key == "ButtonTool4") //刷新
{
RefreshAlpha();
}
if (e.Tool.Key == "ButtonTool5") //分组
{
GroupAlpha();
}
if (e.Tool.Key == "ButtonTool6") //取消分组
{
CancelGroupAlpha();
}
if (e.Tool.Key == "复制")
{
Copy();
}
if (e.Tool.Key == "粘贴")
{
Paste();
}
if (e.Tool.Key == "分析成分内控")
{
AnalysisNkChem();
}
if (e.Tool.Key == "导出Excel")
{
ExportExcel();
}
if (e.Tool.Key == "保存模板") //保存模板
{
SaveTemplate();
}
}
private void SaveTemplate()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "2":
_ctrlMscMaterial.SaveTemplate();
break;
}
}
private void ExportExcel()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "1":
GridHelper.ulGridToExcel(_ctrlMscChem.Grid, "成分内控");
break;
case "2":
GridHelper.ulGridToExcel(_ctrlMscMaterial.Grid, "理化内控");
break;
case "3":
GridHelper.ulGridToExcel(_ctrlMscTolerances.Grid, "公差内控");
break;
case "4":
GridHelper.ulGridToExcel(_ctrlMscDetection.Grid, "探伤内控");
break;
case "5":
GridHelper.ulGridToExcel(_ctrlMscProductWater.Grid, "水压内控");
break;
case "6":
GridHelper.ulGridToExcel(_ctrlMscStdProcess.Grid, "加工内控");
break;
}
}
private void AnalysisNkChem()
{
this.Cursor = Cursors.WaitCursor;
var pRows = _ctrlMscChem.Grid.Rows.Where(a => a.GetValue("CHC") == "True");
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[]{ new DataColumn("CIC"), new DataColumn("GRADENAME"),
new DataColumn("CHEM_NAME"), new DataColumn("STD_MIN_SIGN"), new DataColumn("STD_MIN"), new DataColumn("STD_MAX_SIGN"),
new DataColumn("STD_MAX") });
Dictionary> dicSource = new Dictionary>();
foreach (var pRow in pRows)
{
DataRow pDr = dt.NewRow();
pDr["CIC"] = pRow.GetValue("CIC");
pDr["GRADENAME"] = pRow.GetValue("GRADENAME");
List cDrs = new List();
dicSource.Add(pDr, cDrs);
var cRows = pRow.ChildBands[0].Rows.Where(a => a.GetValue("VALIDFLAG") != "");
foreach (var cRow in cRows)
{
DataRow dr = dt.NewRow();
dr["CIC"] = cRow.GetValue("CIC");
dr["GRADENAME"] = pRow.GetValue("GRADENAME");
dr["CHEM_NAME"] = cRow.GetValue("CHEM_NAME");
dr["STD_MIN_SIGN"] = cRow.GetValue("STDMIN_SIGN");
dr["STD_MIN"] = cRow.GetValue("STDMIN");
dr["STD_MAX_SIGN"] = cRow.GetValue("STDMAX_SIGN");
dr["STD_MAX"] = cRow.GetValue("STDMAX");
cDrs.Add(dr);
}
}
AnalysisNkChemPopup popup = new AnalysisNkChemPopup(dicSource);
popup.TopMost = true;
popup.Load += ((a, b) =>
{
this.Cursor = Cursors.Default;
});
popup.Show();
}
private void QueryAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
string stdCode = ugr.GetValue("STD_CODE");
switch (ultraTabControl1.SelectedTab.Key)
{
case "1":
_ctrlMscChem.ShowStdGrid(stdCode, _productCode, _steelCodes, _steelcodeNk,
_processCode, this.ob);
_ctrlMscChem.IsQueryValidData = ChcValid.Checked;
_ctrlMscChem.QueryStd(stdCode, _productCode, _steelCodes, modelCode);
//_ctrlMscChem.ExpandFirstRow();
break;
case "2":
_ctrlMscMaterial.ShowStdGrid(stdCode, _steelCodes, _productCode, _steelcodeNk,
_processCode, _msc, _ordLnPk, this.ob);
_ctrlMscMaterial.IsQueryValidData = ChcValid.Checked;
_ctrlMscMaterial.QueryStd(stdCode, _steelCodes, modelCode);
//_ctrlMscMaterial.ExpandFirstRow();
break;
case "3":
_ctrlMscTolerances.ShowStdGrid(stdCode, _productCode, _steelcodeNk,
_processCode, this.ob);
_ctrlMscTolerances.IsQueryValidData = ChcValid.Checked;
_ctrlMscTolerances.QueryStd(stdCode, modelCode);
//_ctrlMscTolerances.ExpandFirstRow();
break;
case "4":
_ctrlMscDetection.ShowStdGrid(stdCode, "", "", "1", _productCode,
_steelcodeNk, _processCode, this.ob);
_ctrlMscDetection.IsQueryValidData = ChcValid.Checked;
_ctrlMscDetection.QueryStd(stdCode, modelCode);
//_ctrlMscDetection.ExpandFirstRow();
break;
case "5":
_ctrlMscProductWater.ShowStdGrid(stdCode, _productCode, _steelcodeNk,
_processCode, psc, _ordLnPk, this.ob);
_ctrlMscProductWater.IsQueryValidData = ChcValid.Checked;
_ctrlMscProductWater.QueryStd(stdCode, modelCode);
//_ctrlMscProductWater.ExpandFirstRow();
break;
case "6":
_ctrlMscStdProcess.ShowStdGrid(stdCode, _productCode, _steelcodeNk,
_processCode, this.ob);
_ctrlMscStdProcess.IsQueryValidData = ChcValid.Checked;
_ctrlMscStdProcess.QueryStd(stdCode, modelCode);
//_ctrlMscStdProcess.ExpandFirstRow();
break;
}
}
private void SaveAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "1":
_ctrlMscChem.Save();
break;
case "2":
_ctrlMscMaterial.Save();
break;
case "3":
_ctrlMscTolerances.Save();
break;
case "4":
_ctrlMscDetection.Save();
break;
case "5":
_ctrlMscProductWater.Save();
break;
case "6":
_ctrlMscStdProcess.Save();
break;
}
}
private void DeleteAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "1":
_ctrlMscChem.Delete();
break;
case "2":
_ctrlMscMaterial.Delete();
break;
case "3":
_ctrlMscTolerances.Delete();
break;
case "4":
_ctrlMscDetection.Delete();
break;
case "5":
_ctrlMscProductWater.Delete();
break;
case "6":
_ctrlMscStdProcess.Delete();
break;
}
}
private void ResumeAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "1":
_ctrlMscChem.Resume();
break;
case "2":
_ctrlMscMaterial.Resume();
break;
case "3":
_ctrlMscTolerances.Resume();
break;
case "4":
_ctrlMscDetection.Resume();
break;
case "5":
_ctrlMscProductWater.Resume();
break;
case "6":
_ctrlMscStdProcess.Resume();
break;
}
}
private void GroupAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
DataRow drComBaseStd = GetComBaseStdRowByPk(ugr.GetValue("STD_CODE"));
/*if (drComBaseStd["ACCEPT_BID"].ToString() == "1" && drComBaseStd["UNIT_CODE"].ToString() != UserInfo.GetDeptid() &&
UserInfo.GetUserID() != "admin")
{
MessageUtil.ShowWarning("该记录只有[" + drComBaseStd["UNIT_DESC"].ToString() + "]的成员才能操作!");
return;
}*/
if (ultraTabControl1.SelectedTab.Key == "2")
_ctrlMscMaterial.Group();
else if (ultraTabControl1.SelectedTab.Key == "3")
_ctrlMscTolerances.Group();
else if (ultraTabControl1.SelectedTab.Key == "4")
_ctrlMscDetection.Group();
else if (ultraTabControl1.SelectedTab.Key == "6")
_ctrlMscStdProcess.Group();
else if (ultraTabControl1.SelectedTab.Key == "1")
_ctrlMscChem.Group();
}
private void CancelGroupAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
DataRow drComBaseStd = GetComBaseStdRowByPk(ugr.GetValue("STD_CODE"));
/*if (drComBaseStd["ACCEPT_BID"].ToString() == "1" && drComBaseStd["UNIT_CODE"].ToString() != UserInfo.GetDeptid() &&
UserInfo.GetUserID() != "admin")
{
MessageUtil.ShowWarning("该记录只有[" + drComBaseStd["UNIT_DESC"].ToString() + "]的成员才能操作!");
return;
}*/
if (ultraTabControl1.SelectedTab.Key == "2")
_ctrlMscMaterial.CancelGroup();
else if (ultraTabControl1.SelectedTab.Key == "3")
_ctrlMscTolerances.CancelGroup();
else if (ultraTabControl1.SelectedTab.Key == "4")
_ctrlMscDetection.CancelGroup();
else if (ultraTabControl1.SelectedTab.Key == "6")
_ctrlMscStdProcess.CancelGroup();
else if (ultraTabControl1.SelectedTab.Key == "1")
_ctrlMscChem.CancelGroup();
}
private void RefreshAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "1":
_ctrlMscChem.RefreshData();
break;
case "2":
_ctrlMscMaterial.RefreshData();
break;
case "3":
_ctrlMscTolerances.RefreshData();
break;
case "4":
_ctrlMscDetection.RefreshData();
break;
case "5":
_ctrlMscProductWater.RefreshData();
break;
case "6":
_ctrlMscStdProcess.RefreshData();
break;
}
}
private void Copy()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "1":
_ctrlMscChem.Copy();
break;
case "2":
_ctrlMscMaterial.Copy();
break;
case "3":
_ctrlMscTolerances.Copy();
break;
case "4":
_ctrlMscDetection.Copy();
break;
case "5":
_ctrlMscProductWater.Copy();
break;
case "6":
_ctrlMscStdProcess.Copy();
break;
}
}
private void Paste()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "1":
_ctrlMscChem.Paste();
break;
case "2":
_ctrlMscMaterial.Paste();
break;
case "3":
_ctrlMscTolerances.Paste();
break;
case "4":
_ctrlMscDetection.Paste();
break;
case "5":
_ctrlMscProductWater.Paste();
break;
case "6":
_ctrlMscStdProcess.Paste();
break;
}
}
private DataTable GetStationType()
{
if (_msc == "") return null;
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getStationType",
new object[] { _msc, _mscPline, _processCode }, ob);
return dt;
}
///
/// 行激活事件
///
///
///
public void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
try
{
((Form)ultraGrid1.TopLevelControl).Cursor = Cursors.WaitCursor;
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
return;
DataTable stationType = GetStationType();
if (stationType != null)
{
if (stationType.Select("STATION_TYPE = '403202'").Length > 0)
{
ultraTabControl1.Tabs["2"].Visible = true;
}
else
{
ultraTabControl1.Tabs["2"].Visible = false;
}
if (stationType.Select("STATION_TYPE = '403201'").Length > 0)
{
ultraTabControl1.Tabs["1"].Visible = true;
}
else
{
ultraTabControl1.Tabs["1"].Visible = false;
}
if (stationType.Select("STATION_TYPE = '403203'").Length > 0)
{
ultraTabControl1.Tabs["3"].Visible = true;
}
else
{
ultraTabControl1.Tabs["3"].Visible = false;
}
if (stationType.Select("STATION_TYPE = '403204'").Length > 0)
{
ultraTabControl1.Tabs["4"].Visible = true;
}
else
{
ultraTabControl1.Tabs["4"].Visible = false;
}
if (stationType.Select("STATION_TYPE = '403205'").Length > 0)
{
ultraTabControl1.Tabs["5"].Visible = true;
}
else
{
ultraTabControl1.Tabs["5"].Visible = false;
}
if (stationType.Select("STATION_TYPE = '403208'").Length > 0)
{
ultraTabControl1.Tabs["6"].Visible = true;
}
else
{
ultraTabControl1.Tabs["6"].Visible = false;
}
}
if (ultraTabControl1.ActiveTab != null)
switch (ultraTabControl1.ActiveTab.Key)
{
case "1":
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
break;
case "2":
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
break;
case "3":
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
break;
case "4":
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
break;
case "5":
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.False;
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.False;
break;
case "6":
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
break;
}
_stdName = ugr.Cells["STD_NAME"].Value.ToString();
if (ugr.Cells["PROCESS_DESC"].Text.Contains("加工"))
{
_ctrlMscStdProcess.Grid.Enabled = true;
}
else
{
_ctrlMscStdProcess.Grid.Enabled = false;
}
//如果有效,则可用
if (ugr.Cells["VALIDFLAG"].Value.ToString().Equals("有效"))
{
ultraGrid2.Enabled = true;
//查询客户
if (CustomInfo == "3")
{
string valid = "1";
if (ChcValid.Checked)
{
valid = "0";
}
string stdCode = ugr.Cells["STD_CODE"].Value.ToString();
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getCuster", new Object[] { stdCode, valid }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable2, true);
//定位
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "CUST_NAME" }, new string[] { _custName });
if (rows.Length > 0)
rows[0].Activate();
_custName = "";
UltraGridBand bc = ultraGrid2.DisplayLayout.Bands[0];
UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["CHC"], bc.Columns["CUST_CODE"] };
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid2);
}
else
{
dataTable2.Rows.Clear();
}
}
else
{
dataTable2.Rows.Clear();
ultraGrid2.Enabled = false;
}
if (ugr == null || !ugr.Cells["validflag"].Value.Equals("有效"))
{
this.ultraTabControl1.Enabled = false;
_ctrlMscChem.Clear();
_ctrlMscDetection.Clear();
_ctrlMscMaterial.Clear();
_ctrlMscProductWater.Clear();
_ctrlMscStdProcess.Clear();
_ctrlMscTolerances.Clear();
return;
}
else
{
this.ultraTabControl1.Enabled = true;
}
_ctrlMscChem._frmChemStd.AcceptBid = ugr.GetValue("ACCEPT_BID");
_ctrlMscMaterial._frmMaterialStd.AcceptBid = ugr.GetValue("ACCEPT_BID");
_ctrlMscTolerances._frmTolerancesStd.AcceptBid = ugr.GetValue("ACCEPT_BID");
_ctrlMscDetection._frmDetectionStd.AcceptBid = ugr.GetValue("ACCEPT_BID");
_ctrlMscProductWater._frmWaterStd.AcceptBid = ugr.GetValue("ACCEPT_BID");
_ctrlMscStdProcess._frmProcessStd.AcceptBid = ugr.GetValue("ACCEPT_BID");
QueryAlpha();
if (AfterRowActivate != null)
{
AfterRowActivate.Invoke(ultraGrid1, EventArgs.Empty);
}
//controlPhy();
}
finally
{
((Form)ultraGrid1.TopLevelControl).Cursor = Cursors.Default;
}
}
private void ChcValid_CheckedChanged(object sender, EventArgs e)
{
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
{
this.ultraTabControl1.Enabled = false;
return;
}
else
{
this.ultraTabControl1.Enabled = true;
}
QueryAlpha();
}
private void ultraTabControl1_SelectedTabChanged(object sender, SelectedTabChangedEventArgs e)
{
ultraTabControl1.TopLevelControl.Cursor = Cursors.WaitCursor;
try
{
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
{
this.ultraTabControl1.Enabled = false;
return;
}
else
{
this.ultraTabControl1.Enabled = true;
}
//if (e.Tab.Key == "2")
// this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
//else
// this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.False;
this.ultraToolbarsManager1.Toolbars[0].Tools["保存模板"].SharedProps.Visible = false;
switch (e.Tab.Key)
{
case "1":
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["分析成分内控"].InstanceProps.Visible = DefaultableBoolean.True;
break;
case "2":
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["分析成分内控"].InstanceProps.Visible = DefaultableBoolean.False;
this.ultraToolbarsManager1.Toolbars[0].Tools["保存模板"].SharedProps.Visible = true;
break;
case "3":
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["分析成分内控"].InstanceProps.Visible = DefaultableBoolean.False;
break;
case "4":
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["分析成分内控"].InstanceProps.Visible = DefaultableBoolean.False;
break;
case "5":
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.False;
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.False;
this.ultraToolbarsManager1.Toolbars[0].Tools["分析成分内控"].InstanceProps.Visible = DefaultableBoolean.False;
break;
case "6":
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool5"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["ButtonTool6"].InstanceProps.Visible = DefaultableBoolean.True;
this.ultraToolbarsManager1.Toolbars[0].Tools["分析成分内控"].InstanceProps.Visible = DefaultableBoolean.False;
break;
}
//RefreshAlpha();
QueryAlpha();
}
finally
{
ultraTabControl1.TopLevelControl.Cursor = Cursors.Arrow;
}
}
private void ultraGrid2_AfterRowInsert(object sender, RowEventArgs e)
{
UltraGridRow ugrCust = ultraGrid2.DisplayLayout.ActiveRow;
UltraGridRow ugrStd = ultraGrid1.DisplayLayout.ActiveRow;
if (ugrCust == null)
return;
if (ugrStd == null)
return;
ugrCust.Cells["STD_NAME"].Value = ugrStd.Cells["STD_NAME"].Value.ToString().Trim();
ugrCust.Cells["STD_CODE"].Value = ugrStd.Cells["STD_CODE"].Value.ToString().Trim();
SetUnEnit(ugrCust);
}
private void ultraGrid2_CellChange(object sender, CellEventArgs e)
{
ultraGrid2.UpdateData();
if (e.Cell.Column.Key.Equals("CUST_CODE")) //客户
{
e.Cell.Row.Cells["CUST_NAME"].Value = e.Cell.Text;
}
if (e.Cell.Column.Key.Equals("CHC")) //选择
{
Activation activation = Activation.ActivateOnly;
if (Convert.ToBoolean(e.Cell.Value))
{
activation = Activation.AllowEdit;
isSelectData += 1;
}
else
isSelectData -= 1;
CellsCollection cells = e.Cell.Row.Cells;
for (int i = 0; i < cells.Count; i++)
{
if (!cells[i].Column.Key.Equals("CHC"))
{
e.Cell.Row.Cells[i].Activation = activation;
}
}
}
}
private void ultraGrid2_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 SetUnEnit(UltraGridRow ugr)
{
//增加行如果没有勾选则不可编辑
if (!Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
for (int i = 0; i < ugr.Cells.Count; i++)
{
if (!ugr.Cells[i].Column.Key.Equals("CHC"))
ugr.Cells[i].Activation = Activation.ActivateOnly;
}
}
}
private void ultraExpandableGroupBox2_ExpandedStateChanged(object sender, EventArgs e)
{
if (ultraExpandableGroupBox2.Expanded)
{
splitContainer2.SplitterDistance = disLength;
}
else
splitContainer2.SplitterDistance = this.Width;
}
private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e)
{
if (ultraExpandableGroupBox1.Expanded)
splitContainer1.SplitterDistance = disWidth;
else
splitContainer1.SplitterDistance = this.Width;
}
private void ChcStd_CheckedChanged(object sender, EventArgs e)
{
if (ChcStd.Checked)
{
TextStd.Enabled = true;
}
else
TextStd.Enabled = false;
}
private void controlPhy()
{
//if (ultraGrid1.ActiveRow.Cells["PROCESS_CODE"].Text.Trim().Equals("炼钢"))
//{
// _ctrlMscMaterial.Grid.DisplayLayout.Bands[0].Columns["STEELCODE"].CellActivation = Activation.ActivateOnly;
// _ctrlMscMaterial.Grid.DisplayLayout.Bands[0].Columns["GRADECODE"].CellActivation = Activation.AllowEdit;
//}
//else
//{
// _ctrlMscMaterial.Grid.DisplayLayout.Bands[0].Columns["STEELCODE"].CellActivation = Activation.AllowEdit;
// _ctrlMscMaterial.Grid.DisplayLayout.Bands[0].Columns["GRADECODE"].CellActivation = Activation.ActivateOnly;
//}
}
private void ultraTextEditor1_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
string processCodes = ultraGrid1.ActiveRow.GetValue("PROCESS_CODE") == ""
? _processCode : ultraGrid1.ActiveRow.GetValue("PROCESS_CODE");
ChoiceProcessPopup choiceProcessPopup = new ChoiceProcessPopup(processCodes, this.ob);
if (choiceProcessPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid1.ActiveRow.SetValue("PROCESS_CODE", choiceProcessPopup.ProcessCodes);
ultraGrid1.ActiveRow.SetValue("PROCESS_DESC", choiceProcessPopup.ProcessDescs);
}
}
private void ultraGrid1_KeyDown(object sender, KeyEventArgs e)
{
//ultraGrid1.DisplayLayout.Bands[0].Override.AllowMultiCellOperations = AllowMultiCellOperation.Copy | AllowMultiCellOperation.Paste;
//if (e.Control && e.KeyCode == Keys.C)
//{
// ultraGrid1.PerformAction(UltraGridAction.Copy);
//}
//else if (e.Control && e.KeyCode == Keys.V)
//{
// ultraGrid1.PerformAction(UltraGridAction.Paste);
//}
}
private void ultraGrid1_Error(object sender, ErrorEventArgs e)
{
//e.Cancel = true;
}
}
}