using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Tool;
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.Linq;
using System.Windows.Forms;
namespace Core.StlMes.Client.Qcm
{
///
/// 理化标准管理
///
public partial class FrmMaterialStandard : FrmBase
{
private bool isPasting = false;
private int _pic = 1; //理化标准索引号
private string errMessage = ""; //提示信息
//public int isSelect = 0;
private string validflag = "";
private UltraComboEditor uce = new UltraComboEditor();
private UltraComboEditor cmbProBigType = new UltraComboEditor();
private UltraComboEditor gradeuce = new UltraComboEditor();
private UltraComboEditor steeluce = new UltraComboEditor();
private string _strPic = "";
public string StrPic
{
get { return _strPic; }
set { _strPic = value; }
}
private string msc = "";
public string Msc
{
get { return msc; }
set { msc = value; }
}
//如果接箍为字符串空,会在SQL语句中新增接箍等于空的条件,所以单页面默认了个不为空的值。
private string codeJg = "DefaultValue";
public string CodeJg
{
get { return codeJg; }
set { codeJg = value; }
}
private string stdCode = "";
public string StdCode
{
get { return stdCode; }
set { stdCode = value; }
}
private ArrayList steelCodes = new ArrayList();
public ArrayList SteelCodes
{
get { return steelCodes; }
set { steelCodes = value; }
}
private string producCode = "";
public string ProducCode
{
get { return producCode; }
set { producCode = value; }
}
private string steelcodeNk = "";
public string SteelcodeNk
{
get { return steelcodeNk; }
set { steelcodeNk = value; }
}
private string processCode = "";
public string ProcessCode
{
get { return processCode; }
set { processCode = value; }
}
private string acceptBid = "";
public string AcceptBid
{
get { return acceptBid; }
set { acceptBid = 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 Dictionary itemCodeFDic = new Dictionary();
private Dictionary itemCodeWDic = new Dictionary();
private Dictionary itemCodeSDic = new Dictionary();
public FrmMaterialStandard()
{
IsLoadUserView = true;
InitializeComponent();
ExceptionHelper.RegistException();
}
public void PopupLoad(string customInfo, OpeBase ob)
{
this.CustomInfo = customInfo;
this.ob = ob;
FrmMaterialStandard_Load(null, null);
}
//合格说明索引
private string noteIndex;
public string NoteIndex
{
get { return noteIndex; }
set { noteIndex = value; }
}
private List PicCode = new List(); //做过操作的PIC
private Dictionary ultraphymin = null;
private Dictionary ultraitem = null;
///
/// 按钮
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
DoQuery();
break;
case "Save":
DoSave();
break;
case "Delete":
{
DoDeleteOrResume(true);
break;
}
case "Resume":
{
DoDeleteOrResume(false);
break;
}
case "Copy":
Copy();
break;
case "Paste":
isPasting = true;
try
{
Paste();
}
finally
{
isPasting = false;
}
break;
case "Refresh":
doRefresh();
break;
case "Group":
doGroup();
break;
case "Cancel":
CancelGroup();
break;
case "Close":
this.Close();
break;
case "SaveTemplate":
SaveTemplate();
break;
}
}
///
/// 复制
///
private void Copy()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowWarning("请选择记录后,再进行操作!");
return;
}
ultraGrid1.UpdateData();
DataTable copyTab = dataTable1.Copy();
DataTable copyTab2 = dataTable2.Copy();
copyTab.Clear();
copyTab2.Clear();
if (ultraGrid1.ActiveRow.HasParent())
{
foreach (UltraGridRow row in ultraGrid1.ActiveRow.ParentRow.ChildBands[0].Rows)
{
if (row.GetValue("CHC") != "True") continue;
DataRow dr = copyTab.NewRow();
CopyRowToRow(((DataRowView)row.ListObject).Row, dr);
copyTab.Rows.Add(dr);
}
}
else
{
foreach (UltraGridRow row in ultraGrid1.ActiveRow.ChildBands[0].Rows)
{
DataRow dr = copyTab.NewRow();
CopyRowToRow(((DataRowView)row.ListObject).Row, dr);
copyTab.Rows.Add(dr);
}
DataRow dr2 = copyTab2.NewRow();
CopyRowToRow(((DataRowView)ultraGrid1.ActiveRow.ListObject).Row, dr2);
copyTab2.Rows.Add(dr2);
}
DataTable[] copyTabs = new DataTable[] { copyTab, copyTab2 };
Clipboard.SetData("Pic", copyTabs);
}
private void CopyRowToRow(DataRow srcRow, DataRow desRow)
{
for (int i = 0; i < srcRow.Table.Columns.Count; i++)
{
string columnName = srcRow.Table.Columns[i].ColumnName;
desRow[columnName] = srcRow[columnName];
}
}
///
/// 粘贴
///
private void Paste()
{
DataTable[] copyTabs = (DataTable[])Clipboard.GetData("Pic");
if (copyTabs == null)
{
MessageUtil.ShowWarning("没有数据,请复制后再进行操作!");
return;
}
DataTable copyTab = copyTabs[0];
DataTable copyTab2 = copyTabs[1];
if (copyTab == null || copyTab.Rows.Count == 0)
{
MessageUtil.ShowWarning("没有数据,请复制后再进行操作!");
return;
}
dataTable1.BeginInit();
string pic = "";
UltraGridRow rowParent;
if (ultraGrid1.ActiveRow.HasParent())
{
//if (ultraGrid1.ActiveRow.ParentRow.ChildBands[0].Rows.Count > 0)
//{
// MessageUtil.ShowWarning("该记录下存在子记录,不能进行粘贴操作!");
// return;
//}
pic = ultraGrid1.ActiveRow.ParentRow.GetValue("PIC");
rowParent = ultraGrid1.ActiveRow.ParentRow;
}
else
{
//if (ultraGrid1.ActiveRow.ChildBands[0].Rows.Count > 0)
//{
// MessageUtil.ShowWarning("该记录下存在子记录,不能进行粘贴操作!");
// return;
//}
pic = ultraGrid1.GetActiveRowValue("PIC");
rowParent = ultraGrid1.ActiveRow;
}
List notCopyColumns = new List();
notCopyColumns.AddRange("CHC", "CREATE_TIME", "CREATE_NAME", "UPDATE_TIME", "UPDATE_NAME",
"DELETE_TIME", "DELETE_NAME", "VALIDFLAG", "VALIDFLAGNAME", "PIC", "MSC", "STD_CODE_NK", "STD_NAME_NK", "PROCESS_DESC",
"PSC_DESC", "PSC", "PRODUCNAME", "STD_NAME", "STDSTYLE", "STEELCODE", "STD_STYLE_DESC", "PRODUCCODE_NK", "PRODUCNAME_NK",
"GRADECODE", "GRADENAME", "PROCESS_CDOE", "PROCESS_DESC", "STEELCODE_NK", "STEELDESC_NK");
if (copyTab2.Rows.Count > 0)
{
DataRow drParent = ((DataRowView)rowParent.ListObject).Row;
foreach (DataColumn column in dataTable2.Columns)
{
string columnName = column.ColumnName;
if (notCopyColumns.Contains(columnName) == true) continue;
drParent[columnName] = copyTab2.Rows[0][columnName];
}
}
if (dataTable2.Select("PIC = '" + pic + "'").Length == 0) return;
foreach (DataRow row in copyTab.Rows)
{
DataRow tempRow = dataTable1.NewRow();
foreach (DataColumn column in dataTable1.Columns)
{
string columnName = column.ColumnName;
if (notCopyColumns.Contains(columnName) == true) continue;
if (!copyTab.Columns.Contains(columnName)) continue;
tempRow[columnName] = row[columnName];
}
tempRow["PIC"] = pic;
dataTable1.Rows.Add(tempRow);
}
dataTable1.EndInit();
if (copyTab.Rows.Count > 0 && ultraGrid1.ActiveRow != null)
{
ultraGrid1.ActiveRow.ExpandAll();
}
ultraGrid1.UpdateData();
}
private void CancelGroup()
{
int ischeck = 0; //是否勾选
int isselect = 0; //勾选项是否已写入数据库
int isvalid = 0; //是否有效
int hasindex = 0;
ArrayList plist = new ArrayList();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.HasChild() && row.Cells["CHC"].Value.ToString().ToUpper() == "TRUE")
{
MessageBox.Show("主表不能进行取消分组操作", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
foreach (UltraGridRow crow in row.ChildBands[0].Rows)
{
ArrayList clist = new ArrayList(); //需要取消的GIC和XH
if (crow.Cells["CHC"].Value.ToString().ToUpper() == "TRUE")
{
if (crow.Cells["VALIDFLAGNAME"].Value.ToString().Equals(""))
{
isselect += 1;
}
if (crow.Cells["VALIDFLAGNAME"].Value.ToString().Equals("无效"))
{
isvalid += 1;
}
if (crow.Cells["GROUP_SEQ"].Value.ToString().Equals(""))
{
hasindex += 1;
}
ischeck += 1;
clist.Add(crow.Cells["PIC"].Value.ToString());
clist.Add(crow.Cells["INDEX_SEQ"].Value.ToString());
plist.Add(clist);
}
}
}
if (ischeck == 0)
{
MessageBox.Show("请选择你要取消分组的记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (isselect > 0)
{
MessageBox.Show("您选择的记录中存在未保存的项,不能对其进行取消分组操作", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (isvalid > 0)
{
MessageBox.Show("您选择的记录中存在无效数据,无法取消分组", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (hasindex > 0)
{
MessageBox.Show("您选择的记录中存在未分组的数据,无法取消分组", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (MessageBox.Show("是否确认对所选项进行取消分组?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
int count = ServerHelper.SetData("com.steering.pss.qcm.ComMaterial.cancleGroup", new Object[] { plist }, this.ob);
if (count > 0)
{
MessageBox.Show("取消分组成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
DoQuery();
ExpandRow();
PicCode.Clear();
}
}
private void CreateGridCombo()
{
int cout = ultraComPhyMax.Items.Count;
ultraphymin = new Dictionary(cout);
for (int i = 0; i < ultraComPhyMax.Items.Count; i++)
{
string phymaxcode = ultraComPhyMax.Items[i].DataValue.ToString();
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.geComBasePhyC", new Object[] { phymaxcode }, this.ob);
UltraComboEditor cmb = new UltraComboEditor();
cmb.DataSource = dt;
cmb.DisplayMember = "PHY_TYPE";
cmb.ValueMember = "PHY_CODE";
cmb.Visible = false;
cmb.DropDownListWidth = -1;
ultraphymin.Add(phymaxcode, cmb);
this.Controls.Add(cmb);
}
int count1 = ultraphymin.Count;
ultraitem = new Dictionary(count1);
for (int i = 0; i < count1; i++)
{
for (int j = 0; j < ultraphymin[ultraComPhyMax.Items[i].DataValue.ToString()].Items.Count; j++)
{
string phymincode = ultraphymin[ultraComPhyMax.Items[i].DataValue.ToString()].Items[j].DataValue.ToString();
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.geComBasePhy",
new Object[] { ultraComPhyMax.Items[i].DataValue.ToString(), phymincode }, this.ob);
UltraComboEditor cmb = new UltraComboEditor();
cmb.DataSource = dt;
cmb.DisplayMember = "PHY_NAME";
cmb.ValueMember = "PHY_CODE";
cmb.Visible = false;
cmb.DropDownListWidth = -1;
ultraitem.Add(phymincode, cmb);
this.Controls.Add(cmb);
}
}
foreach (UltraComboEditor cmb in ultraitem.Values)
{
for (int j = 0; j < cmb.Items.Count; j++)
{
string phyCode = cmb.Items[j].DataValue.ToString();
if (itemCodeFDic.ContainsKey(phyCode) == true) continue;
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.geComBasePhyRItem", new Object[] { phyCode }, this.ob);
//DataRow dr = dt.NewRow();
//dr["ITEM_CODE_F"] = ",,";
//dr["ITEM_CODE_W"] = ",,";
//dr["ITEM_CODE_C"] = ",,";
//dr["ITEM_NAME_F"] = "";
//dr["ITEM_NAME_W"] = "";
//dr["ITEM_NAME_C"] = "";
//dt.Rows.InsertAt(dr, 0);
UltraCombo cmbF = new UltraCombo();
cmbF.DataSource = dt;
cmbF.DisplayMember = "ITEM_NAME_F";
cmbF.ValueMember = "PRIMARY_KEY";
cmbF.Visible = false;
cmbF.DropDownWidth = -1;
cmbF.DisplayLayout.Bands[0].Columns["ITEM_CODE_F"].Hidden = true;
cmbF.DisplayLayout.Bands[0].Columns["ITEM_CODE_W"].Hidden = true;
cmbF.DisplayLayout.Bands[0].Columns["ITEM_CODE_C"].Hidden = true;
cmbF.DisplayLayout.Bands[0].Columns["PRIMARY_KEY"].Hidden = true;
cmbF.DisplayLayout.Bands[0].Columns["ITEM_NAME_F"].Header.Caption = "试验方向";
cmbF.DisplayLayout.Bands[0].Columns["ITEM_NAME_W"].Header.Caption = "试验温度";
cmbF.DisplayLayout.Bands[0].Columns["ITEM_NAME_C"].Header.Caption = "试验尺寸";
this.Controls.Add(cmbF);
itemCodeFDic.Add(phyCode, cmbF);
UltraCombo cmbW = new UltraCombo();
cmbW.DataSource = dt;
cmbW.DisplayMember = "ITEM_NAME_W";
cmbW.ValueMember = "PRIMARY_KEY";
cmbW.Visible = false;
cmbW.DropDownWidth = -1;
cmbW.DisplayLayout.Bands[0].Columns["ITEM_CODE_F"].Hidden = true;
cmbW.DisplayLayout.Bands[0].Columns["ITEM_CODE_W"].Hidden = true;
cmbW.DisplayLayout.Bands[0].Columns["ITEM_CODE_C"].Hidden = true;
cmbW.DisplayLayout.Bands[0].Columns["PRIMARY_KEY"].Hidden = true;
cmbW.DisplayLayout.Bands[0].Columns["ITEM_NAME_F"].Header.Caption = "试验方向";
cmbW.DisplayLayout.Bands[0].Columns["ITEM_NAME_W"].Header.Caption = "试验温度";
cmbW.DisplayLayout.Bands[0].Columns["ITEM_NAME_C"].Header.Caption = "试验尺寸";
this.Controls.Add(cmbW);
itemCodeWDic.Add(phyCode, cmbW);
UltraCombo cmbS = new UltraCombo();
cmbS.DataSource = dt;
cmbS.DisplayMember = "ITEM_NAME_C";
cmbS.ValueMember = "PRIMARY_KEY";
cmbS.Visible = false;
cmbS.DropDownWidth = -1;
cmbS.DisplayLayout.Bands[0].Columns["ITEM_CODE_F"].Hidden = true;
cmbS.DisplayLayout.Bands[0].Columns["ITEM_CODE_W"].Hidden = true;
cmbS.DisplayLayout.Bands[0].Columns["ITEM_CODE_C"].Hidden = true;
cmbS.DisplayLayout.Bands[0].Columns["PRIMARY_KEY"].Hidden = true;
cmbS.DisplayLayout.Bands[0].Columns["ITEM_NAME_F"].Header.Caption = "试验方向";
cmbS.DisplayLayout.Bands[0].Columns["ITEM_NAME_W"].Header.Caption = "试验温度";
cmbS.DisplayLayout.Bands[0].Columns["ITEM_NAME_C"].Header.Caption = "试验尺寸";
this.Controls.Add(cmbS);
itemCodeSDic.Add(phyCode, cmbS);
}
}
}
///
/// 将生成的下拉框绑定到GRID
///
/// 初始化行时使用
/// Grid的子表行,刷新时用
///
private void BandComboToGrid(InitializeRowEventArgs e, UltraGridRow ugr)
{
if (e != null && e.Row.HasParent())
{
string phycodemax = e.Row.Cells["PHY_CODE_MAX"].Value.ToString();
if (ultraphymin.ContainsKey(phycodemax))
{
e.Row.Cells["PHY_NAME_MIN"].EditorComponent = ultraphymin[phycodemax];
}
else
{
e.Row.Cells["PHY_NAME_MIN"].EditorComponent = null;
}
string phycodemin = e.Row.Cells["PHY_CODE_MIN"].Value.ToString();
if (ultraitem.ContainsKey(phycodemin))
{
e.Row.Cells["PHY_NAME"].EditorComponent = ultraitem[phycodemin];
}
else
{
e.Row.Cells["PHY_NAME"].EditorComponent = null;
}
if (itemCodeFDic.ContainsKey(e.Row.GetValue("PHY_CODE")))
{
e.Row.Cells["ITEM_CODE_F"].EditorComponent = itemCodeFDic[e.Row.GetValue("PHY_CODE")];
e.Row.Cells["ITEM_CODE_F"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
e.Row.Cells["ITEM_CODE_W"].EditorComponent = itemCodeWDic[e.Row.GetValue("PHY_CODE")];
e.Row.Cells["ITEM_CODE_S"].EditorComponent = itemCodeSDic[e.Row.GetValue("PHY_CODE")];
}
//e.Row.Cells["ITEM_CODE_F"].EditorComponent = itemCodeFCmb;
//e.Row.Cells["ITEM_CODE_W"].EditorComponent = itemCodeWCmb;
//e.Row.Cells["ITEM_CODE_S"].EditorComponent = itemCodeSCmb;
}
if (ugr != null && e != null)
{
string phycodemax = ugr.Cells["PHY_CODE_MAX"].Value.ToString();
if (ultraphymin.ContainsKey(phycodemax))
{
ugr.Cells["PHY_NAME_MIN"].EditorComponent = ultraphymin[phycodemax];
}
else
{
ugr.Cells["PHY_NAME_MIN"].EditorComponent = null;
}
string phycodemin = ugr.Cells["PHY_CODE_MIN"].Value.ToString();
if (ultraitem.ContainsKey(phycodemin))
{
ugr.Cells["PHY_NAME"].EditorComponent = ultraitem[phycodemin];
}
else
{
ugr.Cells["PHY_NAME"].EditorComponent = null;
}
if (itemCodeFDic.ContainsKey(ugr.GetValue("PHY_CODE")))
{
ugr.Cells["ITEM_CODE_F"].EditorComponent = itemCodeFDic[ugr.GetValue("PHY_CODE")];
e.Row.Cells["ITEM_CODE_F"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ugr.Cells["ITEM_CODE_W"].EditorComponent = itemCodeWDic[ugr.GetValue("PHY_CODE")];
ugr.Cells["ITEM_CODE_S"].EditorComponent = itemCodeSDic[ugr.GetValue("PHY_CODE")];
}
//ugr.Cells["ITEM_CODE_F"].EditorComponent = itemCodeFCmb;
//ugr.Cells["ITEM_CODE_W"].EditorComponent = itemCodeWCmb;
//ugr.Cells["ITEM_CODE_S"].EditorComponent = itemCodeSCmb;
}
}
private void doGroup()
{
ArrayList list = new ArrayList();
int ischeck = 0; //是否勾选
int isselect = 0; //勾选项是否已写入数据库
int isvalid = 0; //是否有效
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.HasChild() && row.Cells["CHC"].Value.ToString().ToUpper() == "TRUE")
{
MessageBox.Show("主表不能进行分组操作", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
ArrayList plist = new ArrayList(); //分为几组。
foreach (UltraGridRow crow in row.ChildBands[0].Rows)
{
ArrayList clist = new ArrayList(); //哪些分为一组。
if (crow.Cells["CHC"].Value.ToString().ToUpper() == "TRUE")
{
if (crow.Cells["VALIDFLAGNAME"].Value.ToString().Equals(""))
{
isselect += 1;
}
if (crow.Cells["VALIDFLAGNAME"].Value.ToString().Equals("无效"))
{
isvalid += 1;
}
ischeck += 1;
clist.Add(crow.Cells["PIC"].Value.ToString());
clist.Add(crow.Cells["INDEX_SEQ"].Value.ToString());
plist.Add(clist);
}
}
list.Add(plist);
}
if (ischeck == 0)
{
MessageBox.Show("请选择你要分组的记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (isselect > 0)
{
MessageBox.Show("您选择的分组记录中存在未保存的项,请先保存后再分组", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (isvalid > 0)
{
MessageBox.Show("您选择的分组记录中存在无效数据,无法分组", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (MessageBox.Show("是否确认对所选项进行分组?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
CoreClientParam ccp = new CoreClientParam(); //CoreClientParam是平台用来向服务端传递存放所有相关参数信息的。
ccp.ServerName = "com.steering.pss.qcm.ComMaterial"; //服务名指的是服务端的包名+类名
ccp.MethodName = "doGroup"; //方法名指的是服务名指定类里的方法
ccp.ServerParams = new object[] { list };//服务端方法的参数
//ExecuteNonQuery主要用来执行添加、修改、删除、存储过程的操作。
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1)
return;
MessageBox.Show("分组成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
DoQuery();
ExpandRow();
PicCode.Clear();
}
///
/// 刷新
///
private void doRefresh()
{
InitComBoEditor();
//CreateGridCombo();
//foreach (UltraGridRow row in ultraGrid1.Rows)
//{
// foreach (UltraGridRow crow in row.ChildBands[0].Rows)
// {
// BandComboToGrid(null, crow);
// }
//}
}
///
/// 根据参数不同,隐藏不同的字段
///
private void HideColumn()
{
if (this.CustomInfo == "1")
{
this.ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE_NK"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_DESC"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME_NK"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC_NK"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCCODE_NK"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME_NK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GRADENAME"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["IMPACT_ID"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[1].Columns["IS_PRODUCT_CHECK"].Hidden = true;
}
if (this.CustomInfo == "2")
{
this.ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PSC"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["STD_NAME"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["STD_STYLE_DESC"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PSC_DESC"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["BATCH_LOCA"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE_NK"].Header.Caption = "内控管理编号";
//this.ultraGrid1.DisplayLayout.Bands[0].Columns["UnboundColumn1"].Hidden = false;
//UnboundColumn1
}
if (this.CustomInfo == "3")
{
this.ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PSC"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["STD_NAME"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["STD_STYLE_DESC"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PSC_DESC"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_DESC"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["BATCH_LOCA"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME_NK"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC_NK"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCCODE_NK"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME_NK"].Hidden = true;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["UnboundColumn1"].Hidden = true;
}
}
///
/// 行增加事件
///
///
///
private void ultraGrid1_AfterRowInsert(object sender, RowEventArgs e)
{
this.ultraGrid1.UpdateData();
string style = "X";
if (this.CustomInfo == "2")
style = "N";
if (this.CustomInfo == "3")
style = "K";
UltraGridRow ugr = ultraGrid1.DisplayLayout.ActiveRow;
if (!ugr.HasParent()) //主表自动填充主键(理化标准索引号)
{
string picStr = "";
string pic = "";
DataRow[] dr = dataTable2.Select("", "PIC DESC");
if (dr.Length > 0)
{
pic = dr[0]["PIC"].ToString();
}
if (!pic.Equals(""))
{
int number = int.Parse(pic.Substring(4, 6));
picStr = "PIC" + style + string.Format("{0:000000}", number + 1);
_pic = number + 1;
}
else
{
picStr = "PIC" + style + string.Format("{0:000000}", _pic);
_pic = _pic + 1;
}
//赋值理化索引号
ugr.Cells["PIC"].Value = picStr;
ugr.Cells["UnboundColumn1"].Value = "维护取样要求";
ugr.Cells["BATCH_LOCA"].Value = "408502";
//ugr.Cells["COUNT"].Value = "已维护项目";
}
else //从表自动填充主键(序号)
{
int indexSeq = 0;
DataRow[] dr = dataTable1.Select("PIC='" + ugr.Cells["PIC"].Value.ToString() + "'", "INDEX_SEQ DESC");
if (dr.Length > 0)
{
indexSeq = Convert.ToInt32(dr[0]["INDEX_SEQ"]);
}
indexSeq += 1;
//赋值序号
this.ultraGrid1.DisplayLayout.ActiveRow.Cells["INDEX_SEQ"].Value = indexSeq;
//将增加行的是否必选项置为默认选择 和 复合元素选择项置为默认不选
this.ultraGrid1.DisplayLayout.ActiveRow.Cells["ISCHECK"].Value = true;
this.ultraGrid1.DisplayLayout.ActiveRow.Cells["PHY_TYPE"].Value = false;
this.ultraGrid1.ActiveRow.Cells["BILLET_SAMPLE"].Value = false;
e.Row.Cells["JUDGE_BASIS"].Value = "逐项值判";
e.Row.Cells["ISJUDGE"].Value = true;
e.Row.Cells["ISQUOTE"].Value = true;
e.Row.Cells["IS_PRODUCT_CHECK"].Value = false;
if (ugr.Cells["PHY_TYPE"].Value.ToString().ToUpper() == "TRUE")
{
ugr.Cells["PHY_FORMULA"].Activation = Activation.AllowEdit;
}
else
{
ugr.Cells["PHY_FORMULA"].Activation = Activation.ActivateOnly;
}
}
//增加行如果没有勾选则不可编辑
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;
if (ugr.Cells[i].Column.Key.Equals("CHKNK"))
ugr.Cells["CHKNK"].Value = "选择";
}
}
e.Row.Update();
}
///
/// 登陆初始化数据
///
///
///
private void FrmMaterialStandard_Load(object sender, EventArgs e)
{
if (this.CustomInfo == "5")
{
this.ultraToolbarsManager1.Tools[2].SharedProps.Visible = false;
}
if (this.CustomInfo != "4" && this.CustomInfo != "5")
InitComBoEditor();
HideColumn();
//CreateGridCombo();
if (this.CustomInfo == "3")
this.ultraGrid1.DisplayLayout.Bands[0].Columns["STD_NAME_NK"].Header.Caption = "标准名称";
}
private void setGrid()
{
ultraGrid1.UpdateData();
//foreach (UltraGridRow row in ultraGrid1.Rows)
//{
// row.Cells["UnboundColumn1"].Value = "维护取样要求";
// DataView dv = new DataView(dataTable1);
// DataTable newdt = dv.ToTable(false, "PIC", "PHY_NAME_MAX", "PHY_NAME_MIN", "PHY_NAME", "ITEM_NAME_F", "ITEM_NAME_W", "ITEM_NAME_S");
// DataRow[] dr = newdt.Select("PIC='" + row.Cells["PIC"].Value.ToString() + "'", "");
// row.Cells["COUNT"].Value = newdt.AsEnumerable().Where(a => a["PIC"].ToString() == row.Cells["PIC"].Value.ToString()).Distinct(new DataRowComparer()).Count();
// // row.Cells["COUNT"].Value = "已维护项目";
//}
}
public void PopupRefresh()
{
if (CustomInfo == "1")
{
UltraComboEditor UceMsc = new UltraComboEditor();
this.Controls.Add(UceMsc);
UceMsc.Visible = false;
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.getMsc", new object[] { msc }, ob);
QcmBaseCommon.InitDropList(UceMsc, dt, "MSC", false);
ClsBaseInfo.SetComboItemHeight(UceMsc);
ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].EditorComponent = UceMsc;
ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
}
}
///
/// 初始化下拉框数据
///
private void InitComBoEditor()
{
QcmBaseCommon.InitSignMin(ultraComSignMin);
QcmBaseCommon.InitSignMax(ultraComSignMax);
InitJudgeBasis();
//初始化理化检验项大类
ultraComPhyMax.DropDownListWidth = -1;
QcmBaseCommon.InitDropUltraComEditor(ultraComPhyMax, "com.steering.pss.qcm.ComBaseQuery.geComBasePhyRStd", "PHY_TYPE", this.ob, false);
//初始化结箍名称
QcmBaseCommon.InitDropUltraComEditor(ultraComJG, "com.steering.pss.qcm.ComBaseQuery.getComMSCJG", "SPEC_JG_DESC", this.ob, true);
//初始化限制规格
QcmBaseCommon.InitDropUltraComEditor(ultraComSize, "com.steering.pss.qcm.ComBaseQuery.geComBaseInfo4003", "BASENAME", this.ob, true);
//交货标准
QcmBaseCommon.InitDropUltraComEditor(ultraComboDelivery, "com.steering.pss.qcm.ComBaseQuery.geComBaseInfo4060", "BASENAME", this.ob, true);
//内控标准
UltraGridBand ugb = ultraGrid1.DisplayLayout.Bands[0];
this.Controls.Add(uce);
uce.Visible = false;
ugb.Columns["GRADECODE"].Hidden = true;
ugb.Columns["STEELCODE"].CellActivation = Activation.ActivateOnly;
if (this.CustomInfo == "2")
{
ugb.Columns["GRADECODE"].Hidden = false;
InnerChange();
QcmBaseQuery.NitializeInnerStandard(uce, false, this.ob);
QcmBaseQuery.BindColumn(uce, "STD_CODE_NK", ugb);
}
if (this.CustomInfo == "3")
{
QcmBaseQuery.NitializeAlphaStandard(uce, false, this.ob);
QcmBaseQuery.BindColumn(uce, "STD_CODE_NK", ugb);
}
//产品规范码
QcmBaseCommon.InitDropUltraComEditor(ultraComboPSC, "com.steering.pss.qcm.ComMaterial.getPSC", "PSC_DESC", this.ob, false);
if (CustomInfo == "1")
{
UltraComboEditor UceMsc = new UltraComboEditor();
this.Controls.Add(UceMsc);
UceMsc.Visible = false;
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.getMsc", new object[] { msc }, ob);
QcmBaseCommon.InitDropList(UceMsc, dt, "MSC", false);
ClsBaseInfo.SetComboItemHeight(UceMsc);
ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].EditorComponent = UceMsc;
ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ClsBaseInfo.FillComBaseInfo(ultraComboBatchLoca, "4085", ob, false);
ultraGrid1.DisplayLayout.Bands[0].Columns["BATCH_LOCA"].EditorComponent = ultraComboBatchLoca;
ultraGrid1.DisplayLayout.Bands[0].Columns["BATCH_LOCA"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
}
//附加标准
UltraComboEditor uceAddStdCon = new UltraComboEditor();
this.Controls.Add(uceAddStdCon);
uceAddStdCon.Visible = false;
QcmBaseCommon.InitDropUltraComEditor(uceAddStdCon, "com.steering.pss.qcm.ComMaterial.getAddCondition", "BASENAME", this.ob, false);
ultraGrid1.DisplayLayout.Bands[1].Columns["ADDSTDCON_CODE"].EditorComponent = uceAddStdCon;
ultraGrid1.DisplayLayout.Bands[1].Columns["ADDSTDCON_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ClsBaseInfo.SetComboItemHeight(uceAddStdCon);
cmbProBigType.Visible = false;
this.Controls.Add(cmbProBigType);
QcmBaseQuery.NitializeProductBigType(cmbProBigType, false, ob);
QcmBaseQuery.BindColumn(cmbProBigType, "PRODUC_HEAD", ugb);
ClsBaseInfo.SetComboItemHeight(cmbProBigType);
//多标准选择分类
UltraComboEditor uceMultStd = new UltraComboEditor();
this.Controls.Add(uceMultStd);
uceMultStd.Visible = false;
QcmBaseCommon.InitDropUltraComEditor(uceMultStd, "com.steering.pss.qcm.ComMaterial.getMultStd", "BASENAME", this.ob, true);
ultraGrid1.DisplayLayout.Bands[1].Columns["STD_CHOOSE"].EditorComponent = uceMultStd;
ultraGrid1.DisplayLayout.Bands[1].Columns["STD_CHOOSE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ClsBaseInfo.SetComboItemHeight(uceMultStd);
ClsBaseInfo.SetComboItemHeight(ultraComboEditor2);
//公式限制
ClsBaseInfo.FillComBaseInfo(ultraComboEditor3, "4095", ob, true);
}
///
/// 初始化判断依据
///
private void InitJudgeBasis()
{
DataTable dt = new DataTable();
dt.Columns.Add("JUDGE_BASIS");
DataRow dr1 = dt.NewRow();
dr1["JUDGE_BASIS"] = "最小值";
DataRow dr2 = dt.NewRow();
dr2["JUDGE_BASIS"] = "最大值";
DataRow dr3 = dt.NewRow();
dr3["JUDGE_BASIS"] = "平均值";
DataRow dr4 = dt.NewRow();
dr4["JUDGE_BASIS"] = "逐项值判";
dt.Rows.Add(dr1);
dt.Rows.Add(dr2);
dt.Rows.Add(dr3);
dt.Rows.Add(dr4);
ultraComJudgeBasis.DataSource = dt;
ultraComJudgeBasis.DisplayMember = "JUDGE_BASIS";
DataTable dt1 = new DataTable();
dt1.Columns.Add("ADDCONDITION");
DataRow dr5 = dt1.NewRow();
dr5["ADDCONDITION"] = "符合标准时";
DataRow dr6 = dt1.NewRow();
dr6["ADDCONDITION"] = "不符合标准时";
DataRow dr7 = dt1.NewRow();
dr7["ADDCONDITION"] = " ";
dt1.Rows.Add(dr5);
dt1.Rows.Add(dr6);
dt1.Rows.Add(dr7);
ultraComboEditor1.DataSource = dt1;
ultraComboEditor1.DisplayMember = "ADDCONDITION";
ClsBaseInfo.SetComboItemHeight(ultraComboEditor1);
}
///
/// ultragrid1数据变化事件
///
///
///
public void ultraGrid1_CellChange(object sender, CellEventArgs e)
{
ultraGrid1.UpdateData();
UltraGridRow ugr = ultraGrid1.DisplayLayout.ActiveRow;
if (e.Cell.Column.Key.Equals("SPEC_JG_DESC")) //结箍
{
ugr.Cells["SPEC_JG"].Value = ugr.Cells["SPEC_JG_DESC"].Value.ToString();
}
if (e.Cell.Column.Key.Equals("SIZE_NAME2")) //规格描述一
{
ugr.Cells["SIZE_CODE2"].Value = ugr.Cells["SIZE_NAME2"].Value.ToString();
string sizeCode2 = ugr.Cells["SIZE_CODE2"].Value.ToString();
string sizeCode = ugr.Cells["SIZE_CODE"].Value.ToString();
if (!sizeCode2.Equals("") && sizeCode2.Equals(sizeCode))
{
ugr.Cells["SIZE_CODE2"].Value = "";
ugr.Cells["SIZE_NAME2"].Value = "";
MessageBox.Show("限制规格描述不能相同", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (string.IsNullOrEmpty(e.Cell.Text))
{
ugr.Cells["SIZE_MIN_SIGN2"].Value = "";
ugr.Cells["SIZE_MIN2"].Value = "";
ugr.Cells["SIZE_MAX_SIGN2"].Value = "";
ugr.Cells["SIZE_MAX2"].Value = "";
}
}
else if (e.Cell.Column.Key.Equals("SIZE_NAME")) //规格描述二
{
ugr.Cells["SIZE_CODE"].Value = ugr.Cells["SIZE_NAME"].Value.ToString();
string sizeCode2 = ugr.Cells["SIZE_CODE2"].Value.ToString();
string sizeCode = ugr.Cells["SIZE_CODE"].Value.ToString();
if (!sizeCode.Equals("") && sizeCode.Equals(sizeCode2))
{
ugr.Cells["SIZE_CODE"].Value = "";
ugr.Cells["SIZE_NAME"].Value = "";
MessageBox.Show("限制规格描述不能相同", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (string.IsNullOrEmpty(e.Cell.Text))
{
ugr.Cells["SIZE_MIN_SIGN"].Value = "";
ugr.Cells["SIZE_MIN"].Value = "";
ugr.Cells["SIZE_MAX_SIGN"].Value = "";
ugr.Cells["SIZE_MAX"].Value = "";
}
}
else if (e.Cell.Column.Key.Equals("STD_CODE_NK")) //标准下拉框选择
{
ugr.Cells["STD_NAME_NK"].Value = ugr.Cells["STD_CODE_NK"].Text;
DataRow[] dr = ((DataTable)uce.DataSource).Select("STD_CODE='" + ugr.Cells["STD_CODE_NK"].Value + "'");
if (dr.Length > 0)
ugr.Cells["STDSTYLE"].Value = dr[0][2];
}
else if (e.Cell.Column.Key.Equals("PROCESS_DESC")) //工序下拉框选择
{
ugr.Cells["PROCESS_CDOE"].Value = ugr.Cells["PROCESS_DESC"].Value.ToString();
}
else if (e.Cell.Column.Key.Equals("PSC_DESC")) //产品规范码
{
string psc = ugr.Cells["PSC_DESC"].Value.ToString();
string[] str = psc.Split('@');
ugr.Cells["PSC"].Value = str[0];
ugr.Cells["PRODUCNAME"].Value = str[1];
ugr.Cells["STDSTYLE"].Value = str[2];
ugr.Cells["STD_NAME"].Value = str[3];
ugr.Cells["STEELNAME"].Value = str[4];
ugr.Cells["STD_STYLE_DESC"].Value = str[5];
}
else if (e.Cell.Column.Key.Equals("MSC")) //冶金规范码
{
string msc = ugr.Cells["MSC"].Value.ToString();
string[] str = msc.Split('@');
ugr.Cells["PSC"].Value = str[1];
ugr.Cells["PSC_DESC"].Value = str[2];
ugr.Cells["PRODUCNAME"].Value = str[3];
ugr.Cells["STDSTYLE"].Value = str[7];
ugr.Cells["STD_NAME"].Value = str[4];
ugr.Cells["STEELNAME"].Value = str[5];
ugr.Cells["STD_STYLE_DESC"].Value = str[6];
}
//ISCHECK ISJUDGE ISQUOTE
//"是否判定"或"是否报出"存在的前提是"是否检验"
else if (e.Cell.Column.Key.Equals("ISCHECK"))
{
if (!Convert.ToBoolean(e.Cell.Value) && e.Cell.Row.Cells["PHY_CODE_MIN"].Value.ToString() != "C0156")
{
e.Cell.Row.Cells["ISJUDGE"].Value = false;
e.Cell.Row.Cells["ISQUOTE"].Value = false;
}
}
else if (e.Cell.Column.Key.Equals("ISJUDGE") || e.Cell.Column.Key.Equals("ISQUOTE"))
{
if (Convert.ToBoolean(e.Cell.Value) && e.Cell.Row.Cells["PHY_CODE_MIN"].Value.ToString() != "C0156")
{
e.Cell.Row.Cells["ISCHECK"].Value = true;
}
}
//输入百分比时 自动算出附加标准范围值
else if (e.Cell.Column.Key.Equals("ADDPERCENT"))
{
UltraGridRow row = ultraGrid1.ActiveRow;
string stdmin_sign = row.Cells["STDMIN_SIGN"].Value.ToString();
string stdmin = row.Cells["STDMIN"].Value.ToString();
string stdmax_sign = row.Cells["STDMAX_SIGN"].Value.ToString();
string stdmax = row.Cells["STDMAX"].Value.ToString();
if (e.Cell.Value.ToString() != "")
{
if (stdmin != "")
{
row.Cells["ADDSTD_MIN_SIGN"].Value = stdmin_sign;
double addStdMin = Convert.ToDouble(stdmin) * Convert.ToDouble(e.Cell.Value) / 100;
row.Cells["ADDSTD_MIN"].Value = Math.Round(addStdMin, 0);
}
if (stdmax != "")
{
row.Cells["ADDSTD_MAX_SIGN"].Value = stdmax_sign;
double addStdMax = Convert.ToDouble(stdmax) * Convert.ToDouble(e.Cell.Value) / 100;
row.Cells["ADDSTD_MAX"].Value = Math.Round(addStdMax, 0); ;
}
}
}
//标准下限符号改变时
else if (e.Cell.Column.Key.Equals("STDMIN_SIGN"))
{
UltraGridRow row = ultraGrid1.ActiveRow;
string percent = row.Cells["ADDPERCENT"].Value.ToString();
if (percent != "")
{
row.Cells["ADDSTD_MIN_SIGN"].Value = e.Cell.Value.ToString();
}
if (ugr.Cells["STD_CHOOSE"].Value.ToString() != "")
{
ugr.Cells["STDMIN_SIGN2"].Value = e.Cell.Value;
}
if (e.Cell.Value.ToString() == "=")
{
e.Cell.Row.Cells["STDMIN"].EditorComponent = ultraTextEditor2;
}
else
{
e.Cell.Row.Cells["STDMIN"].EditorComponent = null;
}
}
//标准下限值改变时
else if (e.Cell.Column.Key.Equals("STDMIN"))
{
UltraGridRow row = ultraGrid1.ActiveRow;
string percent = row.Cells["ADDPERCENT"].Value.ToString();
if (percent != "" && e.Cell.Value.ToString() != "" && StringUtil.IsNumber(e.Cell.Value.ToString()))
{
double addStdMin = Convert.ToDouble(e.Cell.Value.ToString()) * Convert.ToDouble(percent) / 100;
row.Cells["ADDSTD_MIN"].Value = Math.Round(addStdMin, 0);
}
}
//标准上限符号改变时
else if (e.Cell.Column.Key.Equals("STDMAX_SIGN"))
{
UltraGridRow row = ultraGrid1.ActiveRow;
string percent = row.Cells["ADDPERCENT"].Value.ToString();
if (percent != "")
{
row.Cells["ADDSTD_MAX_SIGN"].Value = e.Cell.Value.ToString();
}
if (ugr.Cells["STD_CHOOSE"].Value.ToString() != "")
{
ugr.Cells["STDMAX_SIGN2"].Value = e.Cell.Value;
}
}
//标准上限值改变时
else if (e.Cell.Column.Key.Equals("STDMAX"))
{
UltraGridRow row = ultraGrid1.ActiveRow;
string percent = row.Cells["ADDPERCENT"].Value.ToString();
if (percent != "" && e.Cell.Value.ToString() != "" && StringUtil.IsNumber(e.Cell.Value.ToString()))
{
double addStdMax = Convert.ToDouble(e.Cell.Value.ToString()) * Convert.ToDouble(percent) / 100;
row.Cells["ADDSTD_MAX"].Value = Math.Round(addStdMax, 0);
}
}
//附加标准条件为空时
else if (e.Cell.Column.Key.Equals("ADDCONDITION"))
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (e.Cell.Value.ToString() == " ")
{
row.Cells["ADDSTDCON_CODE"].Value = "";
row.Cells["ADDSTD_MIN_SIGN"].Value = "";
row.Cells["ADDSTD_MIN"].Value = "";
row.Cells["ADDSTD_MAX_SIGN"].Value = "";
row.Cells["ADDSTD_MAX"].Value = "";
row.Cells["ADDPERCENT"].Value = "";
}
}
//取大/小值为空时
else if (e.Cell.Column.Key.Equals("STD_CHOOSE"))
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (e.Cell.Value.ToString() == "")
{
row.Cells["STDMIN_SIGN2"].Value = "";
row.Cells["STDMIN2"].Value = "";
row.Cells["STDMAX_SIGN2"].Value = "";
row.Cells["STDMAX2"].Value = "";
}
else
{
row.Cells["STDMIN_SIGN2"].Value = row.Cells["STDMIN_SIGN"].Value;
row.Cells["STDMAX_SIGN2"].Value = row.Cells["STDMAX_SIGN"].Value;
}
}
else if (e.Cell.Column.Key.Equals("CHC")) //选择
{
if (Convert.ToBoolean(e.Cell.Value))
{
//isSelect += 1;
for (int i = 0; i < e.Cell.Row.Cells.Count; i++)
{
e.Cell.Row.Cells[i].Activation = Activation.AllowEdit;
}
if (e.Cell.Row.HasParent())
{
if (e.Cell.Row.Cells["STDMIN_SIGN"].Value.ToString() == "=")
{
e.Cell.Row.Cells["STDMIN"].EditorComponent = ultraTextEditor2;
}
if (e.Cell.Row.Cells["PHY_TYPE"].Value.ToString().ToUpper() == "TRUE")
{
e.Cell.Row.Cells["PHY_FORMULA"].Activation = Activation.AllowEdit;
}
else
{
e.Cell.Row.Cells["PHY_FORMULA"].Activation = Activation.ActivateOnly;
}
}
else
{
e.Cell.Row.Cells["PSC_DESC"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
e.Cell.Row.Cells["PSC_DESC"].Activation = Activation.ActivateOnly;
}
}
else
{
//isSelect -= 1;
for (int i = 0; i < e.Cell.Row.Cells.Count; i++)
{
if (!e.Cell.Row.Cells[i].Column.Key.Equals("CHC"))
e.Cell.Row.Cells[i].Activation = Activation.ActivateOnly;
}
}
}
else if (e.Cell.Column.Key.Equals("PHY_TYPE"))
{
if (e.Cell.Row.Cells["CHC"].Value.ToString().ToUpper() == "TRUE")
{
if (e.Cell.Row.Cells["PHY_TYPE"].Value.ToString().ToUpper() == "TRUE")
{
e.Cell.Row.Cells["PHY_FORMULA"].Activation = Activation.AllowEdit;
}
else
{
e.Cell.Row.Cells["PHY_FORMULA"].Activation = Activation.ActivateOnly;
}
}
}
else if (e.Cell.Column.Key.Equals("GRADECODE"))
{
e.Cell.Row.Cells["GRADENAME"].Value = e.Cell.Text;
}
else if (e.Cell.Column.Key.Equals("STEELCODE"))
{
e.Cell.Row.Cells["STEELNAME"].Value = e.Cell.Text;
}
ultraGrid1.UpdateData();
SavePic(e);
}
private DataRow GetComMscByPk(string msc)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getComMscByPk",
new object[] { msc }, ob);
return dt.Rows[0];
}
///
/// 弹出扣型选择界面
///
///
///
private void ultraGrid1_ClickCellButton(object sender, CellEventArgs e)
{
if (e.Cell.Column.Key.Equals("MODEL_DESC") && Convert.ToBoolean(ultraGrid1.DisplayLayout.ActiveRow.Cells["CHC"].Value))
{
UltraGridRow row = this.ultraGrid1.DisplayLayout.ActiveRow;
FrmModel frms = new FrmModel();
frms.FrmOb = this.ob;
frms.Desc = row.Cells["MODEL_DESC"].Value.ToString();
frms.ShowDialog();
row.Cells["MODEL_CODE"].Value = frms.Code;
row.Cells["MODEL_DESC"].Value = frms.Desc;
}
if (e.Cell.Column.Key.Equals("CHKNK"))
{
_frmMaterialStd = new FrmMaterialStandard();
_frmMaterialStd.PopupLoad("5", ob);
_frmMaterialStd.UltraPanel1.Visible = false;
_frmMaterialStd.ultraToolbarsManager1.Visible = true;
_frmMaterialStd.Msc = msc;
_frmMaterialStd.StrPic = ultraGrid1.ActiveRow.GetValue("PIC");
_frmMaterialStd.CodeJg = "";
_frmMaterialStd.DoQuery2();
_frmMaterialStd.EditGrid();
if (_frmMaterialStd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
DataRow CurRow, NewRow;
for (int i = 0; i < _frmMaterialStd.dataTable1.Rows.Count; i++)
{
CurRow = _frmMaterialStd.dataTable1.Rows[i];
NewRow = dataTable1.NewRow();
if (!_frmMaterialStd.Ids.Contains(CurRow["PIC"].ToString2()))
{
continue;
}
//赋值序号
CurRow["IS_PRODUCT_CHECK"] = "False";
for (int j = 0; j < _frmMaterialStd.dataTable1.Columns.Count; j++)
{
try
{
if (dataTable1.Columns.Contains(_frmMaterialStd.dataTable1.Columns[j].ColumnName))
{
if (_frmMaterialStd.dataTable1.Columns[j].ColumnName == "PIC")
{
NewRow[_frmMaterialStd.dataTable1.Columns[j].ColumnName] = ultraGrid1.ActiveRow.GetValue("PIC");
}
else
{
NewRow[_frmMaterialStd.dataTable1.Columns[j].ColumnName] = CurRow[j];
}
}
}
catch { }
}
dataTable1.Rows.Add(NewRow);
}
ultraGrid1.UpdateData();
}
}
if (e.Cell.Column.Key.Equals("UnboundColumn1") && e.Cell.Row.ChildBands[0].Rows.Count > 0)
{
int k = 0;
foreach (UltraGridRow child in e.Cell.Row.ChildBands[0].Rows)
{
if (child.Cells["VALIDFLAGNAME"].Value.ToString() == "")
{
k += 1;
}
}
if (k != 0)
{
MessageUtil.ShowWarning("子表存在未保存的记录,请先保存!");
return;
}
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] {
new DataColumn("PIC"),
new DataColumn("PHY_CODE_MIN"),
new DataColumn("PHY_NAME_MIN"),
new DataColumn("STD_CODE"),
new DataColumn("STD_NAME"),
new DataColumn("STEELCODE"),
new DataColumn("STEELNAME"),
new DataColumn("PRODUCCODE"),
new DataColumn("PRODUCNAME"),
new DataColumn("USE_DESC"),
new DataColumn("ITEM_CODE_F"),
new DataColumn("ITEM_NAME_F"),
new DataColumn("ITEM_CODE_C"),
new DataColumn("ITEM_NAME_C"),
new DataColumn("ITEM_CODE_W"),
new DataColumn("ITEM_NAME_W"),
new DataColumn("PSC"),
new DataColumn("DIMATER"),
new DataColumn("HEIGHT")});
string steelCode = "";
string steelName = "";
string producCode = "";
string producName = "";
string useDesc = "";
string stdCode = "";
string stdName = "";
if (msc != "")
{
DataRow comMsc = GetComMscByPk(msc);
steelCode = comMsc["STEELCODE"].ToString();
steelName = comMsc["STEELNAME"].ToString();
producCode = comMsc["PRODUCCODE"].ToString();
producName = comMsc["PRODUCNAME"].ToString();
useDesc = comMsc["USE_DESC"].ToString();
stdCode = comMsc["STD_CODE"].ToString();
stdName = comMsc["STD_NAME"].ToString();
}
string pic = e.Cell.Row.Cells["PIC"].Value.ToString();
for (int i = 0; i < e.Cell.Row.ChildBands[0].Rows.Count; i++)
{
if (e.Cell.Row.ChildBands[0].Rows[i].Cells["ISCHECK"].Value.ToString() == "False") continue;
string phyCodeMin = e.Cell.Row.ChildBands[0].Rows[i].Cells["PHY_CODE_MIN"].Value.ToString();
string phyNameMin = e.Cell.Row.ChildBands[0].Rows[i].Cells["PHY_NAME_MIN"].Value.ToString();
string itemCodeF = e.Cell.Row.ChildBands[0].Rows[i].Cells["ITEM_CODE_F"].Value.ToString();
string itemNameF = e.Cell.Row.ChildBands[0].Rows[i].Cells["ITEM_NAME_F"].Value.ToString();
string itemCodeC = e.Cell.Row.ChildBands[0].Rows[i].Cells["ITEM_CODE_S"].Value.ToString();
string itemNameC = e.Cell.Row.ChildBands[0].Rows[i].Cells["ITEM_NAME_S"].Value.ToString();
string itemCodeW = e.Cell.Row.ChildBands[0].Rows[i].Cells["ITEM_CODE_W"].Value.ToString();
string itemNameW = e.Cell.Row.ChildBands[0].Rows[i].Cells["ITEM_NAME_W"].Value.ToString();
DataRow[] dr = dt.Select("PIC='" + pic + "' AND PHY_NAME_MIN='"
+ phyNameMin + "'");
dr = dt.Rows.Cast().Where(a => (a["PIC"].ToString() == pic &&
a["PHY_NAME_MIN"].ToString() == phyNameMin
&& a["ITEM_CODE_F"].ToString() == itemCodeF
&& a["ITEM_CODE_C"].ToString() == itemCodeC
&& a["ITEM_CODE_W"].ToString() == itemCodeW)).ToArray();
if (dr.Length <= 0)
{
Object[] obj ={pic, phyCodeMin, phyNameMin, stdCode, stdName, steelCode, steelName,
producCode, producName, useDesc, itemCodeF, itemNameF,
itemCodeC, itemNameC, itemCodeW, itemNameW};
dt.Rows.Add(obj);
}
}
FrmPhySample fps = new FrmPhySample(ob, dt, ordLnPk, this.CustomInfo);
fps.ShowDialog();
}
if (e.Cell.Column.Key.Equals("COUNT") && e.Cell.Row.ChildBands[0].Rows.Count > 0)
{
FrmMaterialView fmv = new FrmMaterialView();
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] {
new DataColumn("PHY_NAME_MAX"),
new DataColumn("PHY_NAME_MIN"),
new DataColumn("PHY_NAME"),
new DataColumn("ITEM_NAME_F"),
new DataColumn("ITEM_NAME_W"),
new DataColumn("ITEM_NAME_S"),
});
for (int i = 0; i < e.Cell.Row.ChildBands[0].Rows.Count; i++)
{
string phynamemax = e.Cell.Row.ChildBands[0].Rows[i].Cells["PHY_NAME_MAX"].Value.ToString();
string phynamemin = e.Cell.Row.ChildBands[0].Rows[i].Cells["PHY_NAME_MIN"].Value.ToString();
string phyname = e.Cell.Row.ChildBands[0].Rows[i].Cells["PHY_NAME"].Value.ToString();
string itemnamef = e.Cell.Row.ChildBands[0].Rows[i].Cells["ITEM_NAME_F"].Value.ToString();
string itemnamew = e.Cell.Row.ChildBands[0].Rows[i].Cells["ITEM_NAME_W"].Value.ToString();
string itemnames = e.Cell.Row.ChildBands[0].Rows[i].Cells["ITEM_NAME_S"].Value.ToString();
DataRow[] dr = dt.Select("PHY_NAME_MAX='" + phynamemax + "' AND PHY_NAME_MIN='" + phynamemin + "' AND PHY_NAME='"
+ phyname + "' AND ITEM_NAME_F='" + itemnamef + "' AND ITEM_NAME_W='" + itemnamew + "' AND ITEM_NAME_S='" + itemnames + "'");
if (dr.Length <= 0)
{
Object[] obj = { phynamemax, phynamemin, phyname, itemnamef, itemnamew, itemnames };
dt.Rows.Add(obj);
}
}
fmv.Dt = dt;
fmv.ShowDialog();
}
}
private DataRow GetComPscByPk(string psc)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.getBasePscByPk",
new object[] { psc }, ob);
if (dt.Rows.Count > 0)
{
return dt.Rows[0];
}
else
{
return null;
}
}
///
/// 查询
///
private void DoQuery()
{
string style = "1";
if (this.CustomInfo == "2")
{
style = "2";
}
if (this.CustomInfo == "3")
{
style = "3";
}
string pic_code = "";
if (ultraCheckEditor1.Checked)
pic_code = ultraTextEditor1.Text.Trim();
else if (_strPic != "")
{
pic_code = _strPic;
}
else
{
pic_code = "%";
}
ArrayList listParent = new ArrayList();
string codeJg2 = codeJg == "DefaultValue" ? "" : codeJg;
listParent.AddRange(validflag, stdCode, pic_code, msc, codeJg);
//主表查询
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComMaterial.getComMaterial",
new Object[] { listParent, style, steelCodes, producCode, steelcodeNk, processCode, modelCode }, this.ob);
dataTable1.Clear();
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable2, true);
//从表查询
ArrayList list = new ArrayList();
list.Add(validflag);
list.Add(stdCode);
list.Add(msc);
list.Add(codeJg);
DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.ComMaterial.getComMaterialC",
new Object[] { CustomInfo, list, steelCodes, producCode, steelcodeNk, processCode, modelCode }, this.ob);
dt1 = QcmBaseCommon.FilterTable(dt, dt1, "PIC");
GridHelper.CopyDataToDatatable(ref dt1, ref this.dataTable1, true);
//不同颜色区分是否有效数据
QcmBaseCommon.SetGridColor(ultraGrid1, "VALIDFLAGNAME", "无效");
setGrid();
_pic = 1;
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
foreach (UltraGridRow row in ultraGrid1.Rows)
{
row.Cells["CHKNK"].Value = "选择";
}
//isSelect = 0;
//if (validflag == "0")
//{
// foreach (UltraGridRow row in ultraGrid1.Rows)
// {
// if (row.ChildBands[0].Rows.Count > 0)
// {
// foreach (UltraGridRow crow in row.ChildBands[0].Rows)
// {
// if (!crow.Cells["VALIDFLAGNAME"].Value.ToString().Equals("有效"))
// row.ExpandAll();
// }
// }
// }
//}
ultraGrid1.UpdateData();
dataTable1.AcceptChanges();
dataTable2.AcceptChanges();
//清空复制数据
//_copyedRows.Clear();
}
public void QueryPurchaseAgreement(string stdCodeNk)
{
dataTable1.Clear();
dataTable2.Clear();
DataTable dtP = ServerHelper.GetData("com.steering.pss.qcm.ComMaterial.getPurchaseAgreementPic",
new object[] { stdCodeNk }, ob);
GridHelper.CopyDataToDatatable(ref dtP, ref this.dataTable2, true);
DataTable dtC = ServerHelper.GetData("com.steering.pss.qcm.ComMaterial.getPurchaseAgreementPhy",
new object[] { stdCodeNk }, ob);
GridHelper.CopyDataToDatatable(ref dtC, ref this.dataTable1, true);
QcmBaseCommon.SetGridColor(ultraGrid1, "VALIDFLAGNAME", "无效");
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
}
private int GetGridSelectCount()
{
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.Cells["CHC"].Value.ToString() == "True")
{
return 1;
}
UltraGridRow[] rows = GridHelper.GetRowsWithKey(row.ChildBands[0],
new string[] { "CHC" }, new string[] { "True" });
if (rows.Length > 0)
{
return 1;
}
}
return 0;
}
private DataRow GetComBaseStdRowByPk(string stdCode)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getComBaseStdByPk",
new object[] { stdCode }, ob);
return dt.Rows[0];
}
///
/// 保存
///
private void DoSave()
{
ultraGrid1.UpdateData();
if (GetGridSelectCount() == 0)
{
MessageBox.Show("请选择记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
string acceptBid = "1";
DataRow comBaseStdRow = null;
if (CustomInfo == "2")
{
comBaseStdRow = GetComBaseStdRowByPk(stdCode);
/*if (comBaseStdRow["ACCEPT_BID"].ToString() == "1" && comBaseStdRow["UNIT_CODE"].ToString() != UserInfo.GetDeptid()
&& UserInfo.GetUserID() != "admin" && UserInfo.GetUserID() != "longjinhua")
{
MessageUtil.ShowWarning("该记录只有[" + comBaseStdRow["UNIT_DESC"].ToString() + "]的成员才能操作!");
return;
}*/
acceptBid = comBaseStdRow["ACCEPT_BID"].ToString();
}
ArrayList addBase = new ArrayList();
ArrayList addChild = new ArrayList();
ArrayList updateBase = new ArrayList();
ArrayList updateChild = new ArrayList();
for (int i = 0; i < ultraGrid1.Rows.Count; i++)
{
//主表操作
DataRow rowPic = null;
UltraGridRow ugr = ultraGrid1.Rows[i];
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
if (ugr.GetValue("VALIDFLAGNAME") != "")
{
rowPic = GetMscPicByPic(ugr.GetValue("PIC"));
}
if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowPic != null)
{
string[] units = ClsBaseInfo.GetUnitByUserName(rowPic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
/* if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
{
MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
ugr.Activate();
return;
}*/
}
ArrayList list = GetBaseData(ugr);
if (list == null)
{
MessageBox.Show("记录[" + (i + 1) + "]:" + errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//根据是否存在创建人来判断是否增加或者修改
if (ugr.Cells["VALIDFLAGNAME"].Text.Equals(""))
addBase.Add(list);
else
{
if (rowPic != null && (rowPic["VALIDFLAG"].ToString() == "2" || rowPic["VALIDFLAG"].ToString() == "3"))
{
MessageUtil.ShowWarning("提交审核或已审核记录无法修改!");
return;
}
list.Add(ugr.Cells["PIC"].Text.Trim().ToString());
updateBase.Add(list);
}
}
//从表操作
if (ugr.HasChild())
{
for (int j = 0; j < ugr.ChildBands[0].Rows.Count; j++)
{
UltraGridRow ugrC = ugr.ChildBands[0].Rows[j];
if (Convert.ToBoolean(ugrC.Cells["CHC"].Value))
{
if (ugr.GetValue("VALIDFLAGNAME") != "")
{
rowPic = GetMscPicByPic(ugr.GetValue("PIC"));
}
if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowPic != null)
{
string[] units = ClsBaseInfo.GetUnitByUserName(rowPic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
/*if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
{
MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
ugrC.Activate();
return;
}*/
}
if (ugr.Cells["VALIDFLAGNAME"].Value.ToString() != "" || (ugr.Cells["VALIDFLAGNAME"].Value.ToString() == "" &&
ugr.Cells["CHC"].Value.ToString().ToUpper() == "TRUE"))
{
ArrayList list = GetChildData(ugrC, rowPic);
if (list == null)
{
MessageBox.Show("记录[" + (j + 1) + "] " + errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
//根据是否存在创建人来判断是否增加或者修改
if (ugrC.Cells["VALIDFLAGNAME"].Text.Equals(""))
addChild.Add(list);
else
{
list.Add(ugrC.Cells["PIC"].Text.Trim().ToString());
list.Add(ugrC.Cells["INDEX_SEQ"].Text.Trim().ToString());
updateChild.Add(list);
}
}
else
{
if (ugr.Cells["VALIDFLAGNAME"].Value.ToString() == "" && ugr.Cells["CHC"].Value.ToString().ToUpper() == "FALSE")
{
MessageBox.Show("新增的从记录必须依赖于主记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
}
}
}
}
int count = 0;
if (addBase.Count > 0 || updateBase.Count > 0 || addChild.Count > 0 || updateChild.Count > 0)
{
if (MessageBox.Show("是否保存选择记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
count = ServerHelper.SetData("com.steering.pss.qcm.ComMaterial.saveComMaterial",
new Object[] { addBase, updateBase, addChild, updateChild, acceptBid }, this.ob);
if (count > 0)
{
MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
DoQuery();
ExpandRow();
PicCode.Clear();
}
}
}
///
/// 保存模板
///
private void SaveTemplate()
{
ArrayList addChild = new ArrayList();
for (int i = 0; i < ultraGrid1.Rows.Count; i++)
{
//主表操作
DataRow rowPic = null;
UltraGridRow ugr = ultraGrid1.Rows[i];
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
if (ugr.HasChild())
{
for (int j = 0; j < ugr.ChildBands[0].Rows.Count; j++)
{
UltraGridRow ugrC = ugr.ChildBands[0].Rows[j];
if (Convert.ToBoolean(ugrC.Cells["CHC"].Value))
{
rowPic = GetMscPicByPic(ugr.GetValue("PIC"));
ArrayList list = GetChildData(ugrC, rowPic);
if (list == null)
{
MessageBox.Show("记录[" + (j + 1) + "] " + errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
addChild.Add(list);
}
}
}
}
}
if (addChild.Count > 0)
{
int count = ServerHelper.SetData("com.steering.pss.qcm.ComMaterial.SaveTemplate",
new Object[] { addChild }, this.ob);
if (count > 0)
{
MessageBox.Show("保存模板成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
///
/// 删除模板
///
private void DeleteTemplate()
{
List ids = null;
ultraGrid1.UpdateData();
UltraGridRow ugr = ultraGrid1.Rows[0];
//从表操作
if (ugr.HasChild())
{
ids = ugr.ChildBands[0].Rows.Where(a => Convert.ToBoolean(a.GetValue("CHC"))).Select(p => p.GetValue("ID")).ToList();
}
if (ids.Count > 0)
{
int count = ServerHelper.SetData("com.steering.pss.qcm.ComMaterial.DeleteTemplate",
new Object[] { ids }, this.ob);
if (count > 0)
{
DoQuery1();
MessageBox.Show("删除模板成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
///
/// 删除或者恢复
///
///
private void DoDeleteOrResume(Boolean flag)
{
ultraGrid1.UpdateData();
if (GetGridSelectCount() == 0)
{
MessageBox.Show("请选择记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
DataRow comBaseStdRow = null;
if (CustomInfo == "2")
{
comBaseStdRow = GetComBaseStdRowByPk(stdCode);
/*if (comBaseStdRow["ACCEPT_BID"].ToString() == "1" && comBaseStdRow["UNIT_CODE"].ToString() != UserInfo.GetDeptid()
&& UserInfo.GetUserID() != "admin")
{
MessageUtil.ShowWarning("该记录只有[" + comBaseStdRow["UNIT_DESC"].ToString() + "]的成员才能" + (flag ? "作废" : "恢复") + "!");
return;
}*/
}
ArrayList listBase = new ArrayList();
ArrayList listChild = new ArrayList();
for (int i = 0; i < ultraGrid1.Rows.Count; i++)
{
UltraGridRow ugr = ultraGrid1.Rows[i];
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
if (CheckAuthority(ugr) == false)
{
MessageUtil.ShowWarning(errMessage);
return;
}
DataRow rowPic = null;
if (ugr.GetValue("VALIDFLAGNAME") != "")
{
rowPic = GetMscPicByPic(ugr.GetValue("PIC"));
}
if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowPic != null)
{
string[] units = ClsBaseInfo.GetUnitByUserName(rowPic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
/*if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
{
MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
ugr.Activate();
return;
}*/
}
if (CheckDataParent(ugr, rowPic, flag) == false)
{
return;
}
ArrayList list = GeBasetUpdateData(ugr, flag);
if (list == null)
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
listBase.Add(list);
}
if (ugr.HasChild())
{
for (int j = 0; j < ugr.ChildBands[0].Rows.Count; j++)
{
UltraGridRow ugrC = ugr.ChildBands[0].Rows[j];
if (Convert.ToBoolean(ugrC.Cells["CHC"].Value))
{
DataRow rowPic = null;
if (ugr.GetValue("VALIDFLAGNAME") != "")
{
rowPic = GetMscPicByPic(ugr.GetValue("PIC"));
}
if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowPic != null)
{
string[] units = ClsBaseInfo.GetUnitByUserName(rowPic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
/* if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
{
MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
ugrC.Activate();
return;
}*/
}
if (CheckAuthority(ugrC) == false)
{
MessageUtil.ShowWarning(errMessage);
return;
}
if ((ugr.Cells["VALIDFLAGNAME"].Value.ToString() != "无效" && ugr.Cells["VALIDFLAGNAME"].Value.ToString() != "")
|| (ugr.Cells["VALIDFLAGNAME"].Value.ToString() == "无效" && ugr.Cells["CHC"].Value.ToString().ToUpper() == "TRUE"))
{
ArrayList list = GeBasetUpdateData(ugrC, flag);
if (list == null)
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (flag)
{
if (ugrC.ParentRow.Cells["VALIDFLAGNAME"].Value.ToString() != "录入状态"
&& ugr.Cells["VALIDFLAGNAME"].Value.ToString() != ""
&& ugrC.ParentRow.Cells["VALIDFLAGNAME"].Value.ToString() != "无效")
{
MessageUtil.ShowWarning("主记录为提交审核或已审核状态时,无法作废");
return;
}
}
list.Add(ugrC.Cells["INDEX_SEQ"].Value.ToString());
listChild.Add(list);
}
else
{
if (ugr.Cells["CHC"].Value.ToString().ToUpper() == "FALSE")
{
if (flag == false)
{
MessageBox.Show("主记录无效,不能单独恢复从记录,\n请先恢复主记录或主从记录一起恢复", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
}
}
}
}
}
int count = 0;
if (listBase.Count > 0 || listChild.Count > 0)
{
if (flag)
{
if (MessageBox.Show("作废选择记录,您是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
}
else
{
if (MessageBox.Show("恢复选择记录,您是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
}
count = ServerHelper.SetData("com.steering.pss.qcm.ComMaterial.deleteComMaterial", new Object[] { listBase, listChild, flag }, this.ob);
if (count > 0)
{
if (flag)
MessageBox.Show("作废成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
else
MessageBox.Show("恢复成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
DoQuery();
ExpandRow();
PicCode.Clear();
}
}
}
///
/// 删除或者恢复项
///
///
///
private ArrayList GeBasetUpdateData(UltraGridRow ugr, Boolean flag)
{
ArrayList list = new ArrayList();
string validFlag = "0";
string userName = UserInfo.GetUserName();
if (flag && ugr.Cells["VALIDFLAGNAME"].Text.Equals("无效"))
{
errMessage = "无效记录不能作废";
return null;
}
if (flag && (ugr.Cells["VALIDFLAGNAME"].Text.Equals("提交审核") || ugr.Cells["VALIDFLAGNAME"].Text.Equals("已审核")))
{
errMessage = "提交审核或已审核记录不能作废";
return null;
}
if (!flag)
{
if (ugr.Cells["VALIDFLAGNAME"].Text.Equals("有效"))
{
errMessage = "有效记录不能恢复";
return null;
}
validFlag = "1";
userName = "";
}
string pic = ugr.Cells["PIC"].Text.Trim().ToString();
list.Add(validFlag);
list.Add(userName);
list.Add(pic);
return list;
}
///
/// 操作数据 保存从表
///
///
///
private ArrayList GetChildData(UltraGridRow ugr, DataRow rowPic)
{
if (CheckAuthority(ugr) == false) return null;
if (rowPic != null && (rowPic["VALIDFLAG"].ToString() == "2" || rowPic["VALIDFLAG"].ToString() == "3"))
{
errMessage = "主记录为提交审核或已审核状态时,无法修改";
return null;
}
ArrayList list = new ArrayList();
string pic = ugr.Cells["PIC"].Text.Trim().ToString();
string index_seq = ugr.Cells["INDEX_SEQ"].Text.Trim().ToString();
if (pic.Equals("") || index_seq.Equals(""))
{
errMessage = "理化标准索引号与序号不能为空";
return null;
}
string phy_code_max = ugr.Cells["PHY_CODE_MAX"].Text.Trim().ToString();
string phy_name_max = ugr.Cells["PHY_NAME_MAX"].Text.Trim().ToString();
if (phy_name_max.Equals(""))
{
errMessage = "请选择检验项目";
ugr.SetCellActive("PHY_NAME_MAX");
return null;
}
string phy_code_min = ugr.Cells["PHY_CODE_MIN"].Text.Trim().ToString();
string phy_name_min = ugr.Cells["PHY_NAME_MIN"].Text.Trim().ToString();
if (phy_name_min.Equals(""))
{
errMessage = "请选择试样组";
ugr.SetCellActive("PHY_NAME_MIN");
return null;
}
string phy_code = ugr.Cells["PHY_CODE"].Text.Trim().ToString();
string phy_name = ugr.Cells["PHY_NAME"].Text.Trim().ToString();
if (phy_name.Equals(""))
{
errMessage = "请选择检验项";
ugr.SetCellActive("PHY_NAME");
return null;
}
string item_code_f = ugr.Cells["ITEM_CODE_F"].Value.ToString();
string item_name_f = ugr.Cells["ITEM_NAME_F"].Value.ToString();
string item_code_w = ugr.Cells["ITEM_CODE_W"].Value.ToString();
string item_name_w = ugr.Cells["ITEM_NAME_W"].Value.ToString();
string item_code_s = ugr.Cells["ITEM_CODE_S"].Value.ToString();
string item_name_s = ugr.Cells["ITEM_NAME_S"].Value.ToString();
string ischeck = ugr.Cells["ISCHECK"].Text.Trim().ToString();
if (Convert.ToBoolean(ischeck))
ischeck = "1";
else
ischeck = "0";
string isjuge = ugr.Cells["ISJUDGE"].Text;
if (Convert.ToBoolean(isjuge))
isjuge = "1";
else
isjuge = "0";
string isquote = ugr.Cells["ISQUOTE"].Text;
if (Convert.ToBoolean(isquote))
isquote = "1";
else
isquote = "0";
string isProductCheck = ugr.GetValue("IS_PRODUCT_CHECK");
if (isProductCheck != "" && Convert.ToBoolean(isProductCheck))
{
isProductCheck = "1";
}
else
{
isProductCheck = "0";
}
string whole_backlog = ugr.Cells["PHY_TYPE"].Text.Trim().ToString();
if (Convert.ToBoolean(whole_backlog))
whole_backlog = "1";
else
whole_backlog = "0";
string phy_formula = ugr.Cells["PHY_FORMULA"].Text.Trim().ToString();
//if (ugr.Cells["RESULT_COUNT"].Value.ToString() == "")
//{
// errMessage = "请输入报出结果条数";
// return null;
//}
string resultcount = ugr.Cells["RESULT_COUNT"].Value.ToString().Trim();
string stdmin_sign = ugr.Cells["STDMIN_SIGN"].Text.Trim();
string stdmin = ugr.Cells["STDMIN"].Value.ToString();
string stdmax_sign = ugr.Cells["STDMAX_SIGN"].Text.Trim();
string stdmax = ugr.Cells["STDMAX"].Value.ToString();
if (stdmin_sign == "=" && (stdmax_sign != "" || stdmax != ""))
{
errMessage = "标准范围下限符号为'=',不能存在上限";
return null;
}
if (ugr.Cells["ISJUDGE"].Value.ToString() == "True")
{
if (stdmin_sign.Equals("") && stdmax_sign.Equals(""))
{
errMessage = "请选择标准范围(默认)下限符号或者上限符号";
return null;
}
}
if (!stdmin_sign.Equals("") && stdmin.Equals(""))
{
errMessage = "请输入标准范围(默认)下限值";
return null;
}
if (stdmin_sign.Equals("") && !stdmin.Equals(""))
{
errMessage = "请选择标准范围(默认)下限符号";
return null;
}
if (!stdmax_sign.Equals("") && stdmax.Equals(""))
{
errMessage = "请输入标准范围(默认)上限值";
return null;
}
if (stdmax_sign.Equals("") && !stdmax.Equals(""))
{
errMessage = "已有标准范围(默认)上限值,请选择标准范围(默认)上限符号";
return null;
}
if (whole_backlog.Equals("0"))
{
if (!stdmin.Equals("") && !StringUtil.IsNumber(stdmin) && !stdmin_sign.Equals("="))
{
errMessage = "标准范围(默认)下限值由数字组成";
return null;
}
if (!stdmax.Equals("") && !StringUtil.IsNumber(stdmax))
{
errMessage = "标准范围(默认)上限值由数字组成";
return null;
}
}
else
{
if (!stdmin.Equals("") && !stdmin_sign.Equals("=") && !QcmBaseCommon.CheckCompositeFormula(stdmin))
{
errMessage = "标准范围(默认)下限值,输入公式不合法,请重新输入";
return null;
}
if (!stdmax.Equals("") && !QcmBaseCommon.CheckCompositeFormula(stdmax))
{
errMessage = "标准范围(默认)上限值,输入公式不合法,请重新输入";
return null;
}
}
if (!stdmin.Equals(""))
{
if (stdmin.StartsWith("."))
stdmin = "0" + stdmin;
}
if (!stdmax.Equals(""))
{
if (stdmax.StartsWith("."))
stdmax = "0" + stdmax;
}
if (!stdmin.Equals("") && !stdmax.Equals("")) //&& Convert.ToDouble(stdmin) > Convert.ToDouble(stdmax)
{
int i = QcmBaseInfo.CheckStdData(stdmin_sign, stdmax_sign, stdmin, stdmax);
if (i == 0)
{
errMessage = "输入的数据不完整";
return null;
}
if (i == 1)
{
errMessage = "标准范围(默认)下限值与上限值相等,上下限符号请选择<=和>=";
return null;
}
if (i == 2)
{
errMessage = "标准范围(默认)下限值不能大于上限值";
return null;
}
}
string judge_basis = ugr.Cells["JUDGE_BASIS"].Text.Trim().ToString();
if (judge_basis.Equals(""))
{
errMessage = "判断依据不能为空";
return null;
}
if (judge_basis.Equals("最小值"))
judge_basis = "A";
else if (judge_basis.Equals("最大值"))
judge_basis = "B";
else if (judge_basis.Equals("平均值"))
judge_basis = "C";
else
judge_basis = "D";
string stdmin_sign2 = ugr.Cells["STDMIN_SIGN2"].Value.ToString();
string stdmin2 = ugr.Cells["STDMIN2"].Value.ToString();
string stdmax_sign2 = ugr.Cells["STDMAX_SIGN2"].Value.ToString();
string stdmax2 = ugr.Cells["STDMAX2"].Value.ToString();
string stdchoosecode = ugr.Cells["STD_CHOOSE"].Value.ToString();
string stdchoose = ugr.Cells["STD_CHOOSE"].Text.Trim();
if (stdmin_sign2 == "=" && (stdmax_sign2 != "" || stdmax2 != ""))
{
errMessage = "标准范围(二)下限符号为'=',不能存在上限";
return null;
}
if (stdchoose != "") //取大/小值
{
if (stdmin_sign2.Equals("") && stdmax_sign2.Equals(""))
{
errMessage = "请选择标准范围(二)下限符号或者上限符号";
return null;
}
if (!stdmin_sign2.Equals("") && stdmin2.Equals(""))
{
errMessage = "请输入标准范围(二)下限值";
return null;
}
if (stdmin_sign2.Equals("") && !stdmin2.Equals(""))
{
errMessage = "标准范围(默认)不存在下限符号,则标准范围(二)下限不能存在值!";
ugr.Cells["STDMIN2"].Activate();
return null;
}
if (!stdmax_sign2.Equals("") && stdmax2.Equals(""))
{
errMessage = "请输入标准范围(二)上限值";
return null;
}
if (stdmax_sign2.Equals("") && !stdmax2.Equals(""))
{
errMessage = "标准范围(默认)不存在上限符号,则标准范围(二)上限不能存在值!";
ugr.Cells["STDMAX2"].Activate();
return null;
}
if (whole_backlog.Equals("0"))
{
if (!stdmin2.Equals("") && !StringUtil.IsNumber(stdmin2) && !stdmin_sign2.Equals("="))
{
errMessage = "标准范围(二)下限值由数字组成";
return null;
}
if (!stdmax2.Equals("") && !StringUtil.IsNumber(stdmax2))
{
errMessage = "标准范围(二)上限值由数字组成";
return null;
}
}
else
{
if (!stdmin2.Equals("") && !stdmin_sign2.Equals("=") && !StringUtil.IsNumber(stdmin2) && !QcmBaseCommon.CheckCompositeFormula(stdmin2))
{
errMessage = "标准范围(二)下限值输入公式不合法,请重新输入";
return null;
}
if (!stdmax2.Equals("") && !StringUtil.IsNumber(stdmax2) && !QcmBaseCommon.CheckCompositeFormula(stdmax2))
{
errMessage = "标准范围(二)上限值输入公式不合法,请重新输入";
return null;
}
}
if (!stdmin2.Equals(""))
{
if (stdmin2.StartsWith("."))
stdmin2 = "0" + stdmin2;
}
if (!stdmax2.Equals(""))
{
if (stdmax2.StartsWith("."))
stdmax2 = "0" + stdmax2;
}
if (!stdmin2.Equals("") && !stdmax2.Equals("")) //&& Convert.ToDouble(stdmin2) > Convert.ToDouble(stdmax2)
{
int i = QcmBaseInfo.CheckStdData(stdmin_sign2, stdmax_sign2, stdmin2, stdmax2);
if (i == 0)
{
errMessage = "输入的数据不完整";
return null;
}
if (i == 1)
{
errMessage = "标准范围(二)下限值与上限值相等,上下限符号请选择<=和>=";
return null;
}
if (i == 2)
{
errMessage = "标准范围(二)下限值不能大于上限值";
return null;
}
}
}
string deliverystate = ugr.Cells["DELIVERYSTATE"].Value.ToString();
string model_code = ugr.Cells["MODEL_CODE"].Text.Trim().ToString();
string model_desc = ugr.Cells["MODEL_DESC"].Text.Trim().ToString();
string stdmemo = ugr.Cells["STDMEMO"].Text.Trim().ToString();
string size_code2 = ugr.Cells["SIZE_CODE2"].Text.Trim().ToString();
string size_name2 = ugr.Cells["SIZE_NAME2"].Text.Trim().ToString();
string size_min_sign2 = ugr.Cells["SIZE_MIN_SIGN2"].Text.Trim().ToString();
string size_min2 = ugr.Cells["SIZE_MIN2"].Value.ToString();
string size_max_sign2 = ugr.Cells["SIZE_MAX_SIGN2"].Text.Trim().ToString();
string size_max2 = ugr.Cells["SIZE_MAX2"].Value.ToString();
string size_code = ugr.Cells["SIZE_CODE"].Text.Trim().ToString();
string size_name = ugr.Cells["SIZE_NAME"].Text.Trim().ToString();
string size_min_sign = ugr.Cells["SIZE_MIN_SIGN"].Text.Trim().ToString();
string size_min = ugr.Cells["SIZE_MIN"].Value.ToString();
string size_max_sign = ugr.Cells["SIZE_MAX_SIGN"].Text.Trim().ToString();
string size_max = ugr.Cells["SIZE_MAX"].Value.ToString();
string spec_jg = ugr.Cells["SPEC_JG"].Text.Trim().ToString();
string spec_jg_desc = ugr.Cells["SPEC_JG_DESC"].Text.Trim().ToString();
if (size_min_sign2 == "=" && (size_max_sign2 != "" || size_max2 != ""))
{
errMessage = "限制规格(一)下限符号为'=',不能存在上限";
return null;
}
if (size_min_sign == "=" && (size_max_sign != "" || size_max != ""))
{
errMessage = "限制规格(二)下限符号为'=',不能存在上限";
return null;
}
if (!spec_jg.Equals("") && !spec_jg_desc.Equals("-1"))
{
if (!size_name2.Equals("") || !size_name.Equals(""))
{
errMessage = "接箍描述与限制规格不能同时存在";
return null;
}
}
if (!size_name2.Equals(""))
{
if (size_min_sign2.Equals("") && size_max_sign2.Equals(""))
{
errMessage = "请选择限制规格(一)下限符号或者上限符号";
return null;
}
if (!size_min_sign2.Equals("") && size_min2.Equals(""))
{
errMessage = "存在限制规格(一)下限符号,下限值不能为空";
return null;
}
if (size_min_sign2.Equals("") && !size_min2.Equals(""))
{
errMessage = "存在限制规格(一)下限值,下限符号不能为空";
return null;
}
if (!size_max_sign2.Equals("") && size_max2.Equals(""))
{
errMessage = "存在限制规格(一)上限符号,上限值不能为空";
return null;
}
if (size_max_sign2.Equals("") && !size_max2.Equals(""))
{
errMessage = "存在限制规格(一)上限值,上限符号不能为空";
return null;
}
if (!size_min2.Equals("") && !StringUtil.IsNumber(size_min2) && !size_min_sign2.Equals("="))
{
errMessage = "限制规格(一)下限值由数字组成";
return null;
}
if (!size_max2.Equals("") && !StringUtil.IsNumber(size_max2))
{
errMessage = "限制规格(一)上限值由数字组成";
return null;
}
if (!size_min2.Equals("") && !size_max2.Equals("")) //&& Convert.ToDouble(size_max2) < Convert.ToDouble(size_min2)
{
int i = QcmBaseInfo.CheckStdData(size_min_sign2, size_max_sign2, size_min2, size_max2);
if (i == 0)
{
errMessage = "输入的数据不完整";
return null;
}
if (i == 1)
{
errMessage = "限制规格(一)下限值与上限值相等,上下限符号请选择<=和>=";
return null;
}
if (i == 2)
{
errMessage = "限制规格(一)下限值不能大于上限值";
return null;
}
}
}
else
{
if (size_max_sign2 != "" || size_min_sign2 != "" || size_min2 != "" || size_max2 != "")
{
errMessage = "限制规格(一)描述不存在!";
return null;
}
}
if (!size_min2.Equals(""))
{
if (size_min2.StartsWith("."))
size_min2 = "0" + size_min2;
}
if (!size_max2.Equals(""))
{
if (size_max2.StartsWith("."))
size_max2 = "0" + size_max2;
}
if (!size_name.Equals(""))
{
if (size_min_sign.Equals("") && size_max_sign.Equals(""))
{
errMessage = "限制规格(二)下限符号与上限符号必须存在一项";
return null;
}
if (!size_min_sign.Equals("") && size_min.Equals(""))
{
errMessage = "存在限制规格(二)下限符号,下限值不能为空";
return null;
}
if (size_min_sign.Equals("") && !size_min.Equals(""))
{
errMessage = "存在限制规格(二)下限值,下限符号不能为空";
return null;
}
if (!size_max_sign.Equals("") && size_max.Equals(""))
{
errMessage = "存在限制规格(二)上限符号,上限值不能为空";
return null;
}
if (size_max_sign.Equals("") && !size_max.Equals(""))
{
errMessage = "存在限制规格(二)上限值,上限符号不能为空";
return null;
}
if (!size_max.Equals("") && !StringUtil.IsNumber(size_max))
{
errMessage = "限制规格(二)上限值由数字组成";
return null;
}
if (!size_min.Equals("") && !StringUtil.IsNumber(size_min) && !size_min_sign.Equals("="))
{
errMessage = "限制规格(二)下限值由数字组成";
return null;
}
if (!size_min.Equals("") && !size_max.Equals("")) //&& Convert.ToDouble(size_max) < Convert.ToDouble(size_min)
{
int i = QcmBaseInfo.CheckStdData(size_min_sign, size_max_sign, size_min, size_max);
if (i == 0)
{
errMessage = "输入的数据不完整";
return null;
}
if (i == 1)
{
errMessage = "限制规格(二)下限值与上限值相等,上下限符号请选择<=和>=";
return null;
}
if (i == 2)
{
errMessage = "限制规格(二)下限值不能大于上限值";
return null;
}
}
}
else
{
if (size_max_sign != "" || size_min_sign != "" || size_min != "" || size_max != "")
{
errMessage = "限制规格(二)描述不存在!";
return null;
}
}
if (!size_name2.Equals("") && !size_name.Equals("") && size_name.Equals(size_name2))
{
errMessage = "限制规格(一)与限制规格(二)描述不能相同";
return null;
}
if (!size_max.Equals(""))
{
if (size_max.StartsWith("."))
size_max = "0" + size_max;
}
if (!size_min.Equals(""))
{
if (size_min.StartsWith("."))
size_min = "0" + size_min;
}
// 公式限制条件
string formula = ugr.GetText("FORMULA");
string minF = ugr.GetValue("MIN_F");
string minFSign = ugr.GetValue("MIN_F_SIGN");
string maxF = ugr.GetValue("MAX_F");
string maxFSign = ugr.GetValue("MAX_F_SIGN");
if (formula != "" || minF != "" || minFSign != ""
|| maxF != "" || maxFSign != "")
{
string testFormula = formula.Replace("t", "0.01").Replace("D", "0.01");
string testFormula2 = formula.Replace("t", "10000").Replace("D", "10000");
if (formula == "")
{
errMessage = "请输入公式!";
ugr.SetCellActive("FORMULA");
return null;
}
else if (testFormula.CompileFormula() == null && testFormula2.CompileFormula() == null)
{
errMessage = "输入的公式不合法!";
ugr.SetCellActive("FORMULA");
return null;
}
else if (minF == "" && minFSign != "")
{
errMessage = "请输入公式下限值!";
ugr.SetCellActive("MIN_F");
return null;
}
else if (minF != "" && minFSign == "")
{
errMessage = "请输入公式下限符号!";
ugr.SetCellActive("MIN_F_SIGN");
return null;
}
else if (maxF == "" && maxFSign != "")
{
errMessage = "请输入公式上限值!";
ugr.SetCellActive("MAX_F");
return null;
}
else if (maxF != "" && maxFSign == "")
{
errMessage = "请输入公式上限符号!";
ugr.SetCellActive("MAX_F_SIGN");
return null;
}
else if (formula != "" && minF == "" && minFSign == ""
&& maxF == "" && maxFSign == "")
{
errMessage = "请输入公式下限符号!";
ugr.SetCellActive("MIN_F_SIGN");
return null;
}
}
else if (minF != "" && maxF != "" && decimal.Parse(minF) >= decimal.Parse(maxF))
{
errMessage = "公式下限值不能大于等于公式上限值!";
ugr.SetCellActive("MIN_F");
return null;
}
string addcondition = ugr.Cells["ADDCONDITION"].Text.Trim();
string addstdcon = ugr.Cells["ADDSTDCON_CODE"].Value.ToString();
string addstd_min_sign = ugr.Cells["ADDSTD_MIN_SIGN"].Value.ToString();
string addstd_min = ugr.Cells["ADDSTD_MIN"].Value.ToString();
string addstd_max_sign = ugr.Cells["ADDSTD_MAX_SIGN"].Value.ToString();
string addstd_max = ugr.Cells["ADDSTD_MAX"].Value.ToString();
string addpercent = ugr.Cells["ADDPERCENT"].Value.ToString();
if (addcondition != "") //存在附加标准约束
{
if (addstdcon == "")
{
errMessage = "请选择附加标准项";
return null;
}
if (addstd_min_sign == "=" && (addstd_max_sign != "" || addstd_max != ""))
{
errMessage = "附加标准范围下限符号为'=',不能存在上限";
return null;
}
if (addstd_min_sign.Equals("") && addstd_max_sign.Equals(""))
{
errMessage = "请选择附加标准范围下限符号或者上限符号";
return null;
}
if (!addstd_min_sign.Equals("") && addstd_min.Equals(""))
{
errMessage = "请输入附加标准范围下限值";
return null;
}
if (addstd_min_sign.Equals("") && !addstd_min.Equals(""))
{
errMessage = "请选择附加标准范围下限符号";
return null;
}
if (!addstd_min_sign.Equals("") && addstd_min.Replace("Value", "1").CompileFormula() == null)
{
errMessage = "附加标准范围下限值,只能包含附加标准符号'Value'!";
return null;
}
if (!addstd_max_sign.Equals("") && addstd_max.Equals(""))
{
errMessage = "请输入附加标准范围上限值";
return null;
}
if (!addstd_max_sign.Equals("") && addstd_max.Replace("Value", "1").CompileFormula() == null)
{
errMessage = "附加标准范围上限值,只能包含附加标准符号'Value'!";
return null;
}
if (addstd_max_sign.Equals("") && !addstd_max.Equals(""))
{
errMessage = "已有附加标准范围上限值,请选择附加标准范围上限符号";
return null;
}
//if (!addstd_min.Equals("") && !StringUtil.IsNumber(addstd_min) && !addstd_min_sign.Equals("="))
//{
// errMessage = "附加标准范围下限值由数字组成";
// return null;
//}
//if (!addstd_max.Equals("") && !StringUtil.IsNumber(addstd_max))
//{
// errMessage = "附加标准范围上限值由数字组成";
// return null;
//}
if (!addstd_min.Equals(""))
{
if (addstd_min.StartsWith("."))
addstd_min = "0" + addstd_min;
}
if (!addstd_max.Equals(""))
{
if (addstd_max.StartsWith("."))
addstd_max = "0" + addstd_max;
}
if (!addstd_min.Equals("") && !addstd_max.Equals(""))//&& Convert.ToDouble(addstd_min) > Convert.ToDouble(addstd_max)
{
int i = QcmBaseInfo.CheckStdData(addstd_min_sign, addstd_max_sign, addstd_min, addstd_max);
if (i == 0)
{
errMessage = "输入的数据不完整";
return null;
}
if (i == 1)
{
errMessage = "附加标准范围下限值与上限值相等,上下限符号请选择<=和>=";
return null;
}
if (i == 2)
{
errMessage = "附加标准范围下限值不能大于上限值";
return null;
}
}
if (addcondition == "符合标准时")
addcondition = "1";
else
addcondition = "0";
}
string userName = UserInfo.GetUserName();
list.Add(pic);
list.Add(Convert.ToInt32(index_seq));
list.Add(phy_code_max);
list.Add(phy_name_max);
list.Add(phy_code_min);
list.Add(phy_name_min);
list.Add(phy_code);
list.Add(phy_name);
list.Add(item_code_f);
list.Add(item_name_f);
list.Add(item_code_w);
list.Add(item_name_w);
list.Add(item_code_s);
list.Add(item_name_s);
list.Add(ischeck);
list.Add(isjuge);
list.Add(isquote);
list.Add(whole_backlog);
list.Add(phy_formula);
list.Add(stdmin_sign);
list.Add(stdmin);
list.Add(stdmax_sign);
list.Add(stdmax);
list.Add(judge_basis);
list.Add(deliverystate);
list.Add(model_code);
list.Add(model_desc);
list.Add(stdmemo);
list.Add(size_code2);
list.Add(size_name2);
list.Add(size_min_sign2);
list.Add(size_min2);
list.Add(size_max_sign2);
list.Add(size_max2);
list.Add(size_code);
list.Add(size_name);
list.Add(size_min_sign);
list.Add(size_min);
list.Add(size_max_sign);
list.Add(size_max);
list.Add(spec_jg);
list.Add(spec_jg_desc);
list.Add(userName);
list.Add(resultcount);
list.Add(addcondition);
list.Add(addstdcon);
list.Add(addstd_min_sign);
list.Add(addstd_min);
list.Add(addstd_max_sign);
list.Add(addstd_max);
list.Add(addpercent);
list.Add(stdmin_sign2);
list.Add(stdmin2);
list.Add(stdmax_sign2);
list.Add(stdmax2);
list.Add(stdchoosecode);
list.Add(ugr.Cells["GUID"].Value.ToString());
list.Add((ugr.GetValue("BILLET_SAMPLE") == "True" ? "1" : "0"));
list.Add(ugr.GetValue("GROUP_SEQ"));
list.Add(formula);
list.Add(minF);
list.Add(minFSign);
list.Add(maxF);
list.Add(maxFSign);
list.Add(isProductCheck);
return list;
}
private DataTable GetMscTabByMsc(string msc)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getComMscByMsc",
new object[] { msc }, ob);
return dt;
}
private string GetMscByPic(string pic)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComMaterial.getComPicByPic",
new object[] { pic }, ob);
if (dt.Rows.Count > 0)
{
return dt.Rows[0]["MSC"].ToString();
}
return "";
}
private DataRow GetMscPicByPic(string pic)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComMaterial.getComPicByPic",
new object[] { pic }, ob);
if (dt.Rows.Count == 0)
{
return null;
}
else
{
return dt.Rows[0];
}
}
private bool CheckAuthority(UltraGridRow row)
{
if (CustomInfo == "1")
{
string mscOld;
if (row.GetValue("VALIDFLAGNAME") != "")
{
mscOld = GetMscByPic(row.GetValue("PIC"));
}
else
{
mscOld = row.HasParent() ? row.ParentRow.GetValue("MSC") : row.GetValue("MSC");
}
DataTable dtMsc = GetMscTabByMsc(mscOld);
//if (dtMsc.Rows[0]["UNIT_CODE"].ToString() != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
//{
// errMessage = "该条记录对应的冶金规范是[" + dtMsc.Rows[0]["UNIT_DESC"].ToString() + "]科室维护的,您没有权限!";
// row.Activate();
// return false;
//}
}
return true;
}
///
/// 操作数据 主表保存
///
/// ultraGrid行
///
private ArrayList GetBaseData(UltraGridRow ugr)
{
ArrayList list = new ArrayList();
string pic = ugr.Cells["PIC"].Value.ToString();
string psc = "";
if (ugr.Cells["PSC"].Text != null)
psc = ugr.Cells["PSC"].Text.ToString();
string stdstyle = ugr.Cells["STDSTYLE"].Value.ToString();
if (stdstyle.Equals("内控"))
{
stdstyle = "N";
}
else if (stdstyle.Equals("订货标准"))
stdstyle = "G";
else if (stdstyle.Equals("协议标准"))
stdstyle = "X";
else if (stdstyle.ToUpper().Equals("ALPHA"))
stdstyle = "K";
else
stdstyle = "";
if (stdstyle.Equals(""))
{
errMessage = "标准类型不能为空,请重新选择产品规范码或者内控标准名称";
return null;
}
if (CheckAuthority(ugr) == false) return null;
string msc = ugr.Cells["MSC"].Text;
string std_code_nk = ugr.Cells["STD_CODE_NK"].Value.ToString();
string std_name_nk = ugr.Cells["STD_NAME_NK"].Value.ToString();
string process_code = ugr.Cells["PROCESS_CDOE"].Value.ToString();
string process_desc = ugr.Cells["PROCESS_DESC"].Text.ToString();
string memo = ugr.Cells["MEMO"].Value.ToString();
string userName = UserInfo.GetUserName();
string modelcode = ugr.Cells["MODEL_CODE"].Value.ToString();
string modeldesc = ugr.Cells["MODEL_DESC"].Value.ToString();
string producHead = ugr.GetValue("PRODUC_HEAD");
string batchLoca = ugr.GetValue("BATCH_LOCA");
string steelcodeNk = ugr.GetValue("STEELCODE_NK");
string steelnameNk = ugr.GetValue("STEELNAME_NK");
string modelCodeNk = ugr.GetValue("MODEL_CODE_NK");
string modelDescNk = ugr.GetValue("MODEL_DESC_NK");
string produccode = ugr.GetValue("PRODUCCODE_NK");
string producname = ugr.GetValue("PRODUCNAME_NK");
if (!psc.Equals(""))
{
if (!std_name_nk.Equals("") || !process_desc.Equals(""))
{
errMessage = "存在产品规范码,不能选择内控标准名称和适用工序";
return null;
}
}
if (!std_name_nk.Equals("") || !process_desc.Equals(""))
{
if (!psc.Equals(""))
{
errMessage = "存在内控标准名称或者适用工序,不能选择产品规范码";
return null;
}
}
String steelCode = ugr.Cells["STEELCODE"].Value == null ? "" : ugr.Cells["STEELCODE"].Value.ToString();
String steeeName = ugr.Cells["STEELNAME"].Text;
String gradeCode = ugr.Cells["GRADECODE"].Value == null ? "" : ugr.Cells["GRADECODE"].Value.ToString();
String gradeName = ugr.Cells["GRADENAME"].Text;
string impactId = ugr.Cells["IMPACT_ID"].Value.ToString();
string stretchPlan = ugr.Cells["STRETCH_PLAN"].Value.ToString();
//if (CustomInfo == "2" && gradeCode == "")
//{
// if (ugr.GetValue("CHC") == "True" && ugr.Cells["GRADECODE"].Column.CellActivation == Activation.AllowEdit)
// {
// errMessage = "请选择钢种!";
// return null;
// }
//}
//if (CustomInfo == "2" && produccode == "")
//{
// errMessage = "请选择品名!";
// return null;
//}
list.Add(pic);
list.Add(psc);
list.Add(stdstyle);
list.Add(std_code_nk);
list.Add(std_name_nk);
list.Add(process_code);
list.Add(process_desc);
list.Add(userName);
list.Add(memo);
list.Add(msc);
list.Add(modelcode);
list.Add(modeldesc);
list.Add(producHead);
list.Add(codeJg == "DefaultValue" ? "" : codeJg);
list.Add(steelCode);
list.Add(steeeName);
list.Add(gradeCode);
list.Add(gradeName);
list.Add(batchLoca);
list.Add(steelcodeNk);
list.Add(steelnameNk);
list.Add(modelCodeNk);
list.Add(modelDescNk);
list.Add(produccode);
list.Add(producname);
list.Add(impactId);
list.Add(stretchPlan);
return list;
}
private bool CheckDataParent(UltraGridRow ugr, DataRow rowPic, bool flag)
{
if (!flag)
{
if (ugr.GetValue("CHC") == "True" && ugr.Cells["GRADECODE"].Column.CellActivation == Activation.AllowEdit
&& rowPic != null && rowPic["GRADECODE"].ToString() == "")
{
MessageUtil.ShowWarning("请选择钢种并保存后,再恢复记录!");
return false;
}
}
return true;
}
///
/// 点击PIC列 弹出对应的取样码的关联界面
///
///
///
private void SavePic(CellEventArgs e)
{
if (e.Cell.Row.HasParent())
{
if (e.Cell.Row.Cells["CHC"].Value.ToString().ToUpper() == "TRUE"
&& !PicCode.Contains(e.Cell.Row.Cells["PIC"].Value.ToString()))
{
PicCode.Add(e.Cell.Row.Cells["PIC"].Value.ToString());
}
else if (e.Cell.Row.Cells["CHC"].Value.ToString().ToUpper() != "TRUE"
&& PicCode.Contains(e.Cell.Row.Cells["PIC"].Value.ToString()))
{
PicCode.Remove(e.Cell.Row.Cells["PIC"].Value.ToString()); //取消按钮 则取消保存的理化标准码
}
}
else if (e.Cell.Row.ChildBands[0].Rows.Count > 0)
{
if (e.Cell.Row.Cells["CHC"].Value.ToString().ToUpper() == "TRUE"
&& !PicCode.Contains(e.Cell.Row.Cells["PIC"].Value.ToString()))
{
PicCode.Add(e.Cell.Row.Cells["PIC"].Value.ToString());
}
}
}
private void ExpandRow()
{
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (PicCode.Contains(row.Cells["PIC"].Value.ToString()))
{
row.ExpandAll();
row.Activate();
}
}
}
private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
{
//BandComboToGrid(e,null);
if (isPasting)
{
e.Row.SetValue("CHC", "True");
}
e.Row.Cells["UnboundColumn1"].Value = "维护";
}
private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e)
{
if (ultraCheckEditor1.Checked)
{
ultraTextEditor1.ReadOnly = false;
}
else
{
ultraTextEditor1.ReadOnly = true;
}
}
private void ultraCheckEditor2_CheckedChanged(object sender, EventArgs e)
{
if (ultraCheckEditor2.Checked)
{
validflag = "0";
}
else
{
validflag = "1";
}
}
private void ultraTextEditor2_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
return;
if (ugr.Cells["PHY_NAME"].Text == "")
{
MessageUtil.ShowWarning("请先选择检验项!");
return;
}
FrmComMscPhyStdNote fpn = new FrmComMscPhyStdNote();
fpn.Pic = ugr.Cells["PIC"].Value.ToString();
fpn.Index = ugr.Cells["INDEX_SEQ"].Value.ToString();
fpn.NewOb = this.ob;
fpn.PhyCode = ugr.Cells["PHY_CODE"].Text;
fpn.PhyName = ugr.Cells["PHY_NAME"].Text;
fpn.StdMin = ugr.Cells["STDMIN"].Value.ToString();
fpn.StdGuid = ugr.Cells["GUID"].Value.ToString();
fpn.ShowDialog();
this.NoteIndex = fpn.NoteIndex;
if (NoteIndex != null)
ugr.Cells["STDMIN"].Value = NoteIndex;
ugr.Cells["GUID"].Value = fpn.StdGuid;
}
private void DoQuery1()
{
//主表查询
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComMaterial.getComMaterialTemplate",
new Object[] { StrPic }, this.ob);
dataTable1.Clear();
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable2, true);
//从表查询
DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.ComMaterial.getComMaterialTemplateC",
new Object[] { StrPic, UserInfo.GetUserName() }, this.ob);
dt1 = QcmBaseCommon.FilterTable(dt, dt1, "PIC");
GridHelper.CopyDataToDatatable(ref dt1, ref this.dataTable1, true);
//不同颜色区分是否有效数据
QcmBaseCommon.SetGridColor(ultraGrid1, "VALIDFLAGNAME", "无效");
setGrid();
_pic = 1;
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
ultraGrid1.UpdateData();
dataTable1.AcceptChanges();
dataTable2.AcceptChanges();
}
private void DoQuery2()
{
//主表查询
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComMaterial.getComMaterialNK",
new Object[] { msc }, this.ob);
dataTable1.Clear();
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable2, true);
//从表查询
DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.ComMaterial.getComMaterialNKC",
new Object[] { msc }, this.ob);
dt1 = QcmBaseCommon.FilterTable(dt, dt1, "PIC");
GridHelper.CopyDataToDatatable(ref dt1, ref this.dataTable1, true);
//不同颜色区分是否有效数据
QcmBaseCommon.SetGridColor(ultraGrid1, "VALIDFLAGNAME", "无效");
setGrid();
_pic = 1;
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
ultraGrid1.UpdateData();
dataTable1.AcceptChanges();
dataTable2.AcceptChanges();
}
///
/// 2015/07/15
///
private void InnerChange()
{
//QcmBaseQuery.NitializeGrade(gradeuce, true, this.ob);
//this.Controls.Add(gradeuce);
//gradeuce.Visible = false;
QcmBaseQuery.NitializeSteel(steeluce, true, this.ob);
this.Controls.Add(steeluce);
steeluce.Visible = false;
UltraGridBand ugb = ultraGrid1.DisplayLayout.Bands[0];
QcmBaseQuery.BindColumn(steeluce, "STEELCODE", ugb);
//QcmBaseQuery.BindColumn(gradeuce, "GRADECODE", ugb);
ultraGrid1.DisplayLayout.Bands[1].Columns["UnboundColumn2"].Header.Caption = "内控标准";
ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_DESC"].CellActivation = Activation.ActivateOnly;
ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE_NK"].CellActivation = Activation.ActivateOnly;
ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC"].Hidden = true;
}
private void EditGrid()
{
GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], "CHC");
GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[1], "CHC");
ultraTextEditor3.ButtonsLeft["template"].Visible = false;
ultraTextEditor3.ButtonsRight[0].Visible = false;
}
FrmMaterialStandard _frmMaterialStd = null;
private void ultraTextEditor3_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
if (e.Button.Key == "template")
{
_frmMaterialStd = new FrmMaterialStandard();
_frmMaterialStd.PopupLoad("4", ob);
_frmMaterialStd.UltraPanel1.Visible = false;
_frmMaterialStd.ultraToolbarsManager1.Visible = true;
_frmMaterialStd.Msc = msc;
_frmMaterialStd.StrPic = ultraGrid1.ActiveRow.GetValue("PIC");
_frmMaterialStd.CodeJg = "";
_frmMaterialStd.DoQuery1();
_frmMaterialStd.EditGrid();
if (_frmMaterialStd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
DataRow CurRow, NewRow;
for (int i = 0; i < _frmMaterialStd.dataTable1.Rows.Count; i++)
{
CurRow = _frmMaterialStd.dataTable1.Rows[i];
NewRow = dataTable1.NewRow();
if (!_frmMaterialStd.Ids.Contains(CurRow["ID"].ToString2()))
{
continue;
}
int indexSeq = 0;
DataRow[] dr = dataTable1.Select("PIC='" + ultraGrid1.ActiveRow.GetValue("PIC") + "'", "INDEX_SEQ DESC");
if (dr.Length > 0)
{
indexSeq = Convert.ToInt32(dr[0]["INDEX_SEQ"]);
}
indexSeq += 1;
//赋值序号
CurRow["INDEX_SEQ"] = indexSeq;
CurRow["ID"] = "";
CurRow["IS_PRODUCT_CHECK"] = "False";
for (int j = 0; j < _frmMaterialStd.dataTable1.Columns.Count; j++)
{
try
{
if (dataTable1.Columns.Contains(_frmMaterialStd.dataTable1.Columns[j].ColumnName))
{
NewRow[_frmMaterialStd.dataTable1.Columns[j].ColumnName] = CurRow[j];
}
}
catch { }
}
dataTable1.Rows.Add(NewRow);
}
// GridHelper.CopyDataToDatatable(ref _frmMaterialStd.dataTable1, ref this.dataTable1, true);
ultraGrid1.UpdateData();
}
}
else
{
if (ultraGrid1.ActiveCell.Column.Key == "PROCESS_DESC")
{
string processCodes = ultraGrid1.ActiveRow.GetValue("PROCESS_CDOE");
ChoiceProcessPopup choiceProcessPopup = new ChoiceProcessPopup(processCodes, this.ob);
if (choiceProcessPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getProcessByStdCode",
new object[] { this.stdCode }, ob);
string stdProcessCodes = dt.Rows[0]["PROCESS_CODE"].ToString();
string[] processCodesAry = choiceProcessPopup.ProcessCodes.Split(',');
for (int i = 0; i < processCodesAry.Length; i++)
{
if (!stdProcessCodes.Contains(processCodesAry[i].Trim()))
{
DataTable dtBaseProcess = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getProcessDescByCode",
new object[] { processCodesAry[i].Trim() }, ob);
string processDesc = dtBaseProcess.Rows[0]["PROCESS_DESC"].ToString();
MessageUtil.ShowWarning("该标准下不包含工序" + processDesc + ", 不能选择!");
return;
}
}
ultraGrid1.ActiveRow.SetValue("PROCESS_CDOE", choiceProcessPopup.ProcessCodes);
ultraGrid1.ActiveRow.SetValue("PROCESS_DESC", choiceProcessPopup.ProcessDescs);
}
}
else if (ultraGrid1.ActiveCell.Column.Key == "STEELNAME_NK")
{
FrmRepSteel frmSteel = new FrmRepSteel();
frmSteel.Ob1 = this.ob;
frmSteel.Code = ultraGrid1.ActiveRow.GetValue("STEELCODE_NK");
if (frmSteel.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid1.ActiveRow.SetValue("STEELCODE_NK", frmSteel.Code);
ultraGrid1.ActiveRow.SetValue("STEELNAME_NK", frmSteel.Desc);
}
}
else if (ultraGrid1.ActiveCell.Column.Key == "MODEL_DESC_NK")
{
FrmModel frmModel = new FrmModel();
frmModel.FrmOb = this.ob;
frmModel.Code = ultraGrid1.ActiveRow.GetValue("MODEL_CODE_NK");
frmModel.Desc = ultraGrid1.ActiveCell.Value.ToString();
if (frmModel.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid1.ActiveRow.SetValue("MODEL_CODE_NK", frmModel.Code);
ultraGrid1.ActiveRow.SetValue("MODEL_DESC_NK", frmModel.Desc);
}
}
else if (ultraGrid1.ActiveCell.Column.Key == "PRODUCNAME_NK")
{
PopupProductName popupProductName = new PopupProductName(
ultraGrid1.ActiveRow.GetValue("PRODUCCODE_NK"), this.ob);
if (popupProductName.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid1.ActiveRow.SetValue("PRODUCCODE_NK", popupProductName.ProductCodes);
ultraGrid1.ActiveRow.SetValue("PRODUCNAME_NK", popupProductName.ProductNames);
}
}
else if (ultraGrid1.ActiveCell.Column.Key == "PHY_NAME_MAX")
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.geComBasePhyRStd", null, ob);
dt.Columns["PHY_TYPE"].Caption = "检验大项";
BaseInfoPopup baseInfoPopup = new BaseInfoPopup(dt, "PHY_TYPE", "PHY_CODE");
baseInfoPopup.Text = "检验大项";
baseInfoPopup.LabelTextBox1.Caption = "检验大项";
baseInfoPopup.Shown += new EventHandler((c, d) =>
{
IQueryable rows = baseInfoPopup.UltraGrid1.Rows.AsQueryable().Where(
a => a.GetValue("PHY_CODE") == ultraGrid1.ActiveRow.GetValue("PHY_CODE_MAX"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid1.ActiveRow.SetValue("PHY_NAME_MAX", baseInfoPopup.ChoicedRow.GetValue("PHY_TYPE"));
ultraGrid1.ActiveRow.SetValue("PHY_CODE_MAX", baseInfoPopup.ChoicedRow.GetValue("PHY_CODE"));
ultraGrid1.ActiveRow.SetValue("PHY_NAME_MIN", "");
ultraGrid1.ActiveRow.SetValue("PHY_CODE_MIN", "");
ultraGrid1.ActiveRow.SetValue("PHY_NAME", "");
ultraGrid1.ActiveRow.SetValue("PHY_CODE", "");
ultraGrid1.ActiveRow.SetValue("ITEM_NAME_F", "");
ultraGrid1.ActiveRow.SetValue("ITEM_CODE_F", "");
ultraGrid1.ActiveRow.SetValue("ITEM_NAME_W", "");
ultraGrid1.ActiveRow.SetValue("ITEM_CODE_W", "");
ultraGrid1.ActiveRow.SetValue("ITEM_NAME_S", "");
ultraGrid1.ActiveRow.SetValue("ITEM_CODE_S", "");
}
}
else if (ultraGrid1.ActiveCell.Column.Key == "PHY_NAME_MIN")
{
string phyCodeMax = ultraGrid1.ActiveRow.GetValue("PHY_CODE_MAX");
if (phyCodeMax == "")
{
MessageUtil.ShowWarning("请选检验大项!");
return;
}
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.geComBasePhyC", new object[] { phyCodeMax }, ob);
dt.Columns["PHY_TYPE"].Caption = "试样组";
BaseInfoPopup baseInfoPopup = new BaseInfoPopup(dt, "PHY_TYPE", "PHY_CODE");
baseInfoPopup.Text = "试样组";
baseInfoPopup.LabelTextBox1.Caption = "试样组";
baseInfoPopup.Shown += new EventHandler((c, d) =>
{
IQueryable rows = baseInfoPopup.UltraGrid1.Rows.AsQueryable().Where(
a => a.GetValue("PHY_CODE") == ultraGrid1.ActiveRow.GetValue("PHY_CODE_MIN"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid1.ActiveRow.SetValue("PHY_NAME_MIN", baseInfoPopup.ChoicedRow.GetValue("PHY_TYPE"));
ultraGrid1.ActiveRow.SetValue("PHY_CODE_MIN", baseInfoPopup.ChoicedRow.GetValue("PHY_CODE"));
ultraGrid1.ActiveRow.SetValue("PHY_NAME", "");
ultraGrid1.ActiveRow.SetValue("PHY_CODE", "");
ultraGrid1.ActiveRow.SetValue("ITEM_NAME_F", "");
ultraGrid1.ActiveRow.SetValue("ITEM_CODE_F", "");
ultraGrid1.ActiveRow.SetValue("ITEM_NAME_S", "");
ultraGrid1.ActiveRow.SetValue("ITEM_CODE_S", "");
ultraGrid1.ActiveRow.SetValue("ITEM_NAME_W", "");
ultraGrid1.ActiveRow.SetValue("ITEM_CODE_W", "");
}
}
else if (ultraGrid1.ActiveCell.Column.Key == "PHY_NAME")
{
string phyCodeMax = ultraGrid1.ActiveRow.GetValue("PHY_CODE_MAX");
string phyCodeMin = ultraGrid1.ActiveRow.GetValue("PHY_CODE_MIN");
if (phyCodeMax == "")
{
MessageUtil.ShowWarning("请选择检验大项");
ultraGrid1.ActiveRow.Cells["PHY_NAME_MAX"].Activate();
return;
}
else if (phyCodeMin == "")
{
MessageUtil.ShowWarning("请选择试样组");
ultraGrid1.ActiveRow.Cells["PHY_NAME_MIN"].Activate();
return;
}
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.geComBasePhy", new object[] { phyCodeMax, phyCodeMin }, ob);
dt.Columns["PHY_NAME"].Caption = "检验项";
BaseInfoPopup baseInfoPopup = new BaseInfoPopup(dt, "PHY_NAME", "PHY_CODE");
baseInfoPopup.Text = "检验项";
baseInfoPopup.LabelTextBox1.Caption = "检验项";
baseInfoPopup.Shown += new EventHandler((c, d) =>
{
IQueryable rows = baseInfoPopup.UltraGrid1.Rows.AsQueryable().Where(
a => a.GetValue("PHY_CODE") == ultraGrid1.ActiveRow.GetValue("PHY_CODE"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid1.ActiveRow.SetValue("PHY_NAME", baseInfoPopup.ChoicedRow.GetValue("PHY_NAME"));
ultraGrid1.ActiveRow.SetValue("PHY_CODE", baseInfoPopup.ChoicedRow.GetValue("PHY_CODE"));
ultraGrid1.ActiveRow.SetValue("ITEM_NAME_W", "");
ultraGrid1.ActiveRow.SetValue("ITEM_CODE_W", "");
}
if (baseInfoPopup.ChoicedRow.GetValue("PHY_CODE") == "P0618" || baseInfoPopup.ChoicedRow.GetValue("PHY_CODE") == "P0619")
{
ultraGrid1.ActiveRow.SetValue("STDMIN_SIGN", "=");
ultraGrid1.ActiveRow.SetValue("STDMIN", "否");
}
}
else if (ultraGrid1.ActiveCell.Column.Key == "ITEM_NAME_F")
{
string phyTypeC = ultraGrid1.ActiveRow.GetValue("PHY_CODE_MIN");
if (phyTypeC == "")
{
MessageUtil.ShowWarning("请选择试样组");
ultraGrid1.ActiveRow.Cells["PHY_NAME_MIN"].Activate();
return;
}
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.geComBasePhyRItem",
new object[] { phyTypeC }, ob);
dt.Columns["ITEM_NAME_F"].Caption = "试验方向";
dt.Columns["ITEM_NAME_C"].Caption = "试验尺寸";
if (ultraGrid1.ActiveRow.GetValue("PHY_CODE_MAX") == "R0001")
{
dt.DefaultView.RowFilter = "ITEM_CODE_F IS NOT NULL";
}
if (ultraGrid1.ActiveRow.GetValue("PHY_CODE_MAX") == "R0002")
{
dt.DefaultView.RowFilter = "ITEM_CODE_C IS NOT NULL AND ITEM_CODE_F IS NOT NULL";
}
BaseInfoPopup baseInfoPopup = new BaseInfoPopup(dt, "ITEM_NAME_F", "ITEM_CODE_F", "ITEM_CODE_C");
baseInfoPopup.Text = "试验选择";
baseInfoPopup.LabelTextBox1.Caption = "试验方向";
baseInfoPopup.Shown += new EventHandler((c, d) =>
{
IQueryable rows = baseInfoPopup.UltraGrid1.Rows.AsQueryable().Where(
a => a.GetValue("ITEM_CODE_F") == ultraGrid1.ActiveRow.GetValue("ITEM_CODE_F")
&& a.GetValue("ITEM_CODE_C") == ultraGrid1.ActiveRow.GetValue("ITEM_CODE_S"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid1.ActiveRow.SetValue("ITEM_NAME_F", baseInfoPopup.ChoicedRow.GetValue("ITEM_NAME_F"));
ultraGrid1.ActiveRow.SetValue("ITEM_CODE_F", baseInfoPopup.ChoicedRow.GetValue("ITEM_CODE_F"));
ultraGrid1.ActiveRow.SetValue("ITEM_NAME_S", baseInfoPopup.ChoicedRow.GetValue("ITEM_NAME_C"));
ultraGrid1.ActiveRow.SetValue("ITEM_CODE_S", baseInfoPopup.ChoicedRow.GetValue("ITEM_CODE_C"));
}
}
else if (ultraGrid1.ActiveCell.Column.Key == "ITEM_NAME_W")
{
string phyCode = ultraGrid1.ActiveRow.GetValue("PHY_CODE");
if (phyCode == "")
{
MessageUtil.ShowWarning("请选择检验项");
ultraGrid1.ActiveRow.Cells["PHY_NAME"].Activate();
return;
}
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.geComBasePhyRPos",
new object[] { phyCode }, ob);
dt.Columns["ITEM_NAME_W"].Caption = "试验温度";
if (ultraGrid1.ActiveRow.GetValue("PHY_CODE_MAX") == "R0001")
{
dt.DefaultView.RowFilter = "ITEM_CODE_W IS NOT NULL";
}
BaseInfoPopup baseInfoPopup = new BaseInfoPopup(dt, "ITEM_NAME_W", "ITEM_CODE_W");
baseInfoPopup.Text = "试验选择";
baseInfoPopup.LabelTextBox1.Caption = "试验温度";
baseInfoPopup.Shown += new EventHandler((c, d) =>
{
IQueryable rows = baseInfoPopup.UltraGrid1.Rows.AsQueryable().Where(
a => a.GetValue("ITEM_CODE_W") == ultraGrid1.ActiveRow.GetValue("ITEM_CODE_W"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid1.ActiveRow.SetValue("ITEM_NAME_W", baseInfoPopup.ChoicedRow.GetValue("ITEM_NAME_W"));
ultraGrid1.ActiveRow.SetValue("ITEM_CODE_W", baseInfoPopup.ChoicedRow.GetValue("ITEM_CODE_W"));
}
}
}
}
private void ultraTextEditor4_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
if (ultraGrid1.ActiveCell.Column.Key == "GRADENAME")
{
string gradeCodes = ultraGrid1.ActiveRow.GetValue("GRADENAME");
FrmGradeChoice frmGradeChoice = new FrmGradeChoice(gradeCodes, ob);
if (frmGradeChoice.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid1.ActiveRow.SetValue("GRADECODE", frmGradeChoice.GradeCodes);
ultraGrid1.ActiveRow.SetValue("GRADENAME", frmGradeChoice.GradeNames);
}
}
else if (ultraGrid1.ActiveCell.Column.Key == "IMPACT_ID")
{
ComBaseImpactFrm impactFrm = new ComBaseImpactFrm(ultraGrid1.ActiveCell.Value.ToString(), ob);
if (impactFrm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid1.ActiveCell.Value = impactFrm.Id;
}
}
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key)
{
case "查询":
if (this.CustomInfo.Equals("5"))
{
DoQuery2();
}else {
DoQuery1();
}
break;
case "确认选择":
if (this.CustomInfo.Equals("5"))
{
Choice1();
}
else
{
Choice();
}
break;
case "删除":
DeleteTemplate();
break;
}
}
private DataRow[] rows;
public DataRow[] Rows
{
get { return rows; }
set { rows = value; }
}
List ids;
public List Ids
{
get { return ids; }
set { ids = value; }
}
private void Choice()
{
ultraGrid1.UpdateData();
UltraGridRow ugr = ultraGrid1.Rows[0];
//从表操作
if (ugr.HasChild())
{
Ids = ugr.ChildBands[0].Rows.Where(a => Convert.ToBoolean(a.GetValue("CHC"))).Select(p => p.GetValue("ID")).ToList();
Rows = dataTable1.Select("ID IN ('" + string.Join("','", Ids) + "')");
}
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
private void Choice1()
{
ultraGrid1.UpdateData();
int count = ultraGrid1.Rows.Where(a => Convert.ToBoolean(a.GetValue("CHC"))).Count();
if(count > 1){
MessageUtil.ShowTips("请选择一条数据!");
return;
}
foreach (UltraGridRow ugr in ultraGrid1.Rows.Where(a => Convert.ToBoolean(a.GetValue("CHC"))))
{
//从表操作
if (ugr.HasChild())
{
Ids = ugr.ChildBands[0].Rows.Select(p => p.GetValue("PIC")).ToList();
Rows = dataTable1.Select("PIC IN ('" + string.Join("','", Ids) + "')");
}
}
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in this.ultraGrid1.Selected.Rows)
{
ugr.Cells["CHC"].Value = true;
Activation activation = Activation.ActivateOnly;
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
activation = Activation.AllowEdit;
//isSelect += 1;
}
//else
//isSelect -= 1;
CellsCollection cells = ugr.Cells;
for (int i = 0; i < cells.Count; i++)
{
if (!cells[i].Column.Key.Equals("CHC"))
{
ugr.Cells[i].Activation = activation;
}
}
}
}
}
}