using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Server;
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.Windows.Forms;
namespace Core.StlMes.Client.Qcm
{
///
/// 产品规范管理
///
public partial class FrmStandardK : FrmBase
{
//提示信息
private string errMessage = "";
private Dictionary _ultCmbDic_Unit = null;
//定位标准基础
private string _std = "";
//定位最终客户
private string _cust = "";
//判断是否勾选
private int isSelectData = -1;
private int distance = 0;
private int disWidth = 0;
ComStandPay csp = null;
public FrmStandardK()
{
IsLoadUserView = true;
InitializeComponent();
}
///
/// 重写基类方法
///
///
///
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()
{
//查询条件
string valid = "1";
if (ChcValid.Checked)
valid = "0";
string std = "";
if (ChcStd.Checked)
std = TextStd.Text.Trim();
//CoreStandard标准基础表
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.getComBaseStd", new Object[] { valid, std }, this.ob);
DataRow[] rows = dt.Select("STDSTYLE<>'Alpha'");
foreach (DataRow dr in rows)
{
dt.Rows.Remove(dr);
}
dt.Columns.AddRange(new DataColumn[] {
new DataColumn("STD_NAME_OLD")});
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["STD_NAME_OLD"] = dt.Rows[i]["STD_NAME"];
}
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
//定位
UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "STD_NAME" }, new string[] { _std });
if (rows1.Length > 0)
rows1[0].Activate();
UltraGridColumn[] col = new UltraGridColumn[] { this.ultraGrid1.DisplayLayout.Bands[0].Columns["MEMO"] };
GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid1, col);
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
isSelectData = -1;
}
///
/// 保存
///
private void DoSave()
{
ultraGrid1.UpdateData();
ultraGrid3.UpdateData();
if (isSelectData == -1)
{
MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (MessageBox.Show("是否保存选择记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
//标准基础
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CHC" }, new string[] { "True" });
ArrayList stdAdd = new ArrayList();
ArrayList stdUpdate = new ArrayList();
if (rows.Length > 0)
{
foreach (UltraGridRow row in rows)
{
if (row.Cells["STD_NAME"].Value.ToString() != row.Cells["STD_NAME_OLD"].Value.ToString())
{
DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.getCount", new Object[] { row.Cells["STD_NAME_OLD"].Value.ToString() }, this.ob);
if (dt1 != null && dt1.Rows.Count > 0)
{
int i = Convert.ToInt32(dt1.Rows[0][0].ToString());
if (i > 0)
{
MessageBox.Show("标准 " + row.Cells["STD_NAME_OLD"].Value.ToString() + " 已被引用,无法修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
}
ArrayList stdList = GetStdData(row);
if (stdList == null)
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//标准名称
string stdName = row.Cells["STD_NAME"].Value.ToString().Trim();
string stdType = row.Cells["STDSTYLE"].Value.ToString();
_std = stdName;
//标准代码
string stdCode = row.Cells["STD_CODE"].Value.ToString().Trim();
//如果创建人为空,则新增,否则修改
if (row.Cells["CREATE_NAME"].Value.ToString().Equals(""))
{
UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "STD_NAME" }, new string[] { stdName });
if (rows1.Length > 1)
{
MessageBox.Show("标准名称:" + stdName + " 已经存在,请重新输入!", "提示",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//验证标准名称是否重复
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.checkStdName", new Object[] { stdName, stdType }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
MessageBox.Show("标准名称:" + stdName + " 已经存在,请重新输入!", "提示",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
stdAdd.Add(stdList);
}
else
{
//验证标准名称是否重复
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.checkStdName",
new Object[] { stdName, stdCode, stdType }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
MessageBox.Show("标准名称:" + stdName + " 已经存在,请重新输入!", "提示",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
stdList.Add(stdCode);
stdUpdate.Add(stdList);
}
}
}
//客户
ArrayList custerAdd = new ArrayList();
ArrayList custerUpdate = new ArrayList();
rows = GridHelper.GetRowsWithKey(ultraGrid3, new string[] { "CHC" }, new string[] { "True" });
if (rows.Length > 0)
{
foreach (UltraGridRow row in rows)
{
ArrayList custList = GetcustData(row);
if (custList == null)
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
string stdCode = row.Cells["STD_CODE"].Value.ToString();
string custName = row.Cells["CUST_NAME"].Text.ToString();
//用于定位客户
_cust = custName;
string custCode = row.Cells["CUST_CODE"].Value.ToString();
if (row.Cells["CREATE_NAME"].Value.ToString().Equals(""))
{
UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid3, new string[] { "CUST_CODE" }, new string[] { custCode });
if (rows1.Length > 1)
{
MessageBox.Show("最终客户:" + custName + " 已经存在,请重新选择!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//验证最终客户是否重复
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.checkCust", new Object[] { custCode, stdCode }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
MessageBox.Show("最终客户:" + custName + " 已经存在,请重新选择!", "提示",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
custerAdd.Add(custList);
}
else
{
//验证最终客户是否重复
if (!custCode.Equals(row.Cells["OLD_CUST_CODE"].Value.ToString()))
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.checkCust1", new Object[] { custCode, stdCode }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
MessageBox.Show("最终客户:" + custName + " 已经存在,请重新选择!", "提示",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
custList.Add(stdCode);
custList.Add(custCode);
custerUpdate.Add(custList);
}
}
}
if (stdAdd.Count > 0 || custerAdd.Count > 0 || stdUpdate.Count > 0 || custerUpdate.Count > 0)
{
ArrayList list = new ArrayList(); //无效的参数 为了跟服务端参数一致
ArrayList list1 = new ArrayList();
int count = ServerHelper.SetData("com.steering.pss.qcm.CoreStandard1.saveCoreStandard1",
new Object[] { stdAdd, stdUpdate, list, list1, custerAdd, custerUpdate }, this.ob);
if (count > 0)
{
MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
DoQuery();
}
}
}
///
/// 作废与恢复
///
///
private void DoDeleteOrResume(Boolean flag)
{
if (isSelectData == -1)
{
MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (flag)
{
if (MessageBox.Show("是否作废选择记录", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
}
else
{
if (MessageBox.Show("是否恢复选择记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
}
//标准基础
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CHC" }, new string[] { "True" });
ArrayList stdList = new ArrayList();
ArrayList pscList = new ArrayList();
ArrayList custList = new ArrayList();
if (rows.Length > 0)
{
foreach (UltraGridRow row in rows)
{
ArrayList std = new ArrayList();
//如果作废标准基础,就同时此标准基础下作废产品规范和客户
if (flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.getCount", new Object[] { row.Cells["STD_NAME_OLD"].Value.ToString() }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
int i = Convert.ToInt32(dt.Rows[0][0].ToString());
if (i > 0)
{
MessageBox.Show("标准 " + row.Cells["STD_NAME_OLD"].Value.ToString() + " 已被引用,无法作废", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
std.Add(UserInfo.GetUserName());
for (int i = 0; i < ultraGrid3.Rows.Count; i++)
{
ArrayList cust = new ArrayList();
cust.Add(UserInfo.GetUserName());
cust.Add(ultraGrid3.Rows[i].Cells["STD_CODE"].Value.ToString());
cust.Add(ultraGrid3.Rows[i].Cells["CUST_CODE"].Value.ToString());
custList.Add(cust);
}
}
else
std.Add("");
std.Add(row.Cells["STD_CODE"].Value.ToString());
stdList.Add(std);
//用于定位
_std = row.Cells["STD_NAME"].Value.ToString();
}
}
//最终客户
rows = GridHelper.GetRowsWithKey(ultraGrid3, new string[] { "CHC" }, new string[] { "True" });
if (rows.Length > 0)
{
foreach (UltraGridRow row in rows)
{
ArrayList cust = new ArrayList();
if (flag)
cust.Add(UserInfo.GetUserName());
else
{
//恢复客户,如果所对应的标准名称没有恢复,且不能恢复
string stdName = row.Cells["STD_NAME"].Value.ToString();
UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "STD_NAME" }, new string[] { stdName });
if (rows1.Length > 0 && rows1[0].Cells["VALIDFLAG"].Value.Equals("无效"))
{
MessageBox.Show("请先恢复标准名称:" + stdName, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
cust.Add("");
}
cust.Add(row.Cells["STD_CODE"].Value.ToString());
cust.Add(row.Cells["CUST_CODE"].Value.ToString());
custList.Add(cust);
_cust = row.Cells["CUST_NAME"].Value.ToString();
}
}
if (stdList.Count > 0 || pscList.Count > 0 || custList.Count > 0)
{
int count = ServerHelper.SetData("com.steering.pss.qcm.CoreStandard1.deleteOrResume",
new Object[] { stdList, pscList, custList, flag }, this.ob);
if (count > 0)
{
if (flag)
MessageBox.Show("作废成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
else
MessageBox.Show("恢复成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
DoQuery();
}
}
}
///
/// 初始化
///
///
///
private void FrmStandardK_Load(object sender, EventArgs e)
{
InitComBoEditor();
CreateGrid1Combo();
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
{
this.ultraTabControl1.Enabled = false;
}
else
{
this.ultraTabControl1.Enabled = true;
}
csp = new ComStandPay("3", this.ob);
csp.ParentUltraGrid = this.ultraGrid1;
csp.CkbDeleteFilter = this.ChcValid;
csp.TabChemStand = this.ultraTabPageControl1; //成分
csp.TabMaterialStand = this.ultraTabPageControl2; //理化
csp.TabTolerancesStand = this.ultraTabPageControl3; //公差
csp.TabComMSCStdDetection = this.ultraTabPageControl4; //探伤
csp.TabProductWater = this.ultraTabPageControl5; //水压
csp.AfterRowInsert += new RowEventHandler(csp_AfterRowInsert); //新增行
csp.Load();
this.ultraToolbarsManager1.Toolbars[0].Tools[4].InstanceProps.Visible = DefaultableBoolean.False;
}
void csp_AfterRowInsert(object sender, RowEventArgs e)
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (e.Row.Band.Columns.Exists("STD_CODE_NK"))
{
e.Row.Cells["STD_CODE_NK"].Value = ugr.Cells["STD_CODE"].Value;
DataTable dt = (DataTable)((UltraComboEditor)e.Row.Band.Columns["STD_CODE_NK"].EditorComponent).DataSource;
DataRow[] drs = dt.Select("STD_CODE = '" + ugr.Cells["STD_CODE"].Value.ToString() + "'");
if (drs.Length > 0)
{
e.Row.Cells["STD_NAME_NK"].Value = drs[0][1];
e.Row.Cells["STDSTYLE"].Value = drs[0][2];
}
}
else if (e.Row.Band.Columns.Exists("STD_CODE"))
{
e.Row.Cells["STD_CODE"].Value = ugr.Cells["STD_CODE"].Value;
DataTable dt = (DataTable)((UltraComboEditor)e.Row.Band.Columns["STD_CODE"].EditorComponent).DataSource;
DataRow[] drs = dt.Select("STD_CODE= '" + ugr.Cells["STD_CODE"].Value.ToString() + "'");
if (drs.Length > 0)
{
e.Row.Cells["STD_NAME"].Value = drs[0][1];
e.Row.Cells["STDSTYLE"].Value = drs[0][2];
}
}
}
///
/// 初始化下拉框
///
private void InitComBoEditor()
{
//初始化标准类型
ClsBaseInfo.FillStdType(ultraComboStd, this.ob, false);
((DataTable)ultraComboStd.DataSource).DefaultView.RowFilter = "CODE IN ('K')";
//初始化标准协会
QcmBaseCommon.InitDropUltraComEditor(ultraComboStyle, "com.steering.pss.qcm.CoreStandard1.bandCmbMaxStdXh", "BASENAME", this.ob, true);
//初始化管理部门
QcmBaseCommon.InitDropUltraComEditor(ultraComboDepart, "com.steering.comm.data.ComBaseInfo.getDepartment", "DEPARTNAME", this.ob, true);
//品名描述
QcmBaseCommon.InitDropUltraComEditor(ultraComboProduc, "com.steering.pss.qcm.CoreStandard1.getProducName", "PRODUCNAME", this.ob, false);
//初始化标准类别
QcmBaseCommon.InitDropUltraComEditor(ultraComboStyleD, "com.steering.pss.qcm.CoreStandard1.getStd_Style", "STD_STYLE_DESC", this.ob, true);
//初始化钢级牌号
QcmBaseCommon.InitDropUltraComEditor(ultraComboSteel, "com.steering.pss.qcm.CoreStandard1.getSteel", "STEELNAME", this.ob, true);
//初始化最终客户
QcmBaseCommon.InitDropUltraComEditor(ultraComboCust, "com.steering.pss.qcm.CoreStandard1.getCust", "CUSTOMER_NM", this.ob, false);
}
///
/// 动态绑定数据源 管理科室
///
private void BandComboToGrid(InitializeRowEventArgs e)
{
string pid = e.Row.Cells["DEPARTMENT_CODE"].Value.ToString();
if (_ultCmbDic_Unit.ContainsKey(pid))
{
e.Row.Cells["UNIT_DESC"].EditorComponent = _ultCmbDic_Unit[pid];
}
else
{
e.Row.Cells["UNIT_DESC"].EditorComponent = _ultCmbDic_Unit["NoValue"];
}
}
///
/// 集合 生成Comboeditor集合 用于科室管理
///
private void CreateGrid1Combo()
{
int cout = ultraComboDepart.Items.Count;
_ultCmbDic_Unit = new Dictionary(cout + 1);
_ultCmbDic_Unit.Add("NoValue", new UltraComboEditor());
for (int i = 0; i < ultraComboDepart.Items.Count; i++)
{
string pid = ultraComboDepart.Items[i].DataValue.ToString().Split(',')[0];
DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getSection",
new object[] { }, this.ob);
dt.DefaultView.RowFilter = "PID = '" + pid + "'";
UltraComboEditor cmb = new UltraComboEditor();
cmb.DataSource = dt;
cmb.DisplayMember = "DEPARTNAME";
cmb.ValueMember = "DEPARTID";
cmb.Visible = false;
_ultCmbDic_Unit.Add(pid, cmb);
this.Controls.Add(cmb);
}
}
///
/// 查询区
///
///
///
private void ChcStd_CheckedChanged(object sender, EventArgs e)
{
if (ChcStd.Checked)
TextStd.Enabled = true;
else
TextStd.Enabled = false;
}
///
/// 将ultraGrid2选择全部不勾选
///
///
private void changeUltraGirdChc(UltraGrid ug)
{
for (int i = 0; i < ug.Rows.Count; i++)
ug.Rows[i].Cells["CHC"].Value = false;
}
//--------------------------------ultraGrid1-------------------------------
///
/// 标准行增加
///
///
///
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));
//增加行如果没有勾选则不可编辑
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;
}
}
}
///
/// ultraGrid1
///
///
///
private void ultraGrid1_CellChange(object sender, CellEventArgs e)
{
ultraGrid1.UpdateData();
UltraGridRow ugr = ultraGrid1.DisplayLayout.ActiveRow;
if (e.Cell.Column.Key.Equals("STD_NAME")) //标准名称
{
for (int i = 0; i < ultraGrid3.Rows.Count; i++)
{
ultraGrid3.Rows[i].Cells["STD_NAME"].Value = ultraGrid1.DisplayLayout.ActiveRow.Cells["STD_NAME"].Value.ToString().Trim();
}
}
if (e.Cell.Column.Key.Equals("STDSTYLE")) //标准类型
{
string stdstyle = ugr.Cells["STDSTYLE"].Text;
if (stdstyle.Equals("Alpha"))
{
ultraGrid3.Enabled = true;
}
else
{
changeUltraGirdChc(ultraGrid3);
ultraGrid3.Enabled = false;
}
}
if (e.Cell.Column.Key.Equals("STD_STYLE_NAME")) //标准协会
{
ugr.Cells["STD_STYLE"].Value = ugr.Cells["STD_STYLE_NAME"].Value.ToString();
}
if (e.Cell.Column.Key.Equals("DEPARTMENT_DESC")) //部门管理
{
string departMentCode = ugr.Cells["DEPARTMENT_DESC"].Value.ToString();
string[] str = departMentCode.Split(',');
ugr.Cells["DEPARTMENT_CODE"].Value = str[0];
//根据部门号查询管理科室
ugr.Cells["UNIT_CODE"].Value = "";
ugr.Cells["UNIT_DESC"].Value = "";
}
if (e.Cell.Column.Key.Equals("UNIT_DESC")) //科室管理
{
ugr.Cells["UNIT_CODE"].Value = ugr.Cells["UNIT_DESC"].Value.ToString();
}
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;
}
}
}
}
///
/// ultraGrid1
///
///
///
private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
{
BandComboToGrid(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_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null || ugr.Cells["VALIDFLAG"].Value.ToString() != "有效")
{
this.ultraTabControl1.Enabled = false;
return;
}
else
{
this.ultraTabControl1.Enabled = true;
}
ultraGrid3.Enabled = true;
ultraGrid3.UpdateData();
string stdName = ugr.Cells["STD_NAME"].Value.ToString();
_std = stdName;
string stdStyle = ugr.Cells["STDSTYLE"].Text.ToString();
//Alpha 客户
if (stdStyle.Equals("Alpha"))
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreStandard1.getComBaseStdRCust", new Object[] { stdName }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable3, true);
//激活操作的行
UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid3, new string[] { "CUST_NAME" }, new string[] { _cust });
if (rows1.Length > 0)
rows1[0].Activate();
_cust = "";
GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid3, null);
}
else
{
dataTable3.Rows.Clear();
ultraGrid3.Enabled = false;
}
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid3);
QueryAlpha();
}
///
/// 获取标准类型数据
///
///
///
private ArrayList GetStdData(UltraGridRow ugr)
{
ArrayList list = new ArrayList();
string std_code = ugr.Cells["std_code"].Value.ToString();
string std_name = ugr.Cells["std_name"].Value.ToString().Trim();
if (std_name.Equals(""))
{
errMessage = "请输入标准名称";
return null;
}
string stdstyle = ugr.Cells["stdstyle"].Text.ToString();
if (stdstyle.Equals(""))
{
errMessage = "请选择标准类型";
return null;
}
if (stdstyle.ToUpper().Equals("ALPHA"))
stdstyle = "K";
string std_note = ugr.Cells["std_note"].Value.ToString();
string std_style = ugr.Cells["std_style"].Value.ToString();
string std_style_name = ugr.Cells["std_style_name"].Text.ToString();
string std_version = ugr.Cells["std_version"].Value.ToString();
string department_code = ugr.Cells["department_code"].Value.ToString();
string department_desc = ugr.Cells["department_desc"].Text.ToString();
string unit_code = ugr.Cells["unit_code"].Value.ToString();
string unit_desc = ugr.Cells["unit_desc"].Text.ToString();
string userName = UserInfo.GetUserName();
string validflag = ugr.Cells["validflag"].Value.ToString();
if (validflag.Equals("无效"))
{
errMessage = "无效记录不能保存";
return null;
}
string memo = ugr.Cells["memo"].Value.ToString();
list.Add(std_code);
list.Add(std_name);
list.Add(stdstyle);
list.Add(std_note);
list.Add(std_style);
list.Add(std_style_name);
list.Add(std_version);
list.Add(department_code);
list.Add(department_desc);
list.Add(unit_code);
list.Add(unit_desc);
list.Add(userName);
list.Add(memo);
return list;
}
///
/// 获取客户数据
///
///
///
private ArrayList GetcustData(UltraGridRow ugr)
{
ArrayList list = new ArrayList();
string std_code = ugr.Cells["STD_CODE"].Value.ToString();
string std_name = ugr.Cells["STD_NAME"].Value.ToString();
string cust_code = ugr.Cells["CUST_CODE"].Value.ToString();
string cust_name = ugr.Cells["CUST_NAME"].Text.ToString();
if (cust_name.Equals(""))
{
errMessage = "请选择最终客户";
}
string userName = UserInfo.GetUserName();
string validflag = ugr.Cells["VALIDFLAG"].Value.ToString();
if (validflag.Equals("无效"))
{
errMessage = "无效记录不能保存";
return null;
}
string memo = "";
list.Add(std_code);
list.Add(std_name);
list.Add(cust_code);
list.Add(cust_name);
list.Add(userName);
list.Add(memo);
return list;
}
//-----------------------------------------ultraGrid3
private void ultraGrid3_AfterRowInsert(object sender, RowEventArgs e)
{
UltraGridRow ugr = ultraGrid3.DisplayLayout.ActiveRow;
ugr.Cells["STD_NAME"].Value = ultraGrid1.DisplayLayout.ActiveRow.Cells["STD_NAME"].Value.ToString().Trim();
ugr.Cells["STD_CODE"].Value = ultraGrid1.DisplayLayout.ActiveRow.Cells["STD_CODE"].Value.ToString().Trim();
}
private void ultraGrid3_CellChange(object sender, CellEventArgs e)
{
ultraGrid3.UpdateData();
UltraGridRow ugr = ultraGrid3.DisplayLayout.ActiveRow;
if (e.Cell.Column.Key.Equals("CUST_NAME")) //客户
{
ugr.Cells["CUST_CODE"].Value = ugr.Cells["CUST_NAME"].Value.ToString();
}
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 ultraGrid3_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 ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e)
{
if (ultraExpandableGroupBox1.Expanded)
{
splitContainer1.SplitterDistance = distance;
}
else
{
splitContainer1.SplitterDistance = this.Height;
}
}
private void FrmStandardK_Shown(object sender, EventArgs e)
{
distance = splitContainer1.SplitterDistance;
disWidth = splitContainer2.SplitterDistance; ;
}
private void ultraExpandableGroupBox2_ExpandedStateChanged(object sender, EventArgs e)
{
if (ultraExpandableGroupBox2.Expanded)
splitContainer2.SplitterDistance = disWidth;
else
splitContainer2.SplitterDistance = this.Width;
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
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();
}
}
private void QueryAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "1": //###为了新行过滤用
csp.QueryChemStand(ugr.Cells["STD_CODE"].Value.ToString(), "###");
break;
case "2":
csp.QueryMaterialStand(ugr.Cells["STD_CODE"].Value.ToString(), "###");
break;
case "3":
csp.QueryTolerancesStand(ugr.Cells["STD_CODE"].Value.ToString(), "###");
break;
case "4":
csp.QueryComMSCStdDetection(ugr.Cells["STD_CODE"].Value.ToString(), "###");
break;
case "5":
csp.QueryProductWater(ugr.Cells["STD_CODE"].Value.ToString(), "###");
break;
}
}
private void SaveAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "1": //成分标准界面
csp.SaveChemStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "2": //理化标准界面
csp.SaveMaterialStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "3": //公差标准界面
csp.SaveTolerancesStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "4": //探伤标准界面
csp.SaveComMSCStdDetection(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "5": //水压标准界面
csp.SaveProductWater(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
}
}
private void DeleteAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "1":
csp.DeleteChemStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "2":
csp.DeleteMaterialStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "3":
csp.DeleteTolerancesStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "4":
csp.DeleteComMSCStdDetection(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "5":
csp.DeleteProductWater(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
}
}
private void ResumeAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "1":
csp.ResumeChemStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "2":
csp.ResumeMaterialStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "3":
csp.ResumeTolerancesStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "4":
csp.ResumeComMSCStdDetection(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "5":
csp.ResumeProductWater(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
}
}
private void RefreshAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
switch (ultraTabControl1.SelectedTab.Key)
{
case "1":
csp.RefreshChemStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "2":
csp.RefreshMaterialStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "3":
csp.RefreshTolerancesStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "4":
csp.RefreshComMSCStdDetection(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
case "5":
csp.RefreshProductWater(ugr.Cells["STD_CODE"].Value.ToString(), "");
break;
}
}
private void GroupAlpha()
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
if (ugr == null)
return;
if (ultraTabControl1.SelectedTab.Key == "2")
csp.GroupMaterialStand(ugr.Cells["STD_CODE"].Value.ToString(), "");
}
private void ultraTabControl1_SelectedTabChanged(object sender, SelectedTabChangedEventArgs e)
{
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[4].InstanceProps.Visible = DefaultableBoolean.True;
else
this.ultraToolbarsManager1.Toolbars[0].Tools[4].InstanceProps.Visible = DefaultableBoolean.False;
QueryAlpha();
}
}
}