using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CoreFS.CA03;
using CoreFS.CA04;
using CoreFS.CA06;
using Infragistics.Win.UltraWinTree;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Control;
using Infragistics.Win.UltraWinGrid;
using System.Collections;
using Core.Mes.Client.Comm.Format;
using Infragistics.Win.UltraWinEditors;
using Core.Mes.Client.Comm.Tool;
using Infragistics.Win.UltraWinToolbars;
using Infragistics.Win;
using Core.StlMes.Client.Qcm;
using Infragistics.Win.UltraWinToolTip;
//using Core.StlMes.Client.SaleOrder.Object;
namespace Core.StlMes.Client.SaleOrder
{
///
/// 委托
///
///
///
public delegate void FrmOrderSpecialInfoHand(object sender, FrmOrderSpecialInfoEventArgs e);
///
/// 产品技术特殊要求
/// 0
public partial class FrmOrderSpecialInfo : FrmBase
{
///
/// 传入行(合同从数据信息)
///
private DataRow dr;
public DataRow Dr
{
get { return dr; }
set { dr = value; }
}
private DataTable _dtMsc;
public DataTable DtMsc
{
get { return _dtMsc; }
set { _dtMsc = value; }
}
///
/// OB对象
///
private OpeBase _ob = null;
public OpeBase Ob
{
get { return _ob; }
set { _ob = value; }
}
/////
///// 冶金规范码
/////
//private string _msc = "MSC0000001001";
///
/// PSC
///
private string _psc = "";
///
/// 扣型代码
///
private string _model = "";
private string _specCode = "";
public string SpecCode
{
get { return _specCode; }
set { _specCode = value; }
}
private string _specName = "";
public string SpecName
{
get { return _specName; }
set { _specName = value; }
}
private string _specStyle = "";
public string SpecStyle
{
get { return _specStyle; }
set { _specStyle = value; }
}
///
/// 最终客户
///
private string _finalUserCode = "0101010102";
///
/// 最终客户描述
///
private string _finalUserName = "";
///
/// 客户Alpha编码(传入编码,用于过滤)
///
private string _drCustAlphaNo = "";
///
/// 过滤用的MSC
///
private string _fiterMsc = "";
public string FiterMsc
{
get { return _fiterMsc; }
set { _fiterMsc = value; }
}
//客户Alpha编码
private string _custAlphaNo = "";
public string CustAlphaNo
{
get { return _custAlphaNo; }
set { _custAlphaNo = value; }
}
//合同行主键
private string _ordLnPk = "";
//树形数据源。
private DataTable _dtTreeCustAlpha;
///
/// 下拉框
///
private UltraComboEditor[] ultras = new UltraComboEditor[14];
private UltraTextEditor ultraTextEditor2;
///
/// 提示信息
///
private string errMessage = "";
///
/// Alpha代码
///
private string _stdCode = "";
///
/// 用于验证数据的重复
///
private DataTable _mscDt = null;
private DataTable _custDt = null;
private int ultraTextEditor1Height = 0;
private bool isPopup = false;
public bool IsPopup
{
get { return isPopup; }
set { isPopup = value; }
}
public FrmOrderSpecialInfo()
{
InitializeComponent();
ExceptionHelper.RegistException();
ultraTextEditor1Height = ultraTextEditor1.Height;
}
///
/// 事件
///
public event FrmOrderSpecialInfoHand FrmOrderSpecialInfoComfirm;
//触发load事件
public void PopupLoad(OpeBase ob)
{
_ob = ob;
OnLoad(EventArgs.Empty);
}
///
/// Top事件。
///
///
///
public void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
try
{
this.Cursor = Cursors.WaitCursor;
switch (e.Tool.Key)
{
case "查询":
DoQuery("");
break;
case "新增":
DoSave();
break;
case "确认":
DoComfirm();
break;
case "作废":
DoDelete();
break;
case "关闭":
((Form)ultraToolbarsManager1.DockWithinContainer.TopLevelControl).Close();
break;
default:
break;
}
}
finally
{
this.Cursor = Cursors.Default;
}
}
public string strH = ""; //壁厚
public string strD = ""; //外径
double douH = 0;
double douD = 0;
string DHProportion = ""; //径壁比
string HDProportion = ""; //壁径比
///
/// 判断 如“外径”小于 "值" 的表达式是否准确
///
/// 名字
/// 符号
/// 值
///
private bool CheckStr(String strA, String sign, String strB)
{
if (strA.Length == 0 || strB.Length == 0)
{
return true;
}
if (strA.TryParseDouble() == false || strB.TryParseDouble() == false)
{
return true;
}
double a = Convert.ToDouble(strA);
double b = Convert.ToDouble(strB);
if (sign.Equals("="))
{
if (a == b)
{
return true;
}
else
{
return false;
}
}
if (sign.Equals(">"))
{
if (a > b)
{
return true;
}
else
{
return false;
}
}
if (sign.Equals(">="))
{
if (a >= b)
{
return true;
}
else
{
return false;
}
}
if (sign.Equals("<"))
{
if (a < b)
{
return true;
}
else
{
return false;
}
}
if (sign.Equals("<="))
{
if (a <= b)
{
return true;
}
else
{
return false;
}
}
return false;
}
///
/// 过滤成分和理化
///
/// 查询出来的结果表
private void FiltChem(DataTable dtChem)
{
// dataTable1
if (dtChem != null && dtChem.Rows.Count > 0)
{
for (int i = 0; i < dtChem.Rows.Count; i++)
{
DataRow dr = dtChem.Rows[i];
if (dr["SIZE_CODE"].ToString() == "" && dr["SIZE_CODE2"].ToString() == "")
continue;
if (dr["SIZE_NAME2"].ToString().Equals("外径"))
{
if (!CheckStr(strD, dr["SIZE_MIN_SIGN2"].ToString(), dr["SIZE_MIN2"].ToString())
|| !CheckStr(strD, dr["SIZE_MAX_SIGN2"].ToString(), dr["SIZE_MAX2"].ToString()))
{
dtChem.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["SIZE_NAME2"].ToString().Equals("壁厚"))
{
if (!CheckStr(strH, dr["SIZE_MIN_SIGN2"].ToString(), dr["SIZE_MIN2"].ToString())
|| !CheckStr(strH, dr["SIZE_MAX_SIGN2"].ToString(), dr["SIZE_MAX2"].ToString()))
{
dtChem.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["SIZE_NAME2"].ToString().Equals("径壁比"))
{
if (!CheckStr(DHProportion, dr["SIZE_MIN_SIGN2"].ToString(), dr["SIZE_MIN2"].ToString())
|| !CheckStr(DHProportion, dr["SIZE_MAX_SIGN2"].ToString(), dr["SIZE_MAX2"].ToString()))
{
dtChem.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["SIZE_NAME2"].ToString().Equals("壁径比"))
{
if (!CheckStr(HDProportion, dr["SIZE_MIN_SIGN2"].ToString(), dr["SIZE_MIN2"].ToString())
|| !CheckStr(HDProportion, dr["SIZE_MAX_SIGN2"].ToString(), dr["SIZE_MAX2"].ToString()))
{
dtChem.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["SIZE_NAME2"].ToString().Equals("内径"))
{
if (!CheckStr((douD - douH).ToString(), dr["SIZE_MIN_SIGN2"].ToString(), dr["SIZE_MIN2"].ToString())
|| !CheckStr((douD - douH).ToString(), dr["SIZE_MAX_SIGN2"].ToString(), dr["SIZE_MAX2"].ToString()))
{
dtChem.Rows.Remove(dr);
--i;
continue;
}
}
//if (chem.getSizeName2().equals("长度")) {
// if ((!QualityDesignTool.checkStr(lengthMax,
// chem.getSizeMinSign2(), chem.getSizeMin2()))
// || (!QualityDesignTool.checkStr(lengthMax,
// chem.getSizeMaxSign2(), chem.getSizeMax2()))) {
// chems.remove(i);
// --i;
// continue;
// }
//}
//if (chem.getSizeName2().equals("长度")) {
// if ((!QualityDesignTool.checkStr(lengthMin,
// chem.getSizeMinSign2(), chem.getSizeMin2()))
// || (!QualityDesignTool.checkStr(lengthMin,
// chem.getSizeMaxSign2(), chem.getSizeMax2()))) {
// chems.remove(i);
// --i;
// continue;
// }
//}
if (dr["SIZE_NAME"].ToString().Equals("外径"))
{
if (!CheckStr(strD, dr["SIZE_MIN_SIGN"].ToString(), dr["SIZE_MIN"].ToString())
|| !CheckStr(strD, dr["SIZE_MAX_SIGN"].ToString(), dr["SIZE_MAX"].ToString()))
{
dtChem.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["SIZE_NAME"].ToString().Equals("壁厚"))
{
if (!CheckStr(strH, dr["SIZE_MIN_SIGN"].ToString(), dr["SIZE_MIN"].ToString())
|| !CheckStr(strH, dr["SIZE_MAX_SIGN"].ToString(), dr["SIZE_MAX"].ToString()))
{
dtChem.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["SIZE_NAME"].ToString().Equals("径壁比"))
{
if (!CheckStr(DHProportion, dr["SIZE_MIN_SIGN"].ToString(), dr["SIZE_MIN"].ToString())
|| !CheckStr(DHProportion, dr["SIZE_MAX_SIGN"].ToString(), dr["SIZE_MAX"].ToString()))
{
dtChem.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["SIZE_NAME"].ToString().Equals("壁径比"))
{
if (!CheckStr(HDProportion, dr["SIZE_MIN_SIGN"].ToString(), dr["SIZE_MIN"].ToString())
|| !CheckStr(HDProportion, dr["SIZE_MAX_SIGN"].ToString(), dr["SIZE_MAX"].ToString()))
{
dtChem.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["SIZE_NAME"].ToString().Equals("内径"))
{
if (!CheckStr((douD - douH).ToString(), dr["SIZE_MIN_SIGN"].ToString(), dr["SIZE_MIN"].ToString())
|| !CheckStr((douD - douH).ToString(), dr["SIZE_MAX_SIGN"].ToString(), dr["SIZE_MAX"].ToString()))
{
dtChem.Rows.Remove(dr);
--i;
continue;
}
}
}
}
}
///
/// 进一步过滤公差相同的项目
///
/// 查询出来的结果表,先条件过滤再进行
private void FiterSpec(DataTable dtSpec)
{
if (dtSpec != null && dtSpec.Rows.Count > 0)
{
for (int i = 0; i < dtSpec.Rows.Count; i++)
{
DataRow dr = dtSpec.Rows[i];
if (dr["BIAS_CODE_Z"].ToString().Equals("") && dr["BIAS_CODE_C"].ToString().Equals("")
&& dr["BIAS_CODE_S"].ToString().Equals(""))
{
continue;
}
if (dr["BIAS_NAME_Z"].ToString().Equals("外径"))
{
if (!CheckStr(strD, dr["ZMIN_SIGN"].ToString(), dr["ZMIN"].ToString())
|| !CheckStr(strD, dr["ZMAX_SIGN"].ToString(), dr["ZMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_Z"].ToString().Equals("壁厚"))
{
if (!CheckStr(strH, dr["ZMIN_SIGN"].ToString(), dr["ZMIN"].ToString())
|| !CheckStr(strH, dr["ZMAX_SIGN"].ToString(), dr["ZMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_Z"].ToString().Equals("径壁比"))
{
if (!CheckStr(DHProportion, dr["ZMIN_SIGN"].ToString(), dr["ZMIN"].ToString())
|| !CheckStr(DHProportion, dr["ZMAX_SIGN"].ToString(), dr["ZMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_Z"].ToString().Equals("壁径比"))
{
if (!CheckStr(HDProportion, dr["ZMIN_SIGN"].ToString(), dr["ZMIN"].ToString())
|| !CheckStr(HDProportion, dr["ZMAX_SIGN"].ToString(), dr["ZMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_Z"].ToString().Equals("内径"))
{
if (!CheckStr((douD - douH).ToString(), dr["ZMIN_SIGN"].ToString(), dr["ZMIN"].ToString())
|| !CheckStr((douD - douH).ToString(), dr["ZMAX_SIGN"].ToString(), dr["ZMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_C"].ToString().Equals("外径"))
{
if (!CheckStr(strD, dr["CMIN_SIGN"].ToString(), dr["CMIN"].ToString())
|| !CheckStr(strD, dr["CMAX_SIGN"].ToString(), dr["CMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_C"].ToString().Equals("壁厚"))
{
if (!CheckStr(strH, dr["CMIN_SIGN"].ToString(), dr["CMIN"].ToString())
|| !CheckStr(strH, dr["CMAX_SIGN"].ToString(), dr["CMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_C"].ToString().Equals("径壁比"))
{
if (!CheckStr(DHProportion, dr["CMIN_SIGN"].ToString(), dr["CMIN"].ToString())
|| !CheckStr(DHProportion, dr["CMAX_SIGN"].ToString(), dr["CMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_C"].ToString().Equals("壁径比"))
{
if (!CheckStr(HDProportion, dr["CMIN_SIGN"].ToString(), dr["CMIN"].ToString())
|| !CheckStr(HDProportion, dr["CMAX_SIGN"].ToString(), dr["CMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_C"].ToString().Equals("内径"))
{
if (!CheckStr((douD - douH).ToString(), dr["CMIN_SIGN"].ToString(), dr["CMIN"].ToString())
|| !CheckStr((douD - douH).ToString(), dr["CMAX_SIGN"].ToString(), dr["CMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
//if (spec.getBiasNameC().equals("长度"))
//{
// if (!(QualityDesignTool.checkStr(lengthMax, spec.getCminSign(),
// spec.getCmin()))
// || (!QualityDesignTool.checkStr(lengthMax,
// spec.getCmaxSign(), spec.getCmax())))
// {
// specs.remove(i);
// --i;
// continue;
// }
//}
//if (spec.getBiasNameC().equals("长度"))
//{
// if (!(QualityDesignTool.checkStr(lengthMin, spec.getCminSign(),
// spec.getCmin()))
// || (!QualityDesignTool.checkStr(lengthMin,
// spec.getCmaxSign(), spec.getCmax())))
// {
// specs.remove(i);
// --i;
// continue;
// }
//}
if (dr["BIAS_NAME_S"].ToString().Equals("外径"))
{
if (!CheckStr(strD, dr["SMIN_SIGN"].ToString(), dr["SMIN"].ToString())
|| !CheckStr(strD, dr["SMAX_SIGN"].ToString(), dr["SMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_S"].ToString().Equals("壁厚"))
{
if (!CheckStr(strH, dr["SMIN_SIGN"].ToString(), dr["SMIN"].ToString())
|| !CheckStr(strH, dr["SMAX_SIGN"].ToString(), dr["SMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_S"].ToString().Equals("径壁比"))
{
if (!CheckStr(DHProportion, dr["SMIN_SIGN"].ToString(), dr["SMIN"].ToString())
|| !CheckStr(DHProportion, dr["SMAX_SIGN"].ToString(), dr["SMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_S"].ToString().Equals("壁径比"))
{
if (!CheckStr(HDProportion, dr["SMIN_SIGN"].ToString(), dr["SMIN"].ToString())
|| !CheckStr(HDProportion, dr["SMAX_SIGN"].ToString(), dr["SMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
if (dr["BIAS_NAME_S"].ToString().Equals("内径"))
{
if (!CheckStr((douD - douH).ToString(), dr["SMIN_SIGN"].ToString(), dr["SMIN"].ToString())
|| !CheckStr((douD - douH).ToString(), dr["SMAX_SIGN"].ToString(), dr["SMAX"].ToString()))
{
dtSpec.Rows.Remove(dr);
--i;
continue;
}
}
// if (spec.getBiasNameS().equals("长度"))
// {
// if (!(QualityDesignTool.checkStr(lengthMax, spec.getSminSign(),
// spec.getSmin()))
// || (!QualityDesignTool.checkStr(lengthMax,
// spec.getSmaxSign(), spec.getSmax())))
// {
// specs.remove(i);
// --i;
// continue;
// }
// }
// if (spec.getBiasNameS().equals("长度"))
// {
// if (!(QualityDesignTool.checkStr(lengthMin, spec.getSminSign(),
// spec.getSmin()))
// || (!QualityDesignTool.checkStr(lengthMin,
// spec.getSmaxSign(), spec.getSmax())))
// {
// specs.remove(i);
// --i;
// continue;
// }
// }
//}
}
}
}
private void FiterDetection(DataTable dt)
{
if (dt == null) return;
if (strD == "" || strH == "") return;
if (strD.TryParseDecimal() == false || strH.TryParseDecimal() == false) return;
decimal dcmD = decimal.Parse(strD);
decimal dcmH = decimal.Parse(strH);
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
if (dr["MIN_D"].ToString() != "" && dr["MIN_D"].ToString().TryParseDecimal() == true)
{
decimal dcmMinD = decimal.Parse(dr["MIN_D"].ToString());
if (dcmD < dcmMinD)
{
dt.Rows.Remove(dr);
i--;
continue;
}
}
if (dr["MAX_D"].ToString() != "" && dr["MAX_D"].ToString().TryParseDecimal() == true)
{
decimal dcmMaxD = decimal.Parse(dr["MAX_D"].ToString());
if (dcmD > dcmMaxD)
{
dt.Rows.Remove(dr);
i--;
continue;
}
}
if (dr["MIN_H"].ToString() != "" && dr["MIN_H"].ToString().TryParseDecimal() == true)
{
decimal dcmMinH = decimal.Parse(dr["MIN_H"].ToString());
if (dcmH < dcmMinH)
{
dt.Rows.Remove(dr);
i--;
continue;
}
}
if (dr["MAX_H"].ToString() != "" && dr["MAX_H"].ToString().TryParseDecimal() == true)
{
decimal dcmMaxH = decimal.Parse(dr["MAX_H"].ToString());
if (dcmH > dcmMaxH)
{
dt.Rows.Remove(dr);
i--;
continue;
}
}
}
}
private void FiterWater(DataTable dt)
{
if (dt == null) return;
if (strD == "" || strH == "") return;
if (strD.TryParseDecimal() == false || strH.TryParseDecimal() == false) return;
decimal dcmD = decimal.Parse(strD);
decimal dcmH = decimal.Parse(strH);
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
if (dr["MIN_D"].ToString() != "" && dr["MIN_D"].ToString().TryParseDecimal() == true)
{
decimal dcmMinD = decimal.Parse(dr["MIN_D"].ToString());
if (dcmD < dcmMinD)
{
dt.Rows.Remove(dr);
i--;
continue;
}
}
if (dr["MAX_D"].ToString() != "" && dr["MAX_D"].ToString().TryParseDecimal() == true)
{
decimal dcmMaxD = decimal.Parse(dr["MAX_D"].ToString());
if (dcmD > dcmMaxD)
{
dt.Rows.Remove(dr);
i--;
continue;
}
}
if (dr["MIN_H"].ToString() != "" && dr["MIN_H"].ToString().TryParseDecimal() == true)
{
decimal dcmMinH = decimal.Parse(dr["MIN_H"].ToString());
if (dcmH < dcmMinH)
{
dt.Rows.Remove(dr);
i--;
continue;
}
}
if (dr["MAX_H"].ToString() != "" && dr["MAX_H"].ToString().TryParseDecimal() == true)
{
decimal dcmMaxH = decimal.Parse(dr["MAX_H"].ToString());
if (dcmH > dcmMaxH)
{
dt.Rows.Remove(dr);
i--;
continue;
}
}
}
}
///
/// 行复制行
///
/// 原始行
/// 复制的行
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 FiterChemCommon(DataTable dtChem)
{
DataTable tempDt = dtChem.Copy();
tempDt.Clear();
Dictionary map = new Dictionary();
foreach (DataRow dr in dtChem.Rows)
{
DataRow tempDr = tempDt.NewRow();
if (dr["CHEM_TYPE"].ToString().Equals("A"))
{
// 如果不包含这个化学元素代码,则直接放进map
if (!map.ContainsKey(dr["CHEM_CODE"].ToString()))
{
map.Add(dr["CHEM_CODE"].ToString(), dr);
}
else
{
// 如果包含这个化学元素代码,则判断这条记录的限制规格是否存在,如果存在限制规格,则取代map里存在的化学元素代码
if (!dr["SIZE_CODE"].ToString().Equals("") || !dr["SIZE_CODE2"].ToString().Equals(""))
{
map.Remove(dr["CHEM_CODE"].ToString());
map.Add(dr["CHEM_CODE"].ToString(), dr);
}
else
{
continue;
}
}
}
else
{
CopyRowToRow(dr, tempDr);
tempDt.Rows.Add(tempDr);
}
}
foreach (KeyValuePair kvp in map)
{
DataRow tempDr = tempDt.NewRow();
CopyRowToRow(kvp.Value, tempDr);
tempDt.Rows.Add(tempDr);
}
dtChem = tempDt;
}
///
/// 过滤理化项目相同的数据
///
///
private void FiterPhyCommon(DataTable dtPhy)
{
DataTable tempDt = dtPhy.Copy();
tempDt.Clear();
Dictionary map = new Dictionary();
foreach (DataRow dr in dtPhy.Rows)
{
// 理化标准材质检验项代码(大类)、取样码、材质检验项代码、试验方向代码、温度、尺寸代码组成一个主键
String major = dr["PHY_CODE_MAX"].ToString() + dr["PHY_CODE_MIN"].ToString()
+ dr["PHY_CODE"].ToString() + dr["ITEM_CODE_F"].ToString()
+ dr["ITEM_CODE_W"].ToString() + dr["ITEM_CODE_S"].ToString();
if (!map.ContainsKey(major))
{
map.Add(major, dr);
}
else
{
if (!dr["SIZE_CODE2"].ToString().Equals("") || !dr["SIZE_CODE"].ToString().Equals(""))
{
map.Remove(major);
map.Add(major, dr);
}
else
{
continue;
}
}
}
foreach (KeyValuePair kvp in map)
{
DataRow dr = tempDt.NewRow();
CopyRowToRow(kvp.Value, dr);
tempDt.Rows.Add(dr);
}
dtPhy = tempDt;
}
private void FiterSpecCommon(DataTable dtSpec)
{
DataTable tempDt = new DataTable();
tempDt = dtSpec.Copy();
Dictionary map = new Dictionary();
foreach (DataRow dr in dtSpec.Rows)
{
if (!map.ContainsKey(dr["BIAS_CODE"].ToString()))
{
map.Add(dr["BIAS_CODE"].ToString(), dr);
}
else
{
if (!dr["BIAS_CODE_Z"].ToString().Equals("")
|| !dr["BIAS_CODE_C"].ToString().Equals("")
|| !dr["BIAS_CODE_S"].ToString().Equals(""))
{
map.Remove(dr["BIAS_CODE"].ToString());
map.Add(dr["BIAS_CODE"].ToString(), dr);
}
else
{
continue;
}
}
}
foreach (KeyValuePair kvp in map)
{
DataRow tempDr = tempDt.NewRow();
CopyRowToRow(kvp.Value, tempDr);
tempDt.Rows.Add(tempDr);
}
dtSpec = tempDt;
}
private void FrmOrderSpecialInfo_Load(object sender, EventArgs e)
{
try
{
this.Cursor = Cursors.WaitCursor;
CheckDr();
//this._ob = ob;
InitDrop();
InitData();
DoQuery(_custAlphaNo);
if (isPopup)
{
ultraGrid1.DisplayLayout.Override.AllowDelete = Infragistics.Win.DefaultableBoolean.False;
ultraGrid1.DisplayLayout.Override.AllowUpdate = Infragistics.Win.DefaultableBoolean.False;
ultraGrid1.DisplayLayout.Override.AllowAddNew = AllowAddNew.No;
}
}
finally
{
this.Cursor = Cursors.Default;
}
}
private void InitData()
{
CheckCustomer.Enabled = false;
CheckPscDesc.Enabled = false;
CheckProduct.Enabled = false;
CheckMode.Enabled = false;
//TextPscDesc.Enabled = false;
//TextCuster.Enabled = false;
//TextProduct.Enabled = false;
//TextMode.Enabled = false;
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.getSpecBySpecCode",
new object[] { _specCode }, Ob);
strD = dt.Rows[0]["DIMATER"].ToString();
strH = dt.Rows[0]["HEIGHT"].ToString();
_specStyle = dt.Rows[0]["MSC_STYLE"].ToString();
_specName = dt.Rows[0]["SPEC_NAME"].ToString();
//if (_specStyle == "C")
//{
// string specName = dt.Rows[0]["SPEC_NAME"].ToString();
// string[] specs = specName.Split('/', '-');
// if (specs.Length == 2)
// {
// if (specs[0].Contains("x") || specs[0].Contains("X") || specs[0].Contains("×"))
// {
// string[] specs2 = specs[0].Split('x', 'X', '×');
// if (specs2.Length == 2)
// {
// strD = specs2[0];
// strH = specs2[1];
// }
// }
// }
//}
douD = strD.TryParseDouble() ? double.Parse(strD) : 0;
douH = strH.TryParseDouble() ? double.Parse(strH) : 0;
if (douH != 0)
DHProportion = (douD / douH).ToString();
if (douD != 0)
HDProportion = (douH / douD).ToString();
}
///
/// 判断传入的行数据是否符合要要求
///
private void CheckDr()
{
if (dr == null)
{ return; }
if (dr["FINAL_USER"].ToString().Equals(""))
{ return; }
//if (dr["SPEC_CODE"].ToString().Equals(""))
//{ return; }
//_msc = dr["MSC"].ToString();
_psc = dr["PSC"].ToString();
_model = dr["MODEL_CODE"].ToString();
_finalUserCode = dr["FINAL_USER"].ToString();
_finalUserName = dr["FINAL_USER_DESC"].ToString();
if (dr.Table.Columns.Contains("CUST_ALPHA_NO"))
{
_drCustAlphaNo = dr["CUST_ALPHA_NO"].ToString();
}
TextCuster.Text = _finalUserName;
TextPscDesc.Text = dr["PSC_DESC"].ToString();
TextProduct.Text = dr["SPEC_NAME"].ToString();
TextMode.Text = dr["MODEL_DESC"].ToString();
_specCode = dr["SPEC_CODE"].ToString();
if (dr.Table.Columns.Contains("ORD_LN_PK"))
{
_ordLnPk = dr["ORD_LN_PK"].ToString();
}
}
///
/// 通过MSC、最终客户查询
///
public void DoQuery(string custAlphaNo)
{
if (_ob == null)
{
return;
}
ultraTree.Nodes["STANDRADKEY"].Nodes.Clear();
DataTable dtCust = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryAlpha",
new Object[] { _finalUserCode, _drCustAlphaNo, "" }, this._ob);
_dtMsc = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMsc",
new Object[] { _psc }, this._ob);
_dtTreeCustAlpha = dtCust;
CreateTreeAlp(dtCust, _dtMsc, "STANDRADKEY", "CUST_ALPHA_NO", "CUST_ALPHA_NO", "b");
CreateTreeMsc(_dtMsc, "STANDRADKEY", "MSC", "USE_DESC", "a");
ultraTree.ExpandAll();
dataTable1.Rows.Clear();
dataTable2.Rows.Clear();
dataTable3.Rows.Clear();
dataTable4.Rows.Clear();
dataTable5.Rows.Clear();
StdProcessc.Rows.Clear();
if (!custAlphaNo.Equals(""))
{
foreach (UltraTreeNode node in ultraTree.Nodes["STANDRADKEY"].Nodes)
{
if (node.Key.Contains(custAlphaNo))
{
ultraTree.ActiveNode = node;
break;
}
}
}
else
{
if (ultraTree.Nodes["STANDRADKEY"].Nodes.Count > 0)
{
ultraTree.ActiveNode = ultraTree.Nodes["STANDRADKEY"].Nodes[0];
}
}
_mscDt = _dtMsc;
_custDt = dtCust;
}
///
/// 生成树
///
/// DataTable
/// key
/// 显示值
private void CreateTreeMsc(DataTable dt, string key, string hideValue, string showValue, string flag)
{
if (dt == null || dt.Rows.Count == 0)
{
return;
}
UltraTreeNode utn = null;
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["MSC_SEQ"].ToString() == "")
{
continue;
}
string keyStr = dt.Rows[i][hideValue].ToString();
string msc = keyStr.Split(',')[0];
if (_drCustAlphaNo == "")
{
if (_fiterMsc != "")
{
if (_fiterMsc != msc) continue; //过滤msc
}
}
else
{
continue;
}
bool isAdd = false;
foreach (UltraTreeNode node in ultraTree.Nodes[key].Nodes)
{
utn = new UltraTreeNode(keyStr + "," + node.Key, msc + "-" + dt.Rows[i][showValue].ToString());
utn.Tag = flag;
if (dt.Rows[i]["CUST_ALPHA_NO"].ToString().Contains(node.Key))
{
node.Nodes.Add(utn);
isAdd = true;
}
}
if (!isAdd)
{
string memo = "";
if(dt.Rows[i]["MEMO"].ToString() != "")
{
memo = "-" + dt.Rows[i]["MEMO"].ToString();
}
utn = new UltraTreeNode(keyStr, msc + "-" + dt.Rows[i][showValue].ToString() + memo);
utn.Tag = flag;
ultraTree.Nodes[key].Nodes.Add(utn);
}
}
}
///
/// 生成树
///
/// DataTable
/// key
/// 显示值
private void CreateTreeAlp(DataTable dt, DataTable dtMsc, string key, string hideValue, string showValue, string flag)
{
if (dt == null)
{
return;
}
UltraTreeNode utn = null;
DataRow[] drs = dtMsc.Select("MSC_SEQ IS NULL");
if (drs.Length > 0)
{
string msc = drs[0]["MSC"].ToString().Split(',')[0];
if ((_drCustAlphaNo == "" && _fiterMsc == "") || (_drCustAlphaNo == "" && _fiterMsc == msc))
{
utn = new UltraTreeNode(drs[0]["MSC"].ToString(), msc);
utn.Tag = "a";
ultraTree.Nodes[key].Nodes.Add(utn);
}
}
for (int i = 0; i < dt.Rows.Count; i++)
{
string keyStr = dt.Rows[i][hideValue].ToString();
string custAlphaNo = keyStr.Split(',')[0];
if (_drCustAlphaNo == "")
{
if (_fiterMsc != "")
{
continue; //过滤msc
}
}
else
{
if (_drCustAlphaNo != custAlphaNo) continue;
}
utn = new UltraTreeNode(keyStr, dt.Rows[i][showValue].ToString());
//utn.Override.NodeStyle = NodeStyle.OptionButton;
utn.Tag = flag;
ultraTree.Nodes[key].Nodes.Add(utn);
}
}
///
/// 保存
///
private void DoSave()
{
if (_finalUserCode.Equals(""))
{
return;
}
//if (isAdd == false)
//{
// string custAlphaState = GetCustAlphaState(_custAlphaNo).Rows[0]["CUST_ALPHA_STS"].ToString();
// int custAlphaUseCount = GetCustAlphaUseCount(_custAlphaNo, _ordLnPk);
// if (custAlphaState == "S")
// {
// MessageUtil.ShowWarning("该技术要求已评审通过,不能进修改!");
// return;
// }
// else if ((custAlphaState == "W" || custAlphaState == "F") && custAlphaUseCount >= 1)
// {
// MessageUtil.ShowWarning("该技术要求已被其他合同行使用,不能修改!");
// return;
// }
//}
ArrayList allData = new ArrayList();
ArrayList allChemData = new ArrayList();
ArrayList allPhyData = new ArrayList();
ArrayList allSpecData = new ArrayList();
ArrayList allDetectionData = new ArrayList();
ArrayList allWaterData = new ArrayList();
ArrayList allProcessData = new ArrayList();
ArrayList chemData = new ArrayList();
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
SlmCustChemObject com = GetObjectData.GetStdChemObject(ugr);
//com.CustAlphaNo = _custAlphaNo;
if (ugr.GetValue("CHC") == "True" && IsMsc0())
{
if (GetMscChem(ugr) == GetAlphaChem(ugr))
{
MessageUtil.ShowWarning("成分要求:第[" + (ugr.Index + 1).ToString() + "]行记录,客户要求不能与标准要求重复!");
ugr.Activate();
return;
}
}
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
allChemData.Add(JSONFormat.Format(com));
}
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
if (!CheckChem(com, ugr))
{
MessageUtil.ShowWarning(errMessage);
return;
}
chemData.Add(JSONFormat.Format(com));
}
}
ArrayList phyData = new ArrayList();
foreach (UltraGridRow ugr in ultraGrid2.Rows)
{
SlmCustPhyObject com = GetObjectData.GetSlmCustPhyData(ugr);
//com.CustAlphaNo = _custAlphaNo;
if (ugr.GetValue("CHC") == "True" && IsMsc0())
{
if (GetMscPhy(ugr) == GetAlphaPhy(ugr))
{
MessageUtil.ShowWarning("理化要求:第[" + (ugr.Index + 1).ToString() + "]行记录,客户要求不能与标准要求重复!");
ugr.Activate();
return;
}
}
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
allPhyData.Add(JSONFormat.Format(com));
}
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
if (!CheckPhy(com, ugr))
{
MessageUtil.ShowWarning(errMessage);
return;
}
phyData.Add(JSONFormat.Format(com));
}
}
ArrayList specData = new ArrayList();
foreach (UltraGridRow ugr in ultraGrid3.Rows)
{
SlmCustSpecObject com = GetObjectData.GetSlmCustSpecData(ugr);
//com.CustAlphaNo = _custAlphaNo;
if (ugr.GetValue("CHC") == "True" && IsMsc0())
{
if (GetMscSpec(ugr) == GetAlphaSpec(ugr))
{
MessageUtil.ShowWarning("公差要求:第[" + (ugr.Index + 1).ToString() + "]行记录,客户要求不能与标准要求重复!");
ugr.Activate();
return;
}
}
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
allSpecData.Add(JSONFormat.Format(com));
}
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
if (!CheckSpec(com, ugr))
{
MessageUtil.ShowWarning(errMessage);
return;
}
specData.Add(JSONFormat.Format(com));
}
}
ArrayList deteData = new ArrayList();
foreach (UltraGridRow ugr in ultraGrid4.Rows)
{
SlmCustDetectionObject com = GetObjectData.GetSlmCustDetectionData(ugr);
//com.CustAlphaNo = _custAlphaNo;
if (ugr.GetValue("CHC") == "True" && IsMsc0())
{
if (GetMscDetection(ugr) == GetAlphaDetection(ugr))
{
MessageUtil.ShowWarning("探伤要求:第[" + (ugr.Index + 1).ToString() + "]行记录,客户要求不能与标准要求重复!");
ugr.Activate();
return;
}
}
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
allDetectionData.Add(JSONFormat.Format(com));
}
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
if (!CheckDete(com, ugr))
{
MessageUtil.ShowWarning(errMessage);
return;
}
deteData.Add(JSONFormat.Format(com));
}
}
ArrayList waterData = new ArrayList();
foreach (UltraGridRow ugr in ultraGrid5.Rows)
{
SlmCustWaterObject com = GetObjectData.GetSlmCustWaterData(ugr);
//com.CustAlphaNo = _custAlphaNo;
if (ugr.GetValue("CHC") == "True" && IsMsc0())
{
if (GetMscWater(ugr) == GetAlphaWater(ugr))
{
MessageUtil.ShowWarning("水压要求:第[" + (ugr.Index + 1).ToString() + "]行记录,客户要求不能与标准要求重复!");
ugr.Activate();
return;
}
}
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
allWaterData.Add(JSONFormat.Format(com));
}
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
if (!CheckWater(com, ugr))
{
MessageUtil.ShowWarning(errMessage);
return;
}
waterData.Add(JSONFormat.Format(com));
}
}
ArrayList proCessData = new ArrayList();
foreach (UltraGridRow ugr in ultraGrid6.Rows)
{
SlmCustAlphaProObject com = GetObjectData.GetSlmCustAlphaProData(ugr);
//com.CustAlphaNo = _custAlphaNo;
if (ugr.GetValue("CHC") == "True" && IsMsc0())
{
if (GetMscProcess(ugr) == GetAlphaProcess(ugr))
{
MessageUtil.ShowWarning("加工要求:第[" + (ugr.Index + 1).ToString() + "]行记录,客户要求不能与标准要求重复!");
ugr.Activate();
return;
}
}
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
allProcessData.Add(JSONFormat.Format(com));
}
if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
if (!CheckAlphaPro(com, ugr))
{
MessageUtil.ShowWarning(errMessage);
return;
}
proCessData.Add(JSONFormat.Format(com));
}
}
DataTable dtModelStyle = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.getModelStyle",
new object[] { dr["MODEL_CODE"].ToString() }, _ob);
if (dtModelStyle != null && dtModelStyle.Rows[0]["MODEL_STYLE"].ToString() == "405107")
{
bool existPdm = false; //是否存在平端面
if (StdProcessc.Rows.Count == 0)
{
MessageUtil.ShowWarning("合同行扣型类型为平端面,请维护加工要求,工序点选择平端面!");
ultraTabProcess.Tabs["6"].Active = true;
ultraTabProcess.Tabs["6"].Selected = true;
return;
}
foreach (DataRow drPro in StdProcessc.Rows)
{
if (drPro["STATION_CODE"].ToString() == "70220")
{
existPdm = true;
}
}
if (!existPdm)
{
MessageUtil.ShowWarning("合同行扣型类型为平端面,加工要求中的工序点必须选择平端面!");
ultraTabProcess.Tabs["6"].Active = true;
ultraTabProcess.Tabs["6"].Selected = true;
return;
}
}
ArrayList standData = new ArrayList();
standData.Add(chemData);
standData.Add(phyData);
standData.Add(specData);
standData.Add(deteData);
standData.Add(waterData);
standData.Add(proCessData);
allData.Add(allChemData);
allData.Add(allPhyData);
allData.Add(allSpecData);
allData.Add(allDetectionData);
allData.Add(allWaterData);
allData.Add(allProcessData);
object[] results = IsExistSameData(allData, _finalUserCode, _psc);
string cic = results[2].ToString();
string pic = results[3].ToString();
string sic = results[4].ToString();
string dic = results[5].ToString();
string wic = results[6].ToString();
string gic = results[7].ToString();
ArrayList insrtChemData = (ArrayList)results[8];
ArrayList insrtPhyData = (ArrayList)results[9];
ArrayList insrtSpecData = (ArrayList)results[10];
ArrayList insrtDetectionData = (ArrayList)results[11];
ArrayList insrtWaterData = (ArrayList)results[12];
ArrayList insrtProcessData = (ArrayList)results[13];
int flag = int.Parse(results[14].ToString());
int insrtCnt = insrtChemData.Count + insrtPhyData.Count + insrtSpecData.Count + insrtDetectionData.Count
+ insrtWaterData.Count + insrtProcessData.Count;
if (results[0].ToString() == "True" && insrtCnt == 0 && flag == 3)
{
MessageUtil.ShowWarning("[" + results[1].ToString() + "]下已存在相同的一套技术要求!");
foreach (UltraTreeNode node in ultraTree.Nodes["STANDRADKEY"].Nodes)
{
if (node.Key.Split(',')[0] == results[1].ToString())
{
dataTable1.AcceptChanges();
dataTable2.AcceptChanges();
dataTable3.AcceptChanges();
dataTable4.AcceptChanges();
dataTable5.AcceptChanges();
StdProcessc.AcceptChanges();
ultraTree.ActiveNode = node;
break;
}
}
return;
}
if (chemData.Count > 0 || phyData.Count > 0 || specData.Count > 0 || deteData.Count > 0 || waterData.Count > 0 || proCessData.Count > 0)
{
if (MessageBox.Show("是否保存记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
ArrayList strList = new ArrayList();
strList.Add(_finalUserCode);
strList.Add(_finalUserName);
strList.Add(UserInfo.GetUserName());
strList.Add(_custAlphaNo);
string custAlphaNo = ServerHelper.SetDataReturnObj("com.steering.pss.sale.order.CoreOrderSpecialInfo.saveSpecialInfo",
new Object[] { strList, standData}, this._ob).ToString();
MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
DoQuery(custAlphaNo);
}
else
{
MessageUtil.ShowWarning("请选择一条要求,然后再进行操作!");
}
}
private bool IsMsc0()
{
return ultraTree.ActiveNode.Tag != null && ultraTree.ActiveNode.Tag.ToString() == "a"
&& ultraTree.ActiveNode.Key.Split(',')[0].Substring(10, 3) == "000";
}
private string GetMscChem(UltraGridRow row)
{
string str = row.GetValue("CHEM_CODE") + row.GetValue("CHEM_FORMULA") + row.GetValue("STDMIN_SIGN")
+ row.GetValue("STDMIN") + row.GetValue("STDMAX_SIGN") + row.GetValue("STDMAX");
return str;
}
private string GetAlphaChem(UltraGridRow row)
{
string str = row.GetValue("CHEM_CODE") + row.GetValue("CHEM_FORMULA") + row.GetValue("STDMIN_SIGN1")
+ row.GetValue("STDMIN1") + row.GetValue("STDMAX_SIGN1") + row.GetValue("STDMAX1");
return str;
}
private string GetMscPhy(UltraGridRow row)
{
string str = row.GetValue("PHY_CODE_MAX") + row.GetValue("PHY_CODE_MIN") + row.GetValue("PHY_CODE")
+ row.GetValue("ITEM_CODE_F") + row.GetValue("ITEM_CODE_W") + row.GetValue("ITEM_CODE_S")
+ row.GetValue("STDMIN_SIGN") + row.GetValue("STDMIN") + row.GetValue("STDMAX_SIGN")
+ row.GetValue("STDMAX");
return str;
}
private string GetAlphaPhy(UltraGridRow row)
{
string str = row.GetValue("PHY_CODE_MAX") + row.GetValue("PHY_CODE_MIN") + row.GetValue("PHY_CODE")
+ row.GetValue("ITEM_CODE_F") + row.GetValue("ITEM_CODE_W") + row.GetValue("ITEM_CODE_S")
+ row.GetValue("STDMIN_SIGN1") + row.GetValue("STDMIN1") + row.GetValue("STDMAX_SIGN1")
+ row.GetValue("STDMAX1");
return str;
}
private string GetMscSpec(UltraGridRow row)
{
string str = row.GetValue("BIAS_CODE") + row.GetValue("STD_MIN_VAL") + row.GetValue("STD_MAX_VAL")
+ row.GetValue("STD_MIN_PERCENT") + row.GetValue("STD_MAX_PERCENT") + row.GetValue("STD_MIN_FORMULA_V")
+ row.GetValue("STD_MAX_FORMULA_V");
return str;
}
private string GetAlphaSpec(UltraGridRow row)
{
string str = row.GetValue("BIAS_CODE") + row.GetValue("STD_MIN_VAL1") + row.GetValue("STD_MAX_VAL1")
+ row.GetValue("STD_MIN_PERCENT1") + row.GetValue("STD_MAX_PERCENT1") + row.GetValue("STD_MIN_FORMULA_V1")
+ row.GetValue("STD_MAX_FORMULA_V1");
return str;
}
private string GetMscDetection(UltraGridRow row)
{
string str = row.GetValue("PHY_CODE") + row.GetValue("POSITION_DESC") + row.GetValue("STD_DESC")
+ row.GetValue("LV_DESC") + row.GetValue("COVERAGE");
return str;
}
private string GetAlphaDetection(UltraGridRow row)
{
string str = row.GetValue("PHY_CODE") + row.GetValue("POSITION_DESC1") + row.GetValue("STD_DESC1")
+ row.GetValue("LV_DESC1") + row.GetValue("COVERAGE1");
return str;
}
private string GetMscWater(UltraGridRow row)
{
string str = row.GetValue("PRESSURE_Y") + row.GetValue("PRESSURE") + row.GetValue("FORMULA")
+ row.GetValue("SAVE_TIME");
return str;
}
private string GetAlphaWater(UltraGridRow row)
{
string str = row.GetValue("PRESSURE_Y1") + row.GetValue("PRESSURE1") + row.GetValue("FORMULA1")
+ row.GetValue("SAVE_TIME1");
return str;
}
private string GetMscProcess(UltraGridRow row)
{
string str = row.GetValue("STATION_DESC") + row.GetValue("PROCESS_DESC") + row.GetValue("VALUE_TEXT")
+ row.GetValue("VALUE_NUM") + row.GetValue("VALUE_MEMO");
return str;
}
private string GetAlphaProcess(UltraGridRow row)
{
string str = row.GetValue("STATION_DESC") + row.GetValue("PROCESS_DESC") + row.GetValue("ALPHA_VALUE_TEXT")
+ row.GetValue("ALPHA_VALUE_NUM") + row.GetValue("ALPHA_VALUE_MEMO");
return str;
}
private object[] IsExistSameData(ArrayList list, string custNo, string psc)
{
ArrayList list2 = new ArrayList();
list2.AddRange(custNo, psc, "", "True", strD, strH, _model, _specStyle, _specCode, _specName);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderSpecialInfo";
ccp.MethodName = "isExistSameData";
ccp.ServerParams = new object[] { list, list2 };
ccp = _ob.ExecuteQuery(ccp, CoreInvokeType.Internal);
return (object[])ccp.ReturnObject;
}
//private object[] IsExistSameChem(ArrayList list, string custNo, string psc)
//{
// CoreClientParam ccp = new CoreClientParam();
// ccp.ServerName = "com.steering.pss.sale.order.CoreOrderSpecialInfo";
// ccp.MethodName = "isExistSameChem";
// ccp.ServerParams = new object[] { list, custNo, psc, _custAlphaNo};
// ccp = _ob.ExecuteQuery(ccp, CoreInvokeType.Internal);
// return (object[])ccp.ReturnObject;
//}
//private object[] IsExistSamePhy(ArrayList list, string custNo, string psc)
//{
// CoreClientParam ccp = new CoreClientParam();
// ccp.ServerName = "com.steering.pss.sale.order.CoreOrderSpecialInfo";
// ccp.MethodName = "isExistSamePhy";
// ccp.ServerParams = new object[] { list, custNo, psc, _custAlphaNo };
// ccp = _ob.ExecuteQuery(ccp, CoreInvokeType.Internal);
// return (object[])ccp.ReturnObject;
//}
//private object[] IsExistSameSpec(ArrayList list, string custNo, string psc)
//{
// CoreClientParam ccp = new CoreClientParam();
// ccp.ServerName = "com.steering.pss.sale.order.CoreOrderSpecialInfo";
// ccp.MethodName = "isExistSameSpec";
// ccp.ServerParams = new object[] { list, custNo, psc, _custAlphaNo };
// ccp = _ob.ExecuteQuery(ccp, CoreInvokeType.Internal);
// return (object[])ccp.ReturnObject;
//}
//private object[] IsExistSameDetection(ArrayList list, string custNo, string psc)
//{
// CoreClientParam ccp = new CoreClientParam();
// ccp.ServerName = "com.steering.pss.sale.order.CoreOrderSpecialInfo";
// ccp.MethodName = "isExistSameDetection";
// ccp.ServerParams = new object[] { list, custNo, psc, _custAlphaNo };
// ccp = _ob.ExecuteQuery(ccp, CoreInvokeType.Internal);
// return (object[])ccp.ReturnObject;
//}
//private object[] IsExistSameWater(ArrayList list, string custNo, string psc)
//{
// CoreClientParam ccp = new CoreClientParam();
// ccp.ServerName = "com.steering.pss.sale.order.CoreOrderSpecialInfo";
// ccp.MethodName = "isExistSameWater";
// ccp.ServerParams = new object[] { list, custNo, psc, _custAlphaNo };
// ccp = _ob.ExecuteQuery(ccp, CoreInvokeType.Internal);
// return (object[])ccp.ReturnObject;
//}
//private object[] IsExistSameProcess(ArrayList list, string custNo, string psc)
//{
// CoreClientParam ccp = new CoreClientParam();
// ccp.ServerName = "com.steering.pss.sale.order.CoreOrderSpecialInfo";
// ccp.MethodName = "isExistSameProcess";
// ccp.ServerParams = new object[] { list, custNo, psc, _custAlphaNo };
// ccp = _ob.ExecuteQuery(ccp, CoreInvokeType.Internal);
// return (object[])ccp.ReturnObject;
//}
///
/// TableName依次:"成分""理化""公差""探伤""水压""附加";
///
private void DoComfirm()
{
ultraGrid1.UpdateData();
ultraGrid2.UpdateData();
ultraGrid3.UpdateData();
ultraGrid4.UpdateData();
ultraGrid5.UpdateData();
ultraGrid6.UpdateData();
if (_custAlphaNo.Equals("") && _stdCode.Equals(""))
{
return;
}
if (ultraTree.ActiveNode.Key == "STANDRADKEY") return;
string[] mscs = ultraTree.ActiveNode.Key.Split(',');
string mscOrAlphaNo = mscs[0];
string type = "";
if (IsExitEdite(out type) == false)
{
if (type == "Cic")
{
MessageUtil.ShowWarning("成分要求有数据修改,请先保存然后再进行确认!");
return;
}
else if (type == "Pic")
{
MessageUtil.ShowWarning("理化要求有数据修改,请先保存然后再进行确认!");
return;
}
else if (type == "Sic")
{
MessageUtil.ShowWarning("公差要求有数据修改,请先保存然后再进行确认!");
return;
}
else if (type == "Dic")
{
MessageUtil.ShowWarning("探伤要求有数据修改,请先保存然后再进行确认!");
return;
}
else if (type == "Wic")
{
MessageUtil.ShowWarning("水压要求有数据修改,请先保存然后再进行确认!");
return;
}
else if (type == "Gic")
{
MessageUtil.ShowWarning("加工要求有数据修改,请先保存然后再进行确认!");
return;
}
}
//if (ultraTree.ActiveNode.Tag.ToString() == "a")
//{
// if (mscOrAlphaNo.Substring(10, 3) != "000" && CheckStdPayItem(mscOrAlphaNo) == false)
// {
// MessageUtil.ShowWarning("该规格、扣型下的MSCn不完整,不能选择!");
// return;
// }
//}
DataTable dtModelStyle = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.getModelStyle",
new object[] { dr["MODEL_CODE"].ToString() }, _ob);
if (dtModelStyle != null && dtModelStyle.Rows[0]["MODEL_STYLE"].ToString() == "405107")
{
bool existPdm = false; //是否存在平端面
if(StdProcessc.Rows.Count == 0)
{
MessageUtil.ShowWarning("合同行扣型类型为平端面,请维护加工要求,工序点选择平端面!");
ultraTabProcess.Tabs["6"].Active = true;
return;
}
foreach (DataRow drPro in StdProcessc.Rows)
{
if (drPro["STATION_CODE"].ToString() == "70220")
{
existPdm = true;
}
}
if (!existPdm)
{
MessageUtil.ShowWarning("合同行扣型类型为平端面,加工要求中的工序点必须选择平端面!");
ultraTabProcess.Tabs["6"].Active = true;
return;
}
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认?") == DialogResult.No)
{
return;
}
FrmOrderSpecialInfoEventArgs e = new FrmOrderSpecialInfoEventArgs();
DataSet ds = new DataSet();
ds.Tables.Add(dataTable1.Copy());
ds.Tables.Add(dataTable2.Copy());
ds.Tables.Add(dataTable3.Copy());
ds.Tables.Add(dataTable4.Copy());
ds.Tables.Add(dataTable5.Copy());
ds.Tables.Add(StdProcessc.Copy());
//在这进行冶金规范与客户冶金规范匹配是否完全相同,如果相同取冶金规范数据。
e.DataSet = ds;
e.Description = GetUltraData();
if (ultraTree.ActiveNode.Tag != null && ultraTree.ActiveNode.Tag.ToString() == "a"
&& mscOrAlphaNo.Substring(10, 3) == "000")
{
e.Description = "";
}
if (ultraTree.ActiveNode.Tag.ToString() == "a")
{
e.Msc = mscOrAlphaNo;
e.CustAlphaNo = "";
}
else
{
e.Msc = ultraTree.ActiveNode.Parent.Nodes[0].Key.Split(',')[0];//MSC0
e.CustAlphaNo = mscOrAlphaNo;
}
FrmOrderSpecialInfoComfirm.Invoke(this, e);
this.DialogResult = DialogResult.OK;
}
private void DoDelete()
{
string[] mscs = ultraTree.ActiveNode.Key.Split(',');
string mscOrAlphaNo = mscs[0];
if (ultraTree.ActiveNode.Key == "STANDRADKEY")
{
MessageUtil.ShowWarning("请选择需要作废的技术特殊要求码!");
return;
}
else
{
if (ultraTree.ActiveNode.Tag.ToString() == "a")
{
MessageUtil.ShowWarning("请选择需要作废的技术特殊要求码!");
return;
}
else
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.getSlmOrdLineCntByAlphaNo",
new object[] { mscOrAlphaNo }, _ob);
if (dt.Rows.Count > 0)
{
MessageUtil.ShowWarning(string.Format("该技术特殊要求已被合同[{0}]-合同行[{1}]引用,不能作废!",
dt.Rows[0]["ORDER_NO"].ToString2(), dt.Rows[0]["ORDER_SEQ"].ToString2()));
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认作废选中的技术特殊要求码?") == DialogResult.No)
{
return;
}
ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.deleteSlmCustAlpha",
new object[] { mscOrAlphaNo, UserInfo.GetUserName() }, _ob);
MessageUtil.ShowWarning("作废成功!");
DoQuery("");
}
}
}
private bool CheckStdPayItem(string msc)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.getStdPayItemCnt",
new object[] { msc }, Ob);
int cicCnt = dt.Select("ITEM = 'CIC'").Length;
int picCnt = dt.Select("ITEM = 'PIC'").Length;
int dicCnt = dt.Select("ITEM = 'DIC'").Length;
int sicCnt = dt.Select("ITEM = 'SIC'").Length;
int wicCnt = dt.Select("ITEM = 'WIC'").Length;
int gicCnt = dt.Select("ITEM = 'GIC'").Length;
if (cicCnt > 0)
{
int grid1Cnt = ultraGrid1.Rows.AsQueryable().Count();
if(grid1Cnt == 0)
{
return false;
}
}
if (picCnt > 0)
{
int grid2Cnt = ultraGrid2.Rows.AsQueryable().Count();
if (grid2Cnt == 0)
{
return false;
}
}
if (sicCnt > 0)
{
int grid3Cnt = ultraGrid3.Rows.AsQueryable().Count();
if (grid3Cnt == 0)
{
return false;
}
}
if (dicCnt > 0)
{
int grid4Cnt = ultraGrid4.Rows.AsQueryable().Count();
if (grid4Cnt == 0)
{
return false;
}
}
if (wicCnt > 0)
{
int grid5Cnt = ultraGrid5.Rows.AsQueryable().Count();
if (grid5Cnt == 0)
{
return false;
}
}
if (gicCnt > 0)
{
int grid6Cnt = ultraGrid6.Rows.AsQueryable().Count();
if (grid6Cnt == 0)
{
return false;
}
}
return true;
}
///
/// 查询成分标准数据
///
/// 冶金规范码
/// 标准代码
///
private void QueryChem(string mscOrAlphaNo, string flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscCic",
new Object[] { mscOrAlphaNo, dr["MODEL_CODE"].ToString(), dr["MODEL_DESC"].ToString(), flag,
strD, strH, _specCode, _specStyle}, this._ob);
if (dt != null && dt.Rows.Count > 0)
{
if (flag == "a")
{
FiltChem(dt);
FiterChemCommon(dt);
}
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
OrderSpecialInfoTool.SetUltraGridNoEdit(ultraGrid1);
}
else
{
dataTable1.Rows.Clear();
}
if (dt.Rows.Count > 0)
{
ultraTabProcess.Tabs["1"].Appearance.BackColor = Color.FromArgb(255, 255, 128);
}
else
{
ultraTabProcess.Tabs["1"].Appearance.BackColor = Color.FromArgb(202, 222, 247);
}
dataTable1.AcceptChanges();
}
///
/// 查询理化标准数据
///
///
///
private void QueryMaterial(string mscOrAlphaNo, string flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscPic",
new Object[] { mscOrAlphaNo, dr["MODEL_CODE"].ToString(), dr["MODEL_DESC"].ToString(), flag,
strD, strH, _specCode, _specStyle}, this._ob);
if (dt != null && dt.Rows.Count > 0)
{
if (flag == "a")
{
FiltChem(dt);
FiterPhyCommon(dt);
}
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable2, true);
OrderSpecialInfoTool.SetUltraGridNoEdit(ultraGrid2);
}
else
{
dataTable2.Rows.Clear();
}
if (dt.Rows.Count > 0)
{
ultraTabProcess.Tabs["2"].Appearance.BackColor = Color.FromArgb(255, 255, 128);
}
else
{
ultraTabProcess.Tabs["2"].Appearance.BackColor = Color.FromArgb(202, 222, 247);
}
dataTable2.AcceptChanges();
}
///
/// 查询公差标准数据
///
///
///
private void QueryTolerances(string mscOrAlphaNo, string flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscSic",
new Object[] { mscOrAlphaNo, dr["MODEL_CODE"].ToString(), dr["MODEL_DESC"].ToString(), flag,
strD, strH}, this._ob);
if (dt != null && dt.Rows.Count > 0)
{
if (flag == "a")
{
FiterSpec(dt);
FiterSpecCommon(dt);
}
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable3, true);
OrderSpecialInfoTool.SetUltraGridNoEdit(ultraGrid3);
}
else
{
dataTable3.Rows.Clear();
}
if (dt.Rows.Count > 0)
{
ultraTabProcess.Tabs["3"].Appearance.BackColor = Color.FromArgb(255, 255, 128);
}
else
{
ultraTabProcess.Tabs["3"].Appearance.BackColor = Color.FromArgb(202, 222, 247);
}
dataTable3.AcceptChanges();
}
///
/// 查询探伤标准数据
///
///
///
private void QueryDetection(string mscOrAlphaNo, string flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscDic",
new Object[] { mscOrAlphaNo, dr["MODEL_CODE"].ToString(), dr["MODEL_DESC"].ToString(), flag,
strD, strH}, this._ob);
if (dt != null && dt.Rows.Count > 0)
{
if (flag == "a")
{
FiterDetection(dt);
}
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable4, true);
OrderSpecialInfoTool.SetUltraGridNoEdit(ultraGrid4);
}
else
{
dataTable4.Rows.Clear();
}
if (dt.Rows.Count > 0)
{
ultraTabProcess.Tabs["4"].Appearance.BackColor = Color.FromArgb(255, 255, 128);
}
else
{
ultraTabProcess.Tabs["4"].Appearance.BackColor = Color.FromArgb(202, 222, 247);
}
dataTable4.AcceptChanges();
}
///
/// 查询水压标准数据
///
///
///
private void QueryWater(string mscOrAlphaNo, string flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscWic",
new Object[] { mscOrAlphaNo, dr["MODEL_CODE"].ToString(), dr["MODEL_DESC"].ToString(), flag,
strD, strH, _specCode, _specStyle}, this._ob);
if (dt != null && dt.Rows.Count > 0)
{
if (flag == "a")
{
FiterWater(dt);
}
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable5, true);
OrderSpecialInfoTool.SetUltraGridNoEdit(ultraGrid5);
}
else
{
dataTable5.Rows.Clear();
}
if (dt.Rows.Count > 0)
{
ultraTabProcess.Tabs["5"].Appearance.BackColor = Color.FromArgb(255, 255, 128);
}
else
{
ultraTabProcess.Tabs["5"].Appearance.BackColor = Color.FromArgb(202, 222, 247);
}
dataTable5.AcceptChanges();
}
///
/// 查询加工要求
///
///
///
private void QueryProcess(string mscOrAlphaNo, string flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscGic",
new Object[] { mscOrAlphaNo, dr["MODEL_CODE"].ToString(), dr["MODEL_DESC"].ToString(), flag }, this._ob);
if (dt != null && dt.Rows.Count > 0)
{
GridHelper.CopyDataToDatatable(ref dt, ref StdProcessc, true);
OrderSpecialInfoTool.SetUltraGridNoEdit(ultraGrid6);
}
else
{
StdProcessc.Rows.Clear();
}
if (dt.Rows.Count > 0)
{
ultraTabProcess.Tabs["6"].Appearance.BackColor = Color.FromArgb(255, 255, 128);
}
else
{
ultraTabProcess.Tabs["6"].Appearance.BackColor = Color.FromArgb(202, 222, 247);
}
StdProcessc.AcceptChanges();
}
/////
///// 查询加工标准数据
/////
/////
/////
//private void QueryProcess(string msc, string psc,string apleNo)
//{
// string modelcode = "";
// int trueInt = 0;
// DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryPSCMSCModel", new Object[] { msc, psc }, this._ob);
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// if (dt.Rows[i][0].ToString().Equals(_model))
// {
// trueInt = 1;
// modelcode = _model;
// break;
// }
// }
// if (trueInt == 0)
// {
// for (int i = 0; i < dt.Rows.Count; i++)
// {
// if (dt.Rows[i][0].ToString().Contains(_model))
// {
// modelcode = _model;
// break;
// }
// }
// modelcode = "/";
// }
// dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryMscPscPro", new Object[] { apleNo, msc, psc, modelcode }, this._ob);
// if (dt != null && dt.Rows.Count > 0)
// {
// GridHelper.CopyDataToDatatable(ref dt, ref this.StdProcessc, true);
// OrderSpecialInfoTool.SetUltraGridNoEdit(ultraGrid6);
// }
// else
// {
// StdProcessc.Rows.Clear();
// }
//}
///
/// 选择树节点事件
///
///
///
private void ultraTree_AfterCheck(object sender, NodeEventArgs e)
{
ultraTree_AfterActivate(sender, e);
}
private void ultraTree_MouseDoubleClick(object sender, MouseEventArgs e)
{
//if (!_custAlphaNo.Equals(""))
//{
// ultraTree.Nodes["STANDRADKEY"].Nodes[_custAlphaNo].CheckedState = CheckState.Unchecked;
// _custAlphaNo = "";
//}
//if (!_stdCode.Equals(""))
//{
// ultraTree.Nodes["STANDRADKEY"].Nodes[_stdCode].CheckedState = CheckState.Unchecked;
// _stdCode = "";
//}
// dataTable1.Rows.Clear();
// dataTable2.Rows.Clear();
// dataTable3.Rows.Clear();
// dataTable4.Rows.Clear();
// dataTable5.Rows.Clear();
}
private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
ultraGrid1.UpdateData();
//DataRow[] drsTreeCustAlpha = _dtTreeCustAlpha.Select("CUST_ALPHA_NO = '" + _custAlphaNo + "'");
//if (drsTreeCustAlpha.Length > 0)
//{
// if (drsTreeCustAlpha[0]["CUST_ALPHA_STS"].ToString() == "S")
// {
// e.Cell.Row.Cells["CHC"].Value = false;
// MessageUtil.ShowWarning("评审通过不允许修改!");
// return;
// }
//}
OrderSpecialInfoTool.setCanEdit(e);
if (e.Cell.Column.Key.Equals("CHEM_CODE"))
{
string chemCode = e.Cell.Value.ToString();
DataRow[] dr = ((DataTable)ultras[2].DataSource).Select("CHEM_CODE ='" + chemCode + "'");
if (dr.Length > 0)
{
if (dr[0][2].Equals("单一元素"))
{
e.Cell.Row.Cells["CHEM_TYPE"].Value = "A";
}
else
{
e.Cell.Row.Cells["CHEM_TYPE"].Value = "B";
}
e.Cell.Row.Cells["CHEM_FORMULA"].Value = dr[0][3];
}
}
}
private void ultraGrid2_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
ultraGrid2.UpdateData();
//DataRow[] drsTreeCustAlpha = _dtTreeCustAlpha.Select("CUST_ALPHA_NO = '" + _custAlphaNo + "'");
//if (drsTreeCustAlpha.Length > 0)
//{
// if (drsTreeCustAlpha[0]["CUST_ALPHA_STS"].ToString() == "S")
// {
// e.Cell.Row.Cells["CHC"].Value = false;
// MessageUtil.ShowWarning("评审通过不允许修改!");
// return;
// }
//}
if (e.Cell.Column.Key.Equals("PHY_CODE_MAX")) //检验项目
{
e.Cell.Row.Cells["PHY_CODE_MIN"].Activation = Activation.AllowEdit;
string phyNameMax = e.Cell.Text;
e.Cell.Row.Cells["PHY_NAME_MAX"].Value = phyNameMax;
e.Cell.Row.Cells["PHY_NAME_MIN"].Value = "";
e.Cell.Row.Cells["PHY_CODE_MIN"].Value = "";
e.Cell.Row.Cells["PHY_NAME"].Value = "";
e.Cell.Row.Cells["PHY_CODE"].Value = "";
e.Cell.Row.Cells["ITEM_NAME_F"].Value = "";
e.Cell.Row.Cells["ITEM_CODE_F"].Value = "";
e.Cell.Row.Cells["ITEM_NAME_W"].Value = "";
e.Cell.Row.Cells["ITEM_CODE_W"].Value = "";
e.Cell.Row.Cells["ITEM_NAME_S"].Value = "";
e.Cell.Row.Cells["ITEM_CODE_S"].Value = "";
}
if (e.Cell.Column.Key.Equals("PHY_CODE_MIN")) //取样码
{
e.Cell.Row.Cells["PHY_CODE"].Activation = Activation.AllowEdit;
e.Cell.Row.Cells["PHY_NAME_MIN"].Value = e.Cell.Text;
e.Cell.Row.Cells["PHY_NAME"].Value = "";
e.Cell.Row.Cells["PHY_CODE"].Value = "";
e.Cell.Row.Cells["ITEM_NAME_F"].Value = "";
e.Cell.Row.Cells["ITEM_CODE_F"].Value = "";
e.Cell.Row.Cells["ITEM_NAME_W"].Value = "";
e.Cell.Row.Cells["ITEM_CODE_W"].Value = "";
e.Cell.Row.Cells["ITEM_NAME_S"].Value = "";
e.Cell.Row.Cells["ITEM_CODE_S"].Value = "";
}
//检验项
if (e.Cell.Column.Key.Equals("PHY_CODE"))
{
e.Cell.Row.Cells["PHY_NAME"].Value = e.Cell.Text;
//e.Cell.Row.Cells["ITEM_NAME_F"].Value = "";
//e.Cell.Row.Cells["ITEM_CODE_F"].Value = "";
//e.Cell.Row.Cells["ITEM_NAME_W"].Value = "";
//e.Cell.Row.Cells["ITEM_CODE_W"].Value = "";
//e.Cell.Row.Cells["ITEM_NAME_S"].Value = "";
//e.Cell.Row.Cells["ITEM_CODE_S"].Value = "";
}
UltraGridRow ugr = ultraGrid2.ActiveRow;
if (e.Cell.Column.Key.Equals("ITEM_CODE_F"))
{
UltraGridRow row = ((UltraCombo)e.Cell.EditorComponent).SelectedRow;
if (row != null)
{
ugr.Cells["ITEM_NAME_F"].Value = row.GetValue("ITEM_NAME_F");
ugr.Cells["ITEM_CODE_F"].Value = row.GetValue("PRIMARY_KEY");
ugr.Cells["ITEM_NAME_W"].Value = row.GetValue("ITEM_NAME_W");
ugr.Cells["ITEM_CODE_W"].Value = row.GetValue("PRIMARY_KEY");
ugr.Cells["ITEM_NAME_S"].Value = row.GetValue("ITEM_NAME_C");
ugr.Cells["ITEM_CODE_S"].Value = row.GetValue("PRIMARY_KEY");
}
}
else if (e.Cell.Column.Key.Equals("ITEM_CODE_W"))
{
UltraGridRow row = ((UltraCombo)e.Cell.EditorComponent).SelectedRow;
if (row != null)
{
ugr.Cells["ITEM_NAME_F"].Value = row.GetValue("ITEM_NAME_F");
ugr.Cells["ITEM_CODE_F"].Value = row.GetValue("PRIMARY_KEY");
ugr.Cells["ITEM_NAME_W"].Value = row.GetValue("ITEM_NAME_W");
ugr.Cells["ITEM_CODE_W"].Value = row.GetValue("PRIMARY_KEY");
ugr.Cells["ITEM_NAME_S"].Value = row.GetValue("ITEM_NAME_C");
ugr.Cells["ITEM_CODE_S"].Value = row.GetValue("PRIMARY_KEY");
}
}
else if (e.Cell.Column.Key.Equals("ITEM_CODE_S"))
{
UltraGridRow row = ((UltraCombo)e.Cell.EditorComponent).SelectedRow;
if (row != null)
{
ugr.Cells["ITEM_NAME_F"].Value = row.GetValue("ITEM_NAME_F");
ugr.Cells["ITEM_CODE_F"].Value = row.GetValue("PRIMARY_KEY");
ugr.Cells["ITEM_NAME_W"].Value = row.GetValue("ITEM_NAME_W");
ugr.Cells["ITEM_CODE_W"].Value = row.GetValue("PRIMARY_KEY");
ugr.Cells["ITEM_NAME_S"].Value = row.GetValue("ITEM_NAME_C");
ugr.Cells["ITEM_CODE_S"].Value = row.GetValue("PRIMARY_KEY");
}
}
else if (e.Cell.Column.Key.Equals("STDMIN_SIGN1") || e.Cell.Column.Key.Equals("CHC"))
{
if (e.Cell.Row.Cells["STDMIN_SIGN1"].Value.ToString() == "=")
{
e.Cell.Row.Cells["STDMIN1"].EditorComponent = ultraTextEditor2;
}
else
{
e.Cell.Row.Cells["STDMIN1"].EditorComponent = null;
}
}
if (e.Cell.Column.Key.Equals("CHC"))
{
Activation activation = Activation.ActivateOnly;
if (Convert.ToBoolean(e.Cell.Value))
{
activation = Activation.AllowEdit;
}
CellsCollection cells = e.Cell.Row.Cells;
for (int i = 0; i < cells.Count; i++)
{
if (!cells[i].Column.Key.Equals("CHC"))
{
e.Cell.Row.Cells[i].Activation = activation;
}
if (cells[i].Column.Key.Equals("PHY_CODE_MIN") && cells[i].Value.ToString().Equals(""))
{
e.Cell.Row.Cells[i].Activation = Activation.ActivateOnly;
}
if (cells[i].Column.Key.Equals("PHY_CODE") && cells[i].Value.ToString().Equals(""))
{
e.Cell.Row.Cells[i].Activation = Activation.ActivateOnly;
}
if (cells[i].Column.Key.Equals("ITEM_NAME_F") && cells[i].Value.ToString().Equals(""))
{
e.Cell.Row.Cells[i].Activation = Activation.ActivateOnly;
}
if (cells[i].Column.Key.Equals("ITEM_NAME_W") && cells[i].Value.ToString().Equals(""))
{
e.Cell.Row.Cells[i].Activation = Activation.ActivateOnly;
}
if (cells[i].Column.Key.Equals("ITEM_NAME_S") && cells[i].Value.ToString().Equals(""))
{
e.Cell.Row.Cells[i].Activation = Activation.ActivateOnly;
}
}
}
}
private void ultraGrid3_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
ultraGrid3.UpdateData();
//DataRow[] drsTreeCustAlpha = _dtTreeCustAlpha.Select("CUST_ALPHA_NO = '" + _custAlphaNo + "'");
//if (drsTreeCustAlpha.Length > 0)
//{
// if (drsTreeCustAlpha[0]["CUST_ALPHA_STS"].ToString() == "S")
// {
// e.Cell.Row.Cells["CHC"].Value = false;
// MessageUtil.ShowWarning("评审通过不允许修改!");
// return;
// }
//}
if (e.Cell.Column.Key.Equals("BIAS_CODE")) //公差主项
{
e.Cell.Row.Cells["BIAS_NAME"].Value = e.Cell.Text;
}
if (e.Cell.Column.Key == "STD_MIN_FORMULA_V1")
{
if (e.Cell.Row.Cells["STD_MAX_FORMULA_V1"].Value.ToString() == "True")
{
e.Cell.Row.Cells["STD_MAX_FORMULA_V1"].Value = false;
}
}
else if (e.Cell.Column.Key == "STD_MAX_FORMULA_V1")
{
if (e.Cell.Row.Cells["STD_MIN_FORMULA_V1"].Value.ToString() == "True")
{
e.Cell.Row.Cells["STD_MIN_FORMULA_V1"].Value = false;
}
}
OrderSpecialInfoTool.setCanEdit(e);
}
private void ultraGrid4_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
ultraGrid4.UpdateData();
//DataRow[] drsTreeCustAlpha = _dtTreeCustAlpha.Select("CUST_ALPHA_NO = '" + _custAlphaNo + "'");
//if (drsTreeCustAlpha.Length > 0)
//{
// if (drsTreeCustAlpha[0]["CUST_ALPHA_STS"].ToString() == "S")
// {
// e.Cell.Row.Cells["CHC"].Value = false;
// MessageUtil.ShowWarning("评审通过不允许修改!");
// return;
// }
//}
//检验项
if (e.Cell.Column.Key.Equals("PHY_CODE"))
{
e.Cell.Row.Cells["PHY_NAME"].Value = e.Cell.Text;
e.Cell.Row.Cells["STD_CODE1"].Value = "";
e.Cell.Row.Cells["STD_DESC1"].Value = "";
e.Cell.Row.Cells["LV_CODE1"].Value = "";
e.Cell.Row.Cells["LV_DESC1"].Value = "";
}
//探伤位置
if (e.Cell.Column.Key.Equals("POSITION_CODE"))
{
e.Cell.Row.Cells["POSITION_DESC"].Value = e.Cell.Text;
}
OrderSpecialInfoTool.setCanEdit(e);
}
private void ultraGrid5_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
ultraGrid5.UpdateData();
DataRow[] drsTreeCustAlpha = _dtTreeCustAlpha.Select("CUST_ALPHA_NO = '" + _custAlphaNo + "'");
//if (drsTreeCustAlpha.Length > 0)
//{
// if (drsTreeCustAlpha[0]["CUST_ALPHA_STS"].ToString() == "S")
// {
// e.Cell.Row.Cells["CHC"].Value = false;
// MessageUtil.ShowWarning("评审通过不允许修改!");
// return;
// }
//}
OrderSpecialInfoTool.setCanEdit(e);
if (e.Cell.Column.Key == "PRESSURE_Y1")
{
if (e.Cell.Value.ToString() != "")
{
//英制压力转公制压力系数为0.00689476
e.Cell.Row.Cells["PRESSURE1"].Value = Math.Round(double.Parse(e.Cell.Value.ToString()) * 0.00689476, 2);
}
else
{
e.Cell.Row.Cells["PRESSURE1"].Value = "";
}
}
else if (e.Cell.Column.Key == "PRESSURE1")
{
if (e.Cell.Value.ToString() != "")
{
if (double.Parse(e.Cell.Value.ToString()) > 6894.76)
{
MessageUtil.ShowWarning("公制压力上限为68900");
e.Cell.Row.Cells["PRESSURE1"].Value = 6894.76;
}
//公制压力转英制压力系数为14.5
e.Cell.Row.Cells["PRESSURE_Y1"].Value = Math.Round(double.Parse(e.Cell.Value.ToString()) / 0.00689476, 2);
}
else
{
e.Cell.Row.Cells["PRESSURE_Y1"].Value = "";
}
}
}
///
/// 初始化下拉框
///
private void InitDrop()
{
ultraTextEditor2 = new UltraTextEditor();
ultraTextEditor2.Visible = false;
EditorButton btn = new EditorButton();
btn.Text = "?";
ultraTextEditor2.ButtonsRight.Add(btn);
ultraTextEditor2.EditorButtonClick += new EditorButtonEventHandler(ultraTextEditor2_EditorButtonClick);
for (int i = 0; i < ultras.Length; i++)
{
ultras[i] = new UltraComboEditor();
ultras[i].DropDownListWidth = -1;
Controls.Add(ultras[i]);
ultras[i].Visible = false;
}
//下限
OrderSpecialInfoTool.NitializeSignMin(ultras[0]);
//化学下限符号
OrderSpecialInfoTool.BindColumn(ultras[0], "STDMIN_SIGN1", ultraGrid1.DisplayLayout.Bands[0]);
OrderSpecialInfoTool.BindColumn(ultras[0], "STDMIN_SIGN1", ultraGrid2.DisplayLayout.Bands[0]);
//上限
OrderSpecialInfoTool.NitializeSignMax(ultras[1]);
//标准范围上限符号
OrderSpecialInfoTool.BindColumn(ultras[1], "STDMAX_SIGN1", ultraGrid1.DisplayLayout.Bands[0]);
OrderSpecialInfoTool.BindColumn(ultras[1], "STDMAX_SIGN1", ultraGrid2.DisplayLayout.Bands[0]);
//化学元素描述
OrderSpecialInfoTool.NitializeChemicalElement(ultras[2], false, this._ob);
OrderSpecialInfoTool.BindColumn(ultras[2], "CHEM_CODE", ultraGrid1.DisplayLayout.Bands[0]);
//公差项
OrderSpecialInfoTool.NitializeTolerance(ultras[3], false, this._ob);
OrderSpecialInfoTool.BindColumn(ultras[3], "BIAS_CODE", ultraGrid3.DisplayLayout.Bands[0]);
//检验项
OrderSpecialInfoTool.NitializeDetectionPhy(ultras[4], false, this._ob);
OrderSpecialInfoTool.BindColumn(ultras[4], "PHY_CODE", ultraGrid4.DisplayLayout.Bands[0]);
//探伤位置
OrderSpecialInfoTool.NitializeDetectionPosition(ultras[5], true, this._ob);
OrderSpecialInfoTool.BindColumn(ultras[5], "POSITION_CODE1", ultraGrid4.DisplayLayout.Bands[0]);
////探伤标准
//OrderSpecialInfoTool.NitializeDetectionStandard(ultras[6], true, this._ob);
//OrderSpecialInfoTool.BindColumn(ultras[6], "STD_DESC1", ultraGrid4.DisplayLayout.Bands[0]);
////探伤级别
//OrderSpecialInfoTool.NitializeDetectionLV(ultras[7], true, this._ob);
//OrderSpecialInfoTool.BindColumn(ultras[7], "LV_CODE1", ultraGrid4.DisplayLayout.Bands[0]);
//理化项目
OrderSpecialInfoTool.NitializePhyMax(ultras[9], false, this._ob);
OrderSpecialInfoTool.BindColumn(ultras[9], "PHY_CODE_MAX", ultraGrid2.DisplayLayout.Bands[0]);
//加工标准工序点
OrderSpecialInfoTool.NitializeStationCode(ultras[10], false, this._ob);
OrderSpecialInfoTool.BindColumn(ultras[10], "STATION_DESC", ultraGrid6.DisplayLayout.Bands[0]);
ultras[11].DataSource = ClsBaseInfo.GetComBaseInfo("4023", Ob);
ultras[11].ValueMember = "BASECODE";
ultras[11].DisplayMember = "BASENAME";
ultraGrid4.DisplayLayout.Bands[0].Columns["GROOVE_POS1"].EditorComponent = ultras[11];
ultraGrid4.DisplayLayout.Bands[0].Columns["GROOVE_POS1"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ultras[12].DataSource = ClsBaseInfo.GetComBaseInfo("4024", Ob);
ultras[12].ValueMember = "BASECODE";
ultras[12].DisplayMember = "BASENAME";
ultraGrid4.DisplayLayout.Bands[0].Columns["GROOVE_DIR1"].EditorComponent = ultras[12];
ultraGrid4.DisplayLayout.Bands[0].Columns["GROOVE_DIR1"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ultras[13].DataSource = ClsBaseInfo.GetComBaseInfo("4011", Ob);
ultras[13].ValueMember = "BASECODE";
ultras[13].DisplayMember = "BASENAME";
ultraGrid4.DisplayLayout.Bands[0].Columns["RATE1"].EditorComponent = ultras[13];
ultraGrid4.DisplayLayout.Bands[0].Columns["RATE1"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
UltraComboEditor cmbWtr = new UltraComboEditor();
this.Controls.Add(cmbWtr);
cmbWtr.Visible = false;
cmbWtr.DropDownListWidth = -1;
ClsBaseInfo.FillWtrExpress(cmbWtr, Ob, true);
ultraGrid5.DisplayLayout.Bands[0].Columns["FORMULA1"].EditorComponent = cmbWtr;
ultraGrid5.DisplayLayout.Bands[0].Columns["FORMULA1"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ultraGrid5.DisplayLayout.Bands[0].Columns["FORMULA"].EditorComponent = cmbWtr;
ultraGrid5.DisplayLayout.Bands[0].Columns["FORMULA"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
}
private void ultraTextEditor2_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
UltraGridRow ugr = ultraGrid2.ActiveRow;
if (ugr == null)
return;
if (ugr.Cells["PHY_CODE"].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"].Value.ToString();
fpn.PhyName = ugr.Cells["PHY_CODE"].Text;
fpn.StdMin = ugr.Cells["STDMIN1"].Value.ToString();
fpn.StdGuid = ugr.Cells["GUID"].Value.ToString();
fpn.IsCustAlphaPopup = true;
fpn.ShowDialog();
if (fpn.NoteIndex != null)
ugr.Cells["STDMIN1"].Value = fpn.NoteIndex;
ugr.Cells["GUID"].Value = fpn.StdGuid;
}
///
/// 界面字段合成字符串
///
///
private string GetDescription()
{
string description = "";
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
}
return description;
}
private void ultraGrid1_AfterRowInsert(object sender, RowEventArgs e)
{
OrderSpecialInfoTool.SetInsertRowUnEdit(ultraGrid1, e);
e.Row.Cells["ISCHECK"].Value = true;
e.Row.Cells["ISJUDGE"].Value = true;
e.Row.Cells["ISQUOTE"].Value = true;
}
private void ultraGrid2_AfterRowInsert(object sender, RowEventArgs e)
{
OrderSpecialInfoTool.SetInsertRowUnEdit(ultraGrid2, e);
e.Row.Cells["ISCHECK"].Value = true;
e.Row.Cells["ISJUDGE"].Value = true;
e.Row.Cells["ISQUOTE"].Value = true;
}
private void ultraGrid3_AfterRowInsert(object sender, RowEventArgs e)
{
OrderSpecialInfoTool.SetInsertRowUnEdit(ultraGrid3, e);
e.Row.Cells["ISCHECK"].Value = true;
e.Row.Cells["STD_MIN_FORMULA_V1"].Value = true;
}
private void ultraGrid4_AfterRowInsert(object sender, RowEventArgs e)
{
OrderSpecialInfoTool.SetInsertRowUnEdit(ultraGrid4, e);
}
private void ultraGrid5_AfterRowInsert(object sender, RowEventArgs e)
{
OrderSpecialInfoTool.SetInsertRowUnEdit(ultraGrid5, e);
}
private void ultraGrid6_AfterRowInsert(object sender, RowEventArgs e)
{
OrderSpecialInfoTool.SetInsertRowUnEdit(ultraGrid6, e);
}
private void ultraGrid2_InitializeRow(object sender, InitializeRowEventArgs e)
{
}
private bool CheckChem(SlmCustChemObject com, UltraGridRow chemRow)
{
if (com.ChemCode.Equals(""))
{
errMessage = "化学元素不能为空";
chemRow.Cells["CHEM_CODE"].Activate();
return false;
}
int sameCnt = 0;
sameCnt = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True"
&& a.GetValue("CHEM_CODE") == com.ChemCode).Count();
if (sameCnt >= 2)
{
errMessage = "成分标准:化学元素" + com.ChemName + "重复!";
chemRow.Cells["CHEM_CODE"].Activate();
return false;
}
if (com.StdmaxSign.Equals("") && com.StdminSign.Equals(""))
{
errMessage = "成分要求:请选择客户要求:上限符号或者下限符号";
chemRow.Cells["STDMIN_SIGN1"].Activate();
return false;
}
if (!com.StdminSign.Equals(""))
{
if (com.Stdmin.Equals(""))
{
errMessage = "成分要求:请输入客户要求下限值";
chemRow.Cells["STDMIN1"].Activate();
return false;
}
if (!StringUtil.IsNumber(com.Stdmin))
{
errMessage = "成分要求:客户要求下限值请输入数字";
chemRow.Cells["STDMIN1"].Activate();
return false;
}
}
else
{
if (!com.Stdmin.Equals(""))
{
errMessage = "成分要求:请选择客户要求下限符号";
chemRow.Cells["STDMIN_SIGN1"].Activate();
return false;
}
}
if (!com.StdmaxSign.Equals(""))
{
if (com.Stdmax.Equals(""))
{
errMessage = "成分要求:请输入客户要求上限值";
chemRow.Cells["STDMAX1"].Activate();
return false;
}
if (!StringUtil.IsNumber(com.Stdmax))
{
errMessage = "成分要求:客户要求上限值请输入数字";
chemRow.Cells["STDMAX1"].Activate();
return false;
}
}
else
{
if (!com.Stdmax.Equals(""))
{
errMessage = "成分要求:请选择客户要求上限符号";
chemRow.Cells["STDMAX_SIGN1"].Activate();
return false;
}
}
if (!com.Stdmax.Equals("") && !com.Stdmin.Equals("") && Convert.ToDouble(com.Stdmax) < Convert.ToDouble(com.Stdmin))
{
errMessage = "成分要求:客户要求下限值必须小于上限值";
chemRow.Cells["STDMIN1"].Activate();
return false;
}
return true;
}
private bool CheckPhy(SlmCustPhyObject com, UltraGridRow urg)
{
if (com.PhyCodeMax == "")
{
errMessage = "理化要求:请选择项目";
urg.SetCellActive("PHY_CODE_MAX");
return false;
}
if (com.PhyCodeMin == "")
{
errMessage = "理化要求:请选择试样组";
urg.SetCellActive("PHY_CODE_MIN");
return false;
}
if (com.PhyCode == "")
{
errMessage = "理化要求:请选择检验项";
urg.SetCellActive("PHY_CODE");
return false;
}
int sameCnt = 0;
sameCnt = ultraGrid2.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True"
&& a.GetValue("PHY_CODE_MAX") == com.PhyCodeMax
&& a.GetValue("PHY_CODE_MIN") == com.PhyCodeMin && a.GetValue("PHY_CODE") == com.PhyCode
&& (a.GetValue("ITEM_CODE_F") == com.ItemCodeF)
&& (a.GetValue("ITEM_CODE_W") == com.ItemCodeW)
&& (a.GetValue("ITEM_CODE_S") == com.ItemCodeS)).Count();
if (sameCnt >= 2)
{
errMessage = "理化要求:检验项目重复";
urg.Activate();
return false;
}
if (com.StdmaxSign.Equals("") && com.StdminSign.Equals(""))
{
errMessage = "理化要求:请选择客户要求上限符号或者下限符号";
urg.Cells["STDMIN_SIGN1"].Activate();
return false;
}
if (!com.StdminSign.Equals(""))
{
if (com.Stdmin.Equals(""))
{
errMessage = "理化要求:请输入客户要求下限值";
urg.Cells["STDMIN1"].Activate();
return false;
}
if (com.StdminSign != "=")
{
if (!StringUtil.IsNumber(com.Stdmin))
{
errMessage = "理化要求:客户要求下限值请输入数字";
urg.Cells["STDMIN1"].Activate();
return false;
}
}
}
else
{
if (!com.Stdmin.Equals(""))
{
errMessage = "理化要求:请选择客户要求下限符号";
urg.Cells["STDMIN_SIGN1"].Activate();
return false;
}
}
if (!com.StdmaxSign.Equals(""))
{
if (com.Stdmax.Equals(""))
{
errMessage = "理化要求:请输入客户要求上限值";
urg.Cells["STDMAX1"].Activate();
return false;
}
if (!StringUtil.IsNumber(com.Stdmax))
{
errMessage = "理化要求:客户要求上限值请输入数字";
urg.Cells["STDMAX1"].Activate();
return false;
}
}
else
{
if (!com.Stdmax.Equals(""))
{
errMessage = "理化要求:请选择客户要求上限符号";
urg.Cells["STDMAX_SIGN1"].Activate();
return false;
}
}
if (!com.Stdmax.Equals("") && !com.Stdmin.Equals("") && Convert.ToDouble(com.Stdmax) < Convert.ToDouble(com.Stdmin))
{
errMessage = "理化要求:客户要求下限值必须小于上限值";
urg.Cells["STDMIN1"].Activate();
return false;
}
return true;
}
private bool CheckWater(SlmCustWaterObject com, UltraGridRow waterRow)
{
int cnt = 0;
cnt = ultraGrid5.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True").Count();
if (cnt >= 2)
{
errMessage = "水压要求:只能维护一条记录";
waterRow.Activate();
return false;
}
if (com.Formula == "" && com.PressureY.Equals(""))
{
errMessage = "水压要求:请输入试验压力英制(公制)或者试验压力公式!";
waterRow.Cells["PRESSURE"].Activate();
return false;
}
if (com.SaveTime.Equals(""))
{
errMessage = "水压要求:客户要求请输入保压时间";
waterRow.Cells["SAVE_TIME1"].Activate();
return false;
}
else if (com.SaveTime.TryParseDecimal() == false)
{
errMessage = "水压要求:客户要求保压时间,只能为数字类型!";
waterRow.Cells["SAVE_TIME1"].Activate();
return false;
}
return true;
}
private bool CheckAlphaPro(SlmCustAlphaProObject com, UltraGridRow proRow)
{
int cnt = 0;
cnt = ultraGrid6.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True"
&& a.GetValue("STATION_CODE") == com.StationCode).Count();
if (cnt >= 2)
{
errMessage = "加工要求:工序点重复";
proRow.Cells["STATION_DESC"].Activate();
return false;
}
if (com.StationCode.Equals(""))
{
errMessage = "加工要求:客户要求请选择工序";
proRow.Cells["STATION_DESC"].Activate();
return false;
}
if (com.ValueText == "" && com.ValueNum == "")
{
errMessage = "加工要求:客户要求客户文本和客户数值必须输入一个!";
proRow.Cells["ALPHA_VALUE_TEXT"].Activate();
return false;
}
if (!StringUtil.IsNumber(com.ValueNum))
{
errMessage = "加工要求:客户要求值(数值型)请输入数字!";
proRow.Cells["ALPHA_VALUE_NUM"].Activate();
return false;
}
return true;
}
private bool CheckDete(SlmCustDetectionObject com, UltraGridRow detRow)
{
if (com.PhyCode.Equals(""))
{
errMessage = "探伤要求:请选择材质检验项!";
detRow.Cells["PHY_CODE"].Activate();
return false;
}
int sameCnt = 0;
sameCnt = ultraGrid4.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True"
&& a.GetValue("PHY_CODE") == com.PhyCode && a.GetValue("POSITION_CODE1") == com.PositionCode
&& a.GetValue("STD_DESC1") == com.StdDesc && a.GetValue("LV_CODE1") == com.LvCode
&& a.GetValue("COVERAGE1") == com.Coverage && a.GetText("GROOVE_DIR1") == com.GrooveDir
&& a.GetText("GROOVE_POS1") == com.GroovePos && a.GetValue("RATE1") == com.Rate
&& a.GetValue("DESC_VAL1") == com.DescVal).Count();
if (sameCnt >= 2)
{
errMessage = "探伤要求:探伤要求重复!";
detRow.Cells["PHY_CODE"].Activate();
return false;
}
if (com.PositionCode.Equals(""))
{
errMessage = "探伤要求:客户要求请选择探伤位置!";
detRow.Cells["POSITION_CODE1"].Activate();
return false;
}
if (com.StdDesc == "")
{
errMessage = "探伤要求:请选择参考标准";
detRow.Cells["STD_DESC1"].Activate();
return false;
}
if (com.LvCode == "")
{
errMessage = "探伤要求:请选择探伤级别!";
detRow.Cells["LV_CODE1"].Activate();
return false;
}
if (com.Coverage == "")
{
errMessage = "探伤要求:请选择探伤覆盖率!";
detRow.Cells["COVERAGE1"].Activate();
return false;
}
return true;
}
private bool CheckSpec(SlmCustSpecObject com, UltraGridRow specRow)
{
if (com.BiasCode.Equals(""))
{
errMessage = "公差要求:请选择公差项";
specRow.Cells["BIAS_CODE"].Activate();
return false;
}
int sameCnt = 0;
sameCnt = ultraGrid3.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True"
&& a.GetValue("BIAS_CODE") == com.BiasCode).Count();
if (sameCnt >= 2)
{
errMessage = "公差要求:公差项重复";
specRow.Cells["BIAS_CODE"].Activate();
return false;
}
if (com.StdMinVal.Equals("") && com.StdMaxVal.Equals("")
&& com.StdMaxPercent.Equals("") && com.StdMinPercent.Equals(""))
{
errMessage = "公差标准:客户要求请输入一组标准值";
specRow.Cells["STD_MIN_VAL1"].Activate();
return false;
}
if (com.StdMaxPercent.Equals(""))
{
if (!com.StdMinPercent.Equals(""))
{
errMessage = "公差要求:客户要求请输入上偏差值(%)";
specRow.Cells["STD_MAX_PERCENT1"].Activate();
return false;
}
}
else
{
if (com.StdMinPercent.Equals(""))
{
errMessage = "公差要求:客户要求请输入下偏差值(%)";
specRow.Cells["STD_MIN_PERCENT1"].Activate();
return false;
}
else if((com.BiasCode == "404019" || com.BiasCode == "404020") && decimal.Parse(com.StdMinPercent) > 0)
{
errMessage = "(管体/管端壁厚)下偏差值(%)不能为正数";
specRow.Cells["STD_MIN_PERCENT1"].Activate();
return false;
}
}
if (com.StdMaxVal.Equals(""))
{
if (!com.StdMinVal.Equals(""))
{
errMessage = "公差要求:客户要求请输入上偏差值(mm)";
specRow.Cells["STD_MAX_VAL1"].Activate();
return false;
}
}
else
{
if (com.StdMinVal.Equals(""))
{
errMessage = "公差要求:客户要求请输入下偏差值(mm)";
specRow.Cells["STD_MIN_VAL1"].Activate();
return false;
}
else if ((com.BiasCode == "404019" || com.BiasCode == "404020") && decimal.Parse(com.StdMinVal) > 0)
{
errMessage = "(管体/管端壁厚)下偏差值(mm)不能为正数";
specRow.Cells["STD_MIN_VAL1"].Activate();
return false;
}
}
if (!com.StdMaxPercent.Equals("") && !StringUtil.IsNumber(com.StdMaxPercent))
{
errMessage = "上偏差值(%)只能输入数字!";
specRow.Cells["STD_MAX_PERCENT1"].Activate();
return false;
}
else if (!com.StdMinPercent.Equals("") && !StringUtil.IsNumber(com.StdMinPercent))
{
errMessage = "下偏差值(%)只能输入数字!";
specRow.Cells["STD_MIN_PERCENT1"].Activate();
return false;
}
else if (!com.StdMaxVal.Equals("") && !com.StdMaxVal.TryParseDecimal())
{
errMessage = "上偏差值(mm)只能输入数字!";
specRow.Cells["STD_MAX_VAL1"].Activate();
return false;
}
else if (!com.StdMinVal.Equals("") && !com.StdMinVal.TryParseDecimal())
{
errMessage = "下偏差值(mm)只能输入数字!";
specRow.Cells["STD_MIN_VAL1"].Activate();
return false;
}
if (com.StdMinPercent != "" && com.StdMinVal != "")
{
if (com.StdMinFormulaV == "0" && com.StdMaxFormulaV == "0")
{
errMessage = "公差要求:请选择取最小值或取最大值";
specRow.Cells["STD_MIN_FORMULA_V1"].Activate();
return false;
}
}
return true;
}
///
/// ultragrid所有字段组成字符串
///
///
private string GetUltraData()
{
bool isMsc = false;
if (ultraTree.ActiveNode.Tag != null && ultraTree.ActiveNode.Tag.ToString() == "a")
{
isMsc = true;
}
string[] strArrayChem;
string[] strArrayPhy;
string[] strArraySpec;
string[] strArrayDete;
string[] strArrayWater;
string[] strArrayPro;
if (isMsc)
{
strArrayChem = new string[] { "CHEM_CODE", "CHEM_FORMULA", "STDMIN_SIGN", "STDMIN", "STDMAX_SIGN", "STDMAX" };
strArrayPhy = new string[] { "PHY_NAME_MAX", "PHY_NAME_MIN", "PHY_NAME", "ITEM_NAME_F", "ITEM_NAME_S", "ITEM_NAME_P", "ITEM_NAME_W",
"STDMIN_SIGN", "STDMIN", "STDMAX_SIGN", "STDMAX", "JUDGE_BASIS_DESC", "STD_CHOOSE_DESC", "STDMIN_SIGN2", "STDMIN2",
"STDMAX_SIGN2", "STDMAX2", "ADDCONDITION_DESC", "ADDSTDCON_DESC", "ADDPERCENT", "ADDSTD_MIN_SIGN", "ADDSTD_MIN",
"ADDSTD_MAX_SIGN", "ADDSTD_MAX","STDMEMO"};
strArraySpec = new string[] { "BIAS_NAME", "STD_MIN_VAL", "STD_MAX_VAL", "STD_MIN_PERCENT", "STD_MAX_PERCENT", "STD_MIN_FORMULA", "STD_MAX_FORMULA",
"STD_MIN_FORMULA_V" };
strArrayDete = new string[] { "PHY_NAME", "POSITION_DESC", "STD_DESC", "LV_DESC", "COVERAGE", "GROOVE_POS", "GROOVE_DIR", "DESC_RATE", "DESC_VAL", "MEMO" };
strArrayWater = new string[] { "PRESSURE_Y", "PRESSURE", "SAVE_TIME" };
strArrayPro = new string[] { "STATION_DESC", "VALUE_TEXT", "VALUE_NUM", "VALUE_MEMO" };
}
else
{
strArrayChem = new string[] { "CHEM_CODE", "CHEM_FORMULA", "STDMIN_SIGN1", "STDMIN1", "STDMAX_SIGN1", "STDMAX1", "STDMEMO1" };
strArrayPhy = new string[] { "PHY_NAME_MAX", "PHY_NAME_MIN", "PHY_NAME", "ITEM_NAME_F", "ITEM_NAME_S", "ITEM_NAME_P", "ITEM_NAME_W",
"STDMIN_SIGN1", "STDMIN1", "STDMAX_SIGN1", "STDMAX1", "JUDGE_BASIS_DESC", "STD_CHOOSE_DESC", "STDMIN_SIGN2", "STDMIN2",
"STDMAX_SIGN2", "STDMAX2", "ADDCONDITION_DESC", "ADDSTDCON_DESC", "ADDPERCENT", "ADDSTD_MIN_SIGN", "ADDSTD_MIN",
"ADDSTD_MAX_SIGN", "ADDSTD_MAX", "STDMEMO1","STDMEMO"};
strArraySpec = new string[] { "BIAS_NAME", "STD_MIN_VAL1", "STD_MAX_VAL1", "STD_MIN_PERCENT1", "STD_MAX_PERCENT1",
"STD_MIN_FORMULA_V1", "MEMO1"};
strArrayDete = new string[] { "PHY_NAME", "POSITION_DESC1", "STD_DESC1", "LV_DESC1", "COVERAGE1", "GROOVE_POS1", "GROOVE_DIR1", "RATE1", "DESC_VAL1", "MEMO1" };
strArrayWater = new string[] { "PRESSURE_Y1", "PRESSURE1", "SAVE_TIME1" };
strArrayPro = new string[] { "STATION_DESC", "ALPHA_VALUE_TEXT", "ALPHA_VALUE_NUM", "ALPHA_VALUE_MEMO", "MEMO1" };
}
string cicStr = GetChemUltraGridData(ultraGrid1, strArrayChem, isMsc);
string picStr = OrderSpecialInfoTool.GetUltraGridData(ultraGrid2, strArrayPhy);
string sicStr = GetSpecUltraGridData(ultraGrid3, strArraySpec);
string dicStr = OrderSpecialInfoTool.GetUltraGridData(ultraGrid4, strArrayDete);
string wicStr = OrderSpecialInfoTool.GetUltraGridData(ultraGrid5, strArrayWater);
string gicStr = OrderSpecialInfoTool.GetUltraGridData(ultraGrid6, strArrayPro);
string str = "";
if (cicStr.Trim() != "")
{
str += "成分标准:" + cicStr;
}
if (picStr.Trim() != "")
{
str += (str == "" ? "" : "\r\n") + "理化标准:" + picStr;
}
if (sicStr.Trim() != "")
{
str += (str == "" ? "" : "\r\n") + "公差标准:" + sicStr;
}
if (dicStr.Trim() != "")
{
str += (str == "" ? "" : "\r\n") + "探伤标准:" + dicStr;
}
if (wicStr.Trim() != "")
{
str += (str == "" ? "" : "\r\n") + "水压标准:" + wicStr;
}
if (gicStr.Trim() != "")
{
str += (str == "" ? "" : "\r\n") + "加工标准:" + gicStr;
}
return str;
}
public string GetChemUltraGridData(UltraGrid ug, string[] strArray, bool isMsc)
{
string content = "";
if (ug.Rows.Count == 0)
{
return content;
}
var rows = ug.Rows.OrderBy(a => a.GetValue("CHEM_TYPE")).ToList();
for (int i = 0; i < rows.Count; i++)
{
if (rows[i].GetValue("CHC") == "False" && rows[i].GetValue("VALIDFLAG") == "") continue;
if (content != "" && rows[i].GetValue("CHEM_TYPE") == "B")
{
content += "\r\n ";
}
for (int k = 0; k < strArray.Length; k++)
{
string columnKey = strArray[k];
for (int j = 0; j < rows[i].Cells.Count; j++)
{
if (rows[i].Cells[j].Column.Key.Equals(columnKey))
{
if (isMsc)
{
if (rows[i].Cells[j].Text.Trim() == "")
{
if (columnKey == "STDMAX")
{
content += "; ";
}
break;
}
if (columnKey == "STDMAX")
{
content += rows[i].Cells[j].Text + "; ";
}
else
{
if (columnKey.Contains("SIGN") || columnKey == "CHEM_FORMULA")
{
content += " " + rows[i].Cells[j].Text;
}
else
{
content += rows[i].Cells[j].Text;
}
}
}
else
{
if (rows[i].Cells[j].Text.Trim() == "")
{
if (columnKey == "STDMEMO1")
{
content += "; ";
}
break;
}
if (columnKey == "STDMEMO1")
{
content += " " + rows[i].Cells[j].Text + "; ";
}
else
{
if (columnKey.Contains("SIGN") || columnKey == "CHEM_FORMULA")
{
content += " " + rows[i].Cells[j].Text;
}
else
{
content += rows[i].Cells[j].Text;
}
}
}
break;
}
}
}
}
return content;
}
///
/// 获取UltraGrid所有字段组成的字符串
///
///
///
public static string GetSpecUltraGridData(UltraGrid ug, string[] strArray)
{
string content = "";
if (ug.Rows.Count == 0)
{
return content;
}
for (int i = 0; i < ug.Rows.Count; i++)
{
if (ug.Rows[i].GetValue("CHC") == "False" && ug.Rows[i].GetValue("VALIDFLAG") == "") continue;
if (content != "")
{
content += "\r\n ";
}
for (int k = 0; k < strArray.Length; k++)
{
string columnKey = strArray[k];
for (int j = 0; j < ug.Rows[i].Cells.Count; j++)
{
if (ug.Rows[i].Cells[j].Column.Key.Equals(columnKey))
{
if (ug.Rows[i].Cells[j].Text.Trim() == "") break;
string value = ug.Rows[i].Cells[j].Text;
if (columnKey == "STD_MIN_VAL1" || columnKey == "STD_MAX_VAL1"
|| columnKey == "STD_MIN_VAL" || columnKey == "STD_MAX_VAL")
{
value = value + "mm";
}
else if (columnKey == "STD_MIN_PERCENT1" || columnKey == "STD_MAX_PERCENT1"
|| columnKey == "STD_MIN_PERCENT" || columnKey == "STD_MAX_PERCENT")
{
value = value + "%";
}
else if (columnKey == "STD_MIN_FORMULA_V")
{
int valueCnt = 0;
if (ug.Rows[i].GetValue("STD_MIN_PERCENT") != "")
{
valueCnt++;
}
if(ug.Rows[i].GetValue("STD_MIN_VAL") != "")
{
valueCnt++;
}
if(ug.Rows[i].GetValue("STD_MIN_FORMULA") != "")
{
valueCnt++;
}
if (valueCnt > 1)
{
if (ug.Rows[i].GetValue(columnKey) == "True")
{
value = "取最小值";
}
else if (ug.Rows[i].GetValue("STD_MAX_FORMULA_V") == "True")
{
value = "取最大值";
}
else
{
break;
}
}
else
{
break;
}
}
else if (columnKey == "STD_MIN_FORMULA_V1")
{
int valueCnt = 0;
if (ug.Rows[i].GetValue("STD_MIN_PERCENT1") != "")
{
valueCnt++;
}
if (ug.Rows[i].GetValue("STD_MIN_VAL1") != "")
{
valueCnt++;
}
if (valueCnt > 1)
{
if (ug.Rows[i].GetValue(columnKey) == "True")
{
value = "取最小值";
}
else if (ug.Rows[i].GetValue("STD_MAX_FORMULA_V1") == "True")
{
value = "取最大值";
}
else
{
break;
}
}
else
{
break;
}
}
content += value + "; ";
break;
}
}
}
}
return content;
}
private void ultraGrid6_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
ultraGrid6.UpdateData();
//DataRow[] drsTreeCustAlpha = _dtTreeCustAlpha.Select("CUST_ALPHA_NO = '" + _custAlphaNo + "'");
//if (drsTreeCustAlpha.Length > 0)
//{
// if (drsTreeCustAlpha[0]["CUST_ALPHA_STS"].ToString() == "S")
// {
// e.Cell.Row.Cells["CHC"].Value = false;
// MessageUtil.ShowWarning("评审通过不允许修改!");
// return;
// }
//}
OrderSpecialInfoTool.setCanEdit(e);
if (e.Cell.Column.Key.Equals("STATION_DESC"))
{
string stadesc = e.Cell.Text;
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryStationCodeId", new Object[] { stadesc }, _ob);
if (dt != null && dt.Rows.Count > 0)
{
ultraGrid6.Rows[e.Cell.Row.Index].Cells["PROCESS_DESC_C"].Value = dt.Rows[0]["PROCESS_DESC_C"].ToString();
ultraGrid6.Rows[e.Cell.Row.Index].Cells["PROCESS_CDOE_C"].Value = dt.Rows[0]["PROCESS_CODE_C"].ToString();
ultraGrid6.Rows[e.Cell.Row.Index].Cells["STATION_CODE"].Value = dt.Rows[0]["STATION_CODE"].ToString();
ultraGrid6.Rows[e.Cell.Row.Index].Cells["PROCESS_CDOE"].Value = dt.Rows[0]["PROCESS_CODE"].ToString();
ultraGrid6.Rows[e.Cell.Row.Index].Cells["PROCESS_DESC"].Value = dt.Rows[0]["PROCESS_DESC"].ToString();
ultraGrid6.Rows[e.Cell.Row.Index].Cells["STATION_CODE"].Value = dt.Rows[0]["STATION_CODE"].ToString();
ultraGrid6.Rows[e.Cell.Row.Index].Cells["STATION_DESC"].Value = dt.Rows[0]["STATION_DESC"].ToString();
}
}
else
{
ultraGrid6.UpdateData();
OrderSpecialInfoTool.setCanEdit(e);
}
}
private void ultraGrid6_AfterCellActivate(object sender, EventArgs e)
{
//ultraGrid6.UpdateData();
//if (e.Cell.Column.Key.Equals("STATION_DESC"))
//{
// DataTable specInfo = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.queryStationCode", new Object[] { }, ob);
// for (int i = 0; i < specInfo.Rows.Count; i++)
// {
// if (e.Cell.Value.ToString().Equals(specInfo.Rows[i]["STATION_CODE"].ToString()))
// {
// //未写完,需要自动给二级工序赋值。
// }
// }
//}
}
private void ultraTree_AfterActivate(object sender, NodeEventArgs e)
{
if (e.TreeNode.Parent == null) return;
((Form)ultraTree.TopLevelControl).Cursor = Cursors.WaitCursor;
//e.TreeNode.CheckedState = CheckState.Checked;
string stdCode = e.TreeNode.Key.ToString();
string[] mscs = stdCode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
string mscOrAlphaNo = mscs[0];
QueryChem(mscOrAlphaNo, e.TreeNode.Tag.ToString());
QueryMaterial(mscOrAlphaNo, e.TreeNode.Tag.ToString());
QueryTolerances(mscOrAlphaNo, e.TreeNode.Tag.ToString());
QueryDetection(mscOrAlphaNo, e.TreeNode.Tag.ToString());
QueryWater(mscOrAlphaNo, e.TreeNode.Tag.ToString());
QueryProcess(mscOrAlphaNo, e.TreeNode.Tag.ToString());
if (e.TreeNode.Tag.Equals("a"))
{
if (isPopup == false)
{
ultraToolbarsManager1.Toolbars[0].Tools["新增"].InstanceProps.Visible = DefaultableBoolean.True;
}
_custAlphaNo = "";
_stdCode = stdCode;
}
else
{
if (isPopup == false)
{
DataTable dt = GetCustAlphaState(stdCode);
string custAlphaState = dt.Rows[0]["CUST_ALPHA_STS"].ToString();
string reviewRs = dt.Rows[0]["REVIEW_F_RS"].ToString();
toolTip1.SetToolTip(ultraGrid1, reviewRs);
toolTip1.SetToolTip(ultraGrid2, reviewRs);
toolTip1.SetToolTip(ultraGrid3, reviewRs);
toolTip1.SetToolTip(ultraGrid4, reviewRs);
toolTip1.SetToolTip(ultraGrid5, reviewRs);
toolTip1.SetToolTip(ultraGrid6, reviewRs);
toolTip1.ToolTipTitle = "[" + stdCode + "]产品技术特殊要求失败原因:";
//toolTip1.Show(reviewRs, ultraTree, 9999999);
toolTip1.ShowAlways = true;
int custAlphaUseCount = GetCustAlphaUseCount(stdCode, _ordLnPk);
if (custAlphaState == "S" || ((custAlphaState == "W" || custAlphaState == "F") && custAlphaUseCount >= 1))
{
ultraToolbarsManager1.Toolbars[0].Tools["新增"].InstanceProps.Visible = DefaultableBoolean.True;
}
else
{
ultraToolbarsManager1.Toolbars[0].Tools["新增"].InstanceProps.Visible = DefaultableBoolean.True;
}
}
_custAlphaNo = stdCode;
_stdCode = "";
}
ultraTextEditor1.Text = GetUltraData();
((Form)ultraTree.TopLevelControl).Cursor = Cursors.Default;
}
private DataTable GetCustAlphaState(string custAlphaNo)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.getCustAlphaState",
new object[] { custAlphaNo }, Ob);
return dt;
}
private int GetCustAlphaUseCount(string custAlphaNo, string ordLnPk)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderSpecialInfo.getCustAlphaUseCount",
new object[] { custAlphaNo, ordLnPk }, _ob);
return int.Parse(dt.Rows[0][0].ToString());
}
private void ultraTree_BeforeActivate(object sender, CancelableNodeEventArgs e)
{
string type = "";
if (IsExitEdite(out type) == false)
{
if (type == "Cic")
{
if (MessageUtil.ShowYesNoAndQuestion("成分要求有数据修改,是否放弃编辑?") == DialogResult.No)
{
e.Cancel = true;
}
}
else if (type == "Pic")
{
if (MessageUtil.ShowYesNoAndQuestion("理化要求有数据修改,是否放弃编辑?") == DialogResult.No)
{
e.Cancel = true;
}
}
else if (type == "Sic")
{
if (MessageUtil.ShowYesNoAndQuestion("公差要求有数据修改,是否放弃编辑?") == DialogResult.No)
{
e.Cancel = true;
}
}
else if (type == "Dic")
{
if (MessageUtil.ShowYesNoAndQuestion("探伤要求有数据修改,是否放弃编辑?") == DialogResult.No)
{
e.Cancel = true;
}
}
else if (type == "Wic")
{
if (MessageUtil.ShowYesNoAndQuestion("水压要求有数据修改,是否放弃编辑?") == DialogResult.No)
{
e.Cancel = true;
}
}
else if (type == "Gic")
{
if (MessageUtil.ShowYesNoAndQuestion("加工要求有数据修改,是否放弃编辑?") == DialogResult.No)
{
e.Cancel = true;
}
}
}
}
private void ultraTree_BeforeCheck(object sender, BeforeCheckEventArgs e)
{
//if (IsExitEdite() == false)
//{
// e.Cancel = true;
//}
}
private bool IsExitEdite(out string type)
{
ultraGrid1.UpdateData();
ultraGrid2.UpdateData();
ultraGrid3.UpdateData();
ultraGrid4.UpdateData();
ultraGrid5.UpdateData();
ultraGrid6.UpdateData();
type = "";
int dtChg1 = dataTable1.Rows.Cast().Where(a => a.RowState == DataRowState.Added || a.RowState == DataRowState.Modified).Count();
if (dtChg1 > 0)
{
type = "Cic";
return false;
}
int dtChg2 = dataTable2.Rows.Cast().Where(a => a.RowState == DataRowState.Added || a.RowState == DataRowState.Modified).Count();
if (dtChg2 > 0)
{
type = "Pic";
return false;
}
int dtChg3 = dataTable3.Rows.Cast().Where(a => a.RowState == DataRowState.Added || a.RowState == DataRowState.Modified).Count();
if (dtChg3 > 0)
{
type = "Sic";
return false;
}
int dtChg4 = dataTable4.Rows.Cast().Where(a => a.RowState == DataRowState.Added || a.RowState == DataRowState.Modified).Count();
if (dtChg4 > 0)
{
type = "Dic";
return false;
}
int dtChg5 = dataTable5.Rows.Cast().Where(a => a.RowState == DataRowState.Added || a.RowState == DataRowState.Modified).Count();
if (dtChg5 > 0)
{
type = "Wic";
return false;
}
int dtChg6 = StdProcessc.Rows.Cast().Where(a => a.RowState == DataRowState.Added || a.RowState == DataRowState.Modified).Count();
if (dtChg6 > 0)
{
type = "Gic";
return false;
}
return true;
}
private void FrmOrderSpecialInfo_FormClosing(object sender, FormClosingEventArgs e)
{
//if (IsExitEdite() == false)
//{
// e.Cancel = true;
//}
}
private void ultraTree_DoubleClick(object sender, EventArgs e)
{
//if (ultraTextEditor1.Height == ultraTextEditor1Height)
//{
// ultraTextEditor1.Height = 1;
//}
//else
//{
// ultraTextEditor1.Height = ultraTextEditor1Height;
//}
panel1.Visible = !panel1.Visible;
}
//全选
private void ultraTextEditor1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control)
{
if (e.KeyCode == Keys.A)
{
ultraTextEditor1.SelectAll();
}
}
}
private void ultraTextEditor3_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
if (ultraGrid2.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") == ultraGrid2.ActiveRow.GetValue("PHY_CODE_MAX"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid2.ActiveRow.SetValue("PHY_NAME_MAX", baseInfoPopup.ChoicedRow.GetValue("PHY_TYPE"));
ultraGrid2.ActiveRow.SetValue("PHY_CODE_MAX", baseInfoPopup.ChoicedRow.GetValue("PHY_CODE"));
ultraGrid2.ActiveRow.SetValue("PHY_NAME_MIN", "");
ultraGrid2.ActiveRow.SetValue("PHY_CODE_MIN", "");
ultraGrid2.ActiveRow.SetValue("PHY_NAME", "");
ultraGrid2.ActiveRow.SetValue("PHY_CODE", "");
ultraGrid2.ActiveRow.SetValue("ITEM_NAME_F", "");
ultraGrid2.ActiveRow.SetValue("ITEM_CODE_F", "");
ultraGrid2.ActiveRow.SetValue("ITEM_NAME_W", "");
ultraGrid2.ActiveRow.SetValue("ITEM_CODE_W", "");
ultraGrid2.ActiveRow.SetValue("ITEM_NAME_S", "");
ultraGrid2.ActiveRow.SetValue("ITEM_CODE_S", "");
}
}
else if (ultraGrid2.ActiveCell.Column.Key == "PHY_NAME_MIN")
{
string phyCodeMax = ultraGrid2.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") == ultraGrid2.ActiveRow.GetValue("PHY_CODE_MIN"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid2.ActiveRow.SetValue("PHY_NAME_MIN", baseInfoPopup.ChoicedRow.GetValue("PHY_TYPE"));
ultraGrid2.ActiveRow.SetValue("PHY_CODE_MIN", baseInfoPopup.ChoicedRow.GetValue("PHY_CODE"));
ultraGrid2.ActiveRow.SetValue("PHY_NAME", "");
ultraGrid2.ActiveRow.SetValue("PHY_CODE", "");
ultraGrid2.ActiveRow.SetValue("ITEM_NAME_F", "");
ultraGrid2.ActiveRow.SetValue("ITEM_CODE_F", "");
ultraGrid2.ActiveRow.SetValue("ITEM_NAME_S", "");
ultraGrid2.ActiveRow.SetValue("ITEM_CODE_S", "");
ultraGrid2.ActiveRow.SetValue("ITEM_NAME_W", "");
ultraGrid2.ActiveRow.SetValue("ITEM_CODE_W", "");
}
}
else if (ultraGrid2.ActiveCell.Column.Key == "PHY_NAME")
{
string phyCodeMax = ultraGrid2.ActiveRow.GetValue("PHY_CODE_MAX");
string phyCodeMin = ultraGrid2.ActiveRow.GetValue("PHY_CODE_MIN");
if (phyCodeMax == "")
{
MessageUtil.ShowWarning("请选择检验大项");
ultraGrid2.ActiveRow.Cells["PHY_NAME_MAX"].Activate();
return;
}
else if (phyCodeMin == "")
{
MessageUtil.ShowWarning("请选择试样组");
ultraGrid2.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") == ultraGrid2.ActiveRow.GetValue("PHY_CODE"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid2.ActiveRow.SetValue("PHY_NAME", baseInfoPopup.ChoicedRow.GetValue("PHY_NAME"));
ultraGrid2.ActiveRow.SetValue("PHY_CODE", baseInfoPopup.ChoicedRow.GetValue("PHY_CODE"));
ultraGrid2.ActiveRow.SetValue("ITEM_NAME_W", "");
ultraGrid2.ActiveRow.SetValue("ITEM_CODE_W", "");
}
}
else if (ultraGrid2.ActiveCell.Column.Key == "ITEM_NAME_F")
{
string phyTypeC = ultraGrid2.ActiveRow.GetValue("PHY_CODE_MIN");
if (phyTypeC == "")
{
MessageUtil.ShowWarning("请选择试样组");
ultraGrid2.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 (ultraGrid2.ActiveRow.GetValue("PHY_CODE_MAX") == "R0001")
{
dt.DefaultView.RowFilter = "ITEM_CODE_C IS NULL AND ITEM_CODE_F IS NOT NULL";
}
if (ultraGrid2.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") == ultraGrid2.ActiveRow.GetValue("ITEM_CODE_F")
&& a.GetValue("ITEM_CODE_C") == ultraGrid2.ActiveRow.GetValue("ITEM_CODE_S"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid2.ActiveRow.SetValue("ITEM_NAME_F", baseInfoPopup.ChoicedRow.GetValue("ITEM_NAME_F"));
ultraGrid2.ActiveRow.SetValue("ITEM_CODE_F", baseInfoPopup.ChoicedRow.GetValue("ITEM_CODE_F"));
ultraGrid2.ActiveRow.SetValue("ITEM_NAME_S", baseInfoPopup.ChoicedRow.GetValue("ITEM_NAME_C"));
ultraGrid2.ActiveRow.SetValue("ITEM_CODE_S", baseInfoPopup.ChoicedRow.GetValue("ITEM_CODE_C"));
}
}
else if (ultraGrid2.ActiveCell.Column.Key == "ITEM_NAME_W")
{
string phyCode = ultraGrid2.ActiveRow.GetValue("PHY_CODE");
if (phyCode == "")
{
MessageUtil.ShowWarning("请选择检验项");
ultraGrid2.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 = "试验温度";
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") == ultraGrid2.ActiveRow.GetValue("ITEM_CODE_W"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid2.ActiveRow.SetValue("ITEM_NAME_W", baseInfoPopup.ChoicedRow.GetValue("ITEM_NAME_W"));
ultraGrid2.ActiveRow.SetValue("ITEM_CODE_W", baseInfoPopup.ChoicedRow.GetValue("ITEM_CODE_W"));
}
}
}
private void ultraTextEditor4_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
if (ultraGrid4.ActiveCell.Column.Key == "STD_DESC1")
{
var row = ultraGrid4.ActiveRow;
if (row.GetValue("PHY_CODE") == "")
{
MessageUtil.ShowWarning("请选择探伤项!");
row.Cells["PHY_CODE"].Activate();
return;
}
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.DAL.ComBaseDetectionRltDAL.QueryStdBaseInfo", new object[] { row.GetValue("PHY_CODE") }, _ob);
dt.Columns["STD_DESC"].Caption = "参考标准";
BaseInfoPopup baseInfoPopup = new BaseInfoPopup(dt, "STD_DESC", "PHY_CODE", "PHY_NAME", "STD_CODE", "LV_CODE", "LV_DESC", "ID");
baseInfoPopup.Text = "参考标准";
baseInfoPopup.LabelTextBox1.Caption = "参考标准";
baseInfoPopup.Shown += new EventHandler((c, d) =>
{
IQueryable rows = baseInfoPopup.UltraGrid1.Rows.AsQueryable().Where(
a => a.GetValue("STD_CODE") == ultraGrid4.ActiveRow.GetValue("STD_CODE1"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid4.ActiveRow.SetValue("STD_DESC1", baseInfoPopup.ChoicedRow.GetValue("STD_DESC"));
ultraGrid4.ActiveRow.SetValue("STD_CODE1", baseInfoPopup.ChoicedRow.GetValue("STD_CODE"));
ultraGrid4.ActiveRow.Cells["LV_DESC1"].Value = "";
ultraGrid4.ActiveRow.Cells["LV_CODE1"].Value = "";
}
}
else if (ultraGrid4.ActiveCell.Column.Key == "LV_DESC1")
{
var row = ultraGrid4.ActiveRow;
if (row.GetValue("STD_CODE1") == "")
{
MessageUtil.ShowWarning("请选择参考标准!");
row.Cells["STD_CODE1"].Activate();
return;
}
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.DAL.ComBaseDetectionRltDAL.QueryLvBaseInfo", new object[] { row.GetValue("STD_CODE1") }, _ob);
dt.Columns["LV_DESC"].Caption = "探伤级别";
BaseInfoPopup baseInfoPopup = new BaseInfoPopup(dt, "LV_DESC", "PHY_CODE", "PHY_NAME", "STD_DESC", "STD_CODE", "LV_CODE", "ID");
baseInfoPopup.Text = "探伤级别";
baseInfoPopup.LabelTextBox1.Caption = "探伤级别";
baseInfoPopup.Shown += new EventHandler((c, d) =>
{
IQueryable rows = baseInfoPopup.UltraGrid1.Rows.AsQueryable().Where(
a => a.GetValue("LV_CODE") == ultraGrid4.ActiveRow.GetValue("LV_CODE1"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid4.ActiveRow.SetValue("LV_DESC1", baseInfoPopup.ChoicedRow.GetValue("LV_DESC"));
ultraGrid4.ActiveRow.SetValue("LV_CODE1", baseInfoPopup.ChoicedRow.GetValue("LV_CODE"));
}
}
ultraGrid4.UpdateData();
}
}
public class FrmOrderSpecialInfoEventArgs : EventArgs
{
///
/// 特殊要求dataTable
///
private DataSet _dataSet;
public DataSet DataSet
{
get { return _dataSet; }
set { _dataSet = value; }
}
///
/// 所有界面数据组成的字符串
///
private string description;
///
/// 客户Alpha编码
///
private string custAlphaNo;
public string CustAlphaNo
{
get { return custAlphaNo; }
set { custAlphaNo = value; }
}
public string Description
{
get { return description; }
set { description = value; }
}
private string msc;
///
/// MSC
///
public string Msc
{
get { return msc; }
set { msc = value; }
}
}
}