using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Core.StlMes.Client.SaleOrder.BLL;
using CoreFS.CA06;
using Core.Mes.Client.Comm.Tool;
using Infragistics.Win.UltraWinEditors;
using Infragistics.Win.UltraWinGrid;
using Core.StlMes.Client.Qcm;
using Core.Mes.Client.Comm.Server;
using CoreFS.SA06;
using Infragistics.Win;
using Core.Mes.Client.Comm.Control;
namespace Core.StlMes.Client.SaleOrder.Control
{
public partial class CraftOrdDesignStdSicCtrl : UserControl
{
private CraftOrdDesignStdSicBLL _designStdSicBLL;
private CraftOrdDesignMscPlBLL _designMscPlBLL;
private CraftOrdDesignMscPlPrcBLL _designMscPlPrcBLL;
//初始下拉框
private UltraComboEditor[] ultras = new UltraComboEditor[9];
private OpeBase _ob;
public CraftOrdDesignStdSicCtrl(System.Windows.Forms.Control container, OpeBase ob)
{
InitializeComponent();
_ob = ob;
_designStdSicBLL = new CraftOrdDesignStdSicBLL(ob);
_designMscPlBLL = new CraftOrdDesignMscPlBLL(ob);
_designMscPlPrcBLL = new CraftOrdDesignMscPlPrcBLL(ob);
container.Controls.Add(this);
this.Dock = DockStyle.Fill;
LoadBaseData();
}
private void LoadBaseData()
{
for (int i = 0; i < ultras.Length; i++)
{
ultras[i] = new UltraComboEditor();
Controls.Add(ultras[i]);
ultras[i].Visible = false;
ultras[i].DropDownListWidth = -1;
}
//从表
UltraGridBand ugbC = entityGrid1.DisplayLayout.Bands[0];
//下限符号
QcmBaseQuery.NitializeSignMin(ultras[1]);
//公差约束项一下限符号
QcmBaseQuery.BindColumn(ultras[1], "ZminSign", ugbC);
//公差约束项二下限符号
QcmBaseQuery.BindColumn(ultras[1], "CminSign", ugbC);
//公差约束项三下限符号
QcmBaseQuery.BindColumn(ultras[1], "SminSign", ugbC);
//上限符号
QcmBaseQuery.NitializeSignMax(ultras[2]);
//公差约束项一上限符号
QcmBaseQuery.BindColumn(ultras[2], "ZmaxSign", ugbC);
//公差约束项二上限符号
QcmBaseQuery.BindColumn(ultras[2], "CmaxSign", ugbC);
//公差约束项三上限符号
QcmBaseQuery.BindColumn(ultras[2], "SmaxSign", ugbC);
//公差项
QcmBaseQuery.NitializeTolerance(ultras[3], false, _ob);
QcmBaseQuery.BindColumn(ultras[3], "BiasCode", ugbC);
//精度等级
QcmBaseQuery.NitializePrecision(ultras[4], true, _ob);
QcmBaseQuery.BindColumn(ultras[4], "Lv", ugbC);
//公差约束项
QcmBaseQuery.NitializeToleranceRestrain(ultras[7], true, _ob);
QcmBaseQuery.BindColumn(ultras[7], "BiasCodeZ", ugbC);
QcmBaseQuery.BindColumn(ultras[7], "BiasCodeC", ugbC);
QcmBaseQuery.BindColumn(ultras[7], "BiasCodeS", ugbC);
}
///
/// 查询质量设计公差
///
///
public void Query(CraftOrdDesignStdSicEntity designStdSicEntity)
{
this.CraftOrdDesignStdSicEntityBindingSource.DataSource = _designStdSicBLL.Query(designStdSicEntity);
}
private string designKey = "";
private string[] _parms;
///
/// 查询质量设计公差
///
///
public void QueryByDesignKeySic(string[] parms)
{
designKey = parms[0];
_parms = parms;
var data = _designStdSicBLL.QueryByDesignKeySic(parms);
var list = data.Select(p => p.Sic).Distinct().ToList();
if (list.Count > 1)
{
ultras[6].DataSource = data.Select(p => p.Sic).Distinct().ToList();
QcmBaseQuery.BindColumn(ultras[6], "Sic", entityGrid1.DisplayLayout.Bands[0]);
}
this.CraftOrdDesignStdSicEntityBindingSource.DataSource = data;
//UltraComboEditor cmb = new UltraComboEditor();
foreach (var row in entityGrid1.Rows)
{
GridEdite(row);
if (row.GetValue("CraftSource") == "0")
{
row.Cells["Chk"].Value = null;
row.Cells["Chk"].Activation = Activation.ActivateOnly;
row.Update();
}
//if (cmb.ValueList.FindString(row.GetValue("Sic")) == -1)
//{
// cmb.ValueList.ValueListItems.Add(row.GetValue("Sic"));
//}
}
//cmb.DisplayStyle = EmbeddableElementDisplayStyle.WindowsVista;
//entityGrid1.DisplayLayout.Bands[0].Columns["Sic"].EditorComponent = cmb;
//entityGrid1.DisplayLayout.Bands[0].Columns["Sic"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
}
private void entityGrid1_CellChange(object sender, CellEventArgs e)
{
entityGrid1.UpdateData();
GridEdite(e.Cell.Row);
}
public void Clear()
{
this.CraftOrdDesignStdSicEntityBindingSource.Clear();
}
public void Save()
{
List parms = new List();
var rows = entityGrid1.Rows.Where(a => a.GetValue("Chk") == "True");
foreach (var row in rows)
{
var parm = EntityHelper.CopyEntity(row.ListObject);
if (parm.MscPline == "")
{
MessageUtil.ShowWarning("请选择制程!");
row.SetCellActive("MscPline");
return;
}
//if (parm.ProcessDescC == "")
//{
// MessageUtil.ShowWarning("请选择二级工序!");
// row.SetCellActive("ProcessDescC");
// return;
//}
if (parm.Sic == "")
{
MessageUtil.ShowWarning("请选择公差索引码!");
row.SetCellActive("Sic");
return;
}
if (parm.BiasCode == "")
{
MessageUtil.ShowWarning("请选择公差主项!");
row.SetCellActive("BiasCode");
return;
}
if (!parm.BiasCodeZ.Equals(""))
{
if (parm.ZminSign.Equals("=") && !parm.ZmaxSign.Equals(""))
{
MessageUtil.ShowWarning("公差约束项<一>:下限符号为‘=’,不能选择上限符号!");
row.SetCellActive("ZmaxSign");
return;
}
if (parm.ZminSign.Equals("") && parm.ZmaxSign.Equals(""))
{
MessageUtil.ShowWarning("请选择公差约束项<一>:下限符号或者上限符号!");
row.SetCellActive("ZminSign");
return;
}
//上限符号与上限值
if (!parm.Zmax.Equals(""))
{
if (parm.ZmaxSign.Equals(""))
{
MessageUtil.ShowWarning("请选择公差约束项<一>:上限符号!");
row.SetCellActive("ZmaxSign");
return;
}
if (StringUtil.IsNumber(parm.Zmax) && parm.Zmax.Length > 10)
{
MessageUtil.ShowWarning("公差约束项<一>:上限值(10位以内数字)!");
row.SetCellActive("Zmax");
return;
}
string zMax = parm.Zmax.Replace('t', '1').Replace('D', '1').Replace('L', '1');
if (!StringUtil.IsNumber(parm.Zmax) && zMax.CompileFormula() == null)
{
MessageUtil.ShowWarning("公差约束项<一>:上限值(请输入合法公式!");
row.SetCellActive("Zmax");
return;
}
}
else
{
if (!parm.ZmaxSign.Equals(""))
{
MessageUtil.ShowWarning("请输入公差约束项<一>:上限值!");
row.SetCellActive("ZmaxSign");
return;
}
}
//下限符号与下限值
if (!parm.Zmin.Equals(""))
{
if (parm.ZminSign.Equals(""))
{
MessageUtil.ShowWarning("请选择公差约束项<一>:下限符号!");
row.SetCellActive("ZminSign");
return;
}
if (StringUtil.IsNumber(parm.Zmin) && parm.Zmin.Length > 10)
{
MessageUtil.ShowWarning("请输入公差约束项<一>:下限值(10位以内数字)!");
row.SetCellActive("Zmin");
return;
}
string zMin = parm.Zmin.Replace('t', '1').Replace('D', '1').Replace('L', '1');
if (!StringUtil.IsNumber(parm.Zmin) && zMin.CompileFormula() == null)
{
MessageUtil.ShowWarning("公差约束项<一>:下限值(请输入合法公式!");
row.SetCellActive("Zmin");
return;
}
}
else
{
if (!parm.ZminSign.Equals(""))
{
MessageUtil.ShowWarning("请输入公差约束项<一>:下限值!");
row.SetCellActive("Zmin");
return;
}
}
if (!parm.Zmax.Equals("") && !parm.Zmin.Equals("")) //&&Convert.ToDouble(com.Zmin)>Convert.ToDouble(com.Zmax)
{
int retrunValue = QcmBaseInfo.CheckStdData(parm.ZminSign, parm.ZmaxSign, parm.Zmin, parm.Zmax);
if (retrunValue == 0)
{
MessageUtil.ShowWarning("请输入公差约束项!");
row.SetCellActive("ZminSign");
return;
}
if (retrunValue == 1)
{
MessageUtil.ShowWarning("公差约束项<一>下限值与上限值相等,上下限符号请选择<=和>=!");
row.SetCellActive("ZminSign");
return;
}
if (retrunValue == 2)
{
MessageUtil.ShowWarning("公差约束项<一>下限值不能大于上限值!");
row.SetCellActive("Zmin");
return;
}
}
}
else
{
if (!parm.ZminSign.Equals("") || !parm.Zmin.Equals("") || !parm.ZmaxSign.Equals("") || !parm.Zmax.Equals(""))
{
MessageUtil.ShowWarning("请选择公差约束项<一>:公差约束项!");
row.SetCellActive("BiasCodeZ");
return;
}
}
if (!parm.BiasCodeC.Equals(""))
{
if (parm.CminSign.Equals("=") && !parm.CmaxSign.Equals(""))
{
MessageUtil.ShowWarning("公差约束项<二>:下限符号为‘=’,不能选择上限符号!");
row.SetCellActive("CmaxSign");
return;
}
if (parm.CminSign.Equals("") && parm.CmaxSign.Equals(""))
{
MessageUtil.ShowWarning("请选择公差约束项<二>:下限符号或者上限符号!");
row.SetCellActive("CminSign");
return;
}
//上限符号与上限值
if (!parm.Cmax.Equals(""))
{
if (parm.CmaxSign.Equals(""))
{
MessageUtil.ShowWarning("请选择公差约束项<二>:上限符号!");
row.SetCellActive("CmaxSign");
return;
}
if (StringUtil.IsNumber(parm.Cmax) && parm.Cmax.Length > 10)
{
MessageUtil.ShowWarning("请输入公差约束项<二>:上限值(10位以内数字)!");
row.SetCellActive("Cmax");
return;
}
string Cmax = parm.Cmax.Replace('t', '1').Replace('D', '1').Replace('L', '1');
if (!StringUtil.IsNumber(parm.Cmax) && Cmax.CompileFormula() == null)
{
MessageUtil.ShowWarning("公差约束项<二>:上限值(请输入合法公式!");
row.SetCellActive("Cmax");
return;
}
}
else
{
if (!parm.CmaxSign.Equals(""))
{
MessageUtil.ShowWarning("请输入公差约束项<二>:上限值!");
row.SetCellActive("Cmax");
return;
}
}
//下限符号与下限值
if (!parm.Cmin.Equals(""))
{
if (parm.CminSign.Equals(""))
{
MessageUtil.ShowWarning("请选择公差约束项<二>:下限符号!");
row.SetCellActive("CminSign");
return;
}
if (StringUtil.IsNumber(parm.Cmin) && parm.Cmin.Length > 10)
{
MessageUtil.ShowWarning("请输入公差约束项<二>:下限值(10位以内数字)!");
row.SetCellActive("Cmin");
return;
}
string Cmin = parm.Cmin.Replace('t', '1').Replace('D', '1').Replace('L', '1');
if (!StringUtil.IsNumber(parm.Cmin) && Cmin.CompileFormula() == null)
{
MessageUtil.ShowWarning("公差约束项<二>:下限值(请输入合法公式!");
row.SetCellActive("Cmin");
return;
}
}
else
{
if (!parm.CminSign.Equals(""))
{
MessageUtil.ShowWarning("请输入公差约束项<二>:下限值!");
row.SetCellActive("Cmin");
return;
}
}
if (!parm.Cmax.Equals("") && !parm.Cmin.Equals("")) // && Convert.ToDouble(com.Cmin) > Convert.ToDouble(com.Cmax)
{
int retrunValue = QcmBaseInfo.CheckStdData(parm.CminSign, parm.CmaxSign, parm.Cmin, parm.Cmax);
if (retrunValue == 0)
{
MessageUtil.ShowWarning("输入的数据不完整!");
return;
}
if (retrunValue == 1)
{
MessageUtil.ShowWarning("公差约束项<二>下限值与上限值相等,上下限符号请选择<=和>=!");
row.SetCellActive("CminSign");
return;
}
if (retrunValue == 2)
{
MessageUtil.ShowWarning("公差约束项<二>下限值不能大于上限值!");
row.SetCellActive("Cmin");
return;
}
}
}
else
{
if (!parm.CminSign.Equals("") || !parm.Cmin.Equals("") || !parm.CmaxSign.Equals("") || !parm.Cmax.Equals(""))
{
MessageUtil.ShowWarning("请选择公差约束项<二>:公差约束项!");
row.SetCellActive("BiasCodeC");
return;
}
}
if (!parm.BiasCodeS.Equals(""))
{
if (parm.SminSign.Equals("=") && !parm.SmaxSign.Equals(""))
{
MessageUtil.ShowWarning("公差约束项<三>:下限符号为‘=’,不能选择上限符号!");
row.SetCellActive("SmaxSign");
return;
}
if (parm.SminSign.Equals("") && parm.SmaxSign.Equals(""))
{
MessageUtil.ShowWarning("请选择公差约束项<三>:下限符号或者上限符号!");
row.SetCellActive("SminSign");
return;
}
//上限符号与上限值
if (!parm.Smax.Equals(""))
{
if (parm.SmaxSign.Equals(""))
{
MessageUtil.ShowWarning("请选择公差约束项<三>:上限符号!");
row.SetCellActive("SmaxSign");
return;
}
if (StringUtil.IsNumber(parm.Smax) && parm.Smax.Length > 10)
{
MessageUtil.ShowWarning("请输入公差约束项<三>:上限值(10位以内数字)!");
row.SetCellActive("Smax");
return;
}
string Smax = parm.Smax.Replace('t', '1').Replace('D', '1').Replace('L', '1');
if (!StringUtil.IsNumber(parm.Smax) && Smax.CompileFormula() == null)
{
MessageUtil.ShowWarning("公差约束项<三>:上限值(请输入合法公式!");
row.SetCellActive("Smax");
return;
}
}
else
{
if (!parm.SmaxSign.Equals(""))
{
MessageUtil.ShowWarning("请输入公差约束项<三>:上限值!");
row.SetCellActive("Smax");
return;
}
}
//下限符号与下限值
if (!parm.Smin.Equals(""))
{
if (parm.SminSign.Equals(""))
{
MessageUtil.ShowWarning("请选择公差约束项<三>:下限符号!");
row.SetCellActive("SminSign");
return;
}
if (StringUtil.IsNumber(parm.Smin) && parm.Smin.Length > 10)
{
MessageUtil.ShowWarning("请输入公差约束项<三>:下限值(10位以内数字)!");
row.SetCellActive("Smin");
return;
}
string Smin = parm.Smin.Replace('t', '1').Replace('D', '1').Replace('L', '1');
if (!StringUtil.IsNumber(parm.Smin) && Smin.CompileFormula() == null)
{
MessageUtil.ShowWarning("公差约束项<三>:下限值(请输入合法公式)!");
row.SetCellActive("Smin");
return;
}
}
else
{
if (!parm.SminSign.Equals(""))
{
MessageUtil.ShowWarning("请输入公差约束项<三>:下限值!");
row.SetCellActive("Smin");
return;
}
}
if (!parm.Smax.Equals("") && !parm.Smin.Equals("")) //&& Convert.ToDouble(com.Smin) > Convert.ToDouble(com.Smax)
{
int retrunValue = QcmBaseInfo.CheckStdData(parm.SminSign, parm.SmaxSign, parm.Smin, parm.Smax);
if (retrunValue == 0)
{
MessageUtil.ShowWarning("输入的数据不完整!");
return;
}
if (retrunValue == 1)
{
MessageUtil.ShowWarning("公差约束项<三>下限值与上限值相等,上下限符号请选择<=和>=!");
row.SetCellActive("SminSign");
return;
}
if (retrunValue == 2)
{
MessageUtil.ShowWarning("公差约束项<三>下限值不能大于上限值!");
row.SetCellActive("Smin");
return;
}
}
}
else
{
if (!parm.SminSign.Equals("") || !parm.Smin.Equals("") || !parm.SmaxSign.Equals("") || !parm.Smax.Equals(""))
{
MessageUtil.ShowWarning("请选择公差约束项<三>:公差约束项!");
row.SetCellActive("BiasCodeS");
return;
}
}
if (!parm.BiasCodeS.Equals(""))
{
if (parm.BiasCodeC.Equals(""))
{
MessageUtil.ShowWarning("请依次填写公差约束项!");
row.SetCellActive("BiasCodeC");
return;
}
else
{
if (parm.BiasCodeZ.Equals(""))
{
MessageUtil.ShowWarning("请依次填写公差约束项!");
row.SetCellActive("BiasCodeZ");
return;
}
}
}
else
{
if (!parm.BiasCodeC.Equals(""))
{
if (parm.BiasCodeZ.Equals(""))
{
MessageUtil.ShowWarning("请依次填写公差约束项!");
row.SetCellActive("BiasCodeZ");
return;
}
}
}
int i = 0;
if (!parm.StdMinVal.Equals(""))
{
i += 1;
if (!StringUtil.IsNumber(parm.StdMinVal) || parm.StdMinVal.Length > 10)
{
MessageUtil.ShowWarning("下偏差值(mm)请输入10位以内数字!");
row.SetCellActive("StdMinVal");
return;
}
//if (decimal.Parse(com.StdMinVal) < 0)
//{
// errMessage = "下偏差值(mm)不能输入负值";
// return null;
//}
}
if (!parm.StdMaxVal.Equals(""))
{
if (!StringUtil.IsNumber(parm.StdMaxVal) || parm.StdMaxVal.Length > 10)
{
MessageUtil.ShowWarning("上偏差值(mm)请输入10位以内数字!");
row.SetCellActive("StdMaxVal");
return;
}
}
if (!parm.StdMinIn.Equals(""))
{
if (!StringUtil.IsNumber(parm.StdMinIn) || parm.StdMinIn.Length > 10)
{
MessageUtil.ShowWarning("标准负值(in)请输入10位以内数字!");
row.SetCellActive("StdMinIn");
return;
}
}
if (!parm.StdMaxIn.Equals(""))
{
if (!StringUtil.IsNumber(parm.StdMaxIn) || parm.StdMaxIn.Length > 10)
{
MessageUtil.ShowWarning("标准正值(in)请输入10位以内数字!");
row.SetCellActive("StdMaxIn");
return;
}
}
if (!parm.StdMinPercent.Equals(""))
{
i += 1;
if (!StringUtil.IsNumber(parm.StdMinPercent) || parm.StdMinPercent.Length > 10)
{
MessageUtil.ShowWarning("下偏差值(%)请输入10位以内数字!");
row.SetCellActive("StdMinPercent");
return;
}
//if (decimal.Parse(com.StdMinPercent) < 0)
//{
// errMessage = "下偏差值(%)不能输入负值";
// return null;
//}
}
if (!parm.StdMaxPercent.Equals(""))
{
if (!StringUtil.IsNumber(parm.StdMaxPercent) || parm.StdMaxPercent.Length > 10)
{
MessageUtil.ShowWarning("上偏差值(%)请输入10位以内数字!");
row.SetCellActive("StdMaxPercent");
return;
}
}
if (!parm.StdMinFormula.Equals(""))
{
i += 1;
if (parm.StdMinFormula.Length > 100)
{
MessageUtil.ShowWarning("请输入标准公式下偏差值(mm)!");
row.SetCellActive("StdMinFormula");
return;
}
//if (com.StdMinFormula.StartsWith("-"))
//{
// errMessage = "标准公式下偏差值(mm)不能有负号";
// return null;
//}
}
if (!parm.StdMaxFormula.Equals(""))
{
if (parm.StdMaxFormula.Length > 100)
{
MessageUtil.ShowWarning("请输入标准公式上偏差值(mm)!");
row.SetCellActive("StdMaxFormula");
return;
}
}
if (parm.StdMinVal.Equals("") && parm.StdMinFormula.Equals("") && parm.StdMinPercent.Equals(""))
{
MessageUtil.ShowWarning("请输入一组标准值!");
row.SetCellActive("StdMinVal");
return;
}
if (parm.StdMinVal.Equals(""))
{
if (!parm.StdMaxVal.Equals(""))
{
MessageUtil.ShowWarning("下偏差值(mm)请输入10位以内数字!");
row.SetCellActive("StdMinVal");
return;
}
}
else
{
if (parm.StdMaxVal.Equals(""))
{
MessageUtil.ShowWarning("上偏差值(mm)请输入10位以内数字!");
row.SetCellActive("StdMaxVal");
return;
}
}
if (parm.StdMinPercent.Equals(""))
{
if (!parm.StdMaxPercent.Equals(""))
{
MessageUtil.ShowWarning("下偏差值(%)请输入10位以内数字!");
row.SetCellActive("StdMinPercent");
return;
}
}
else
{
if (parm.StdMaxPercent.Equals(""))
{
MessageUtil.ShowWarning("上偏差值(%)请输入10位以内数字!");
row.SetCellActive("StdMaxPercent");
return;
}
}
if (parm.StdMinFormula.Equals(""))
{
if (!parm.StdMaxFormula.Equals(""))
{
MessageUtil.ShowWarning("请输入标准公式下偏差值(mm)!");
row.SetCellActive("StdMinFormula");
return;
}
}
else
{
if (parm.StdMaxFormula.Equals(""))
{
MessageUtil.ShowWarning("请输入标准公式上偏差值(mm)!");
row.SetCellActive("StdMaxFormula");
return;
}
}
if (!parm.StdMinFormula.Equals("") && !StringUtil.IsNumber(parm.StdMinFormula))
{
if (!QcmBaseCommon.CheckToleranceFormula(parm.StdMinFormula))
{
MessageUtil.ShowWarning("您输入的标准值-公式下偏差值(mm):[" + parm.StdMinFormula + "]不合法,请重新输入!");
row.SetCellActive("StdMinFormula");
return;
}
}
if (!parm.StdMaxFormula.Equals("") && !StringUtil.IsNumber(parm.StdMaxFormula))
{
if (!QcmBaseCommon.CheckToleranceFormula(parm.StdMaxFormula))
{
MessageUtil.ShowWarning("您输入的标准值-公式上偏差值(mm):[" + parm.StdMaxFormula + "]不合法,请重新输入!");
row.SetCellActive("StdMaxFormula");
return;
}
}
if (parm.StdMaxFormulaV.Equals("1") && parm.StdMinFormulaV.Equals("1"))
{
MessageUtil.ShowWarning("不能同时选择标准取小值和取大值!");
row.SetCellActive("StdMaxFormula");
return;
}
if (i > 1 && parm.StdMinFormulaV.Equals("0") && parm.StdMaxFormulaV.Equals("0"))
{
MessageUtil.ShowWarning("请选择标准取小值或者取大值!");
row.SetCellActive("StdMinFormulaV");
return;
}
if (!parm.BiasCodeC.Equals(""))
{
if (parm.BiasCodeC.Equals(parm.BiasCodeS) || parm.BiasCodeC.Equals(parm.BiasCodeZ))
{
MessageUtil.ShowWarning("公差约束项不能相同,请重新选择!");
row.SetCellActive("BiasCodeC");
return;
}
}
if (!parm.BiasCodeS.Equals(""))
{
if (parm.BiasCodeS.Equals(parm.BiasCodeC) || parm.BiasCodeS.Equals(parm.BiasCodeZ))
{
MessageUtil.ShowWarning("公差约束项不能相同,请重新选择!");
row.SetCellActive("BiasCodeS");
return;
}
}
if (!parm.BiasCodeZ.Equals(""))
{
if (parm.BiasCodeZ.Equals(parm.BiasCodeC) || parm.BiasCodeZ.Equals(parm.BiasCodeS))
{
MessageUtil.ShowWarning("公差约束项不能相同,请重新选择!");
row.SetCellActive("BiasCodeZ");
return;
}
}
parm.CreateName = CoreUserInfo.UserInfo.GetUserName();
parm.UpdateName = CoreUserInfo.UserInfo.GetUserName();
parm.DeleteName = CoreUserInfo.UserInfo.GetUserName();
parm.SpeclFl = "2";
parm.DesginKey = designKey;
parms.Add(parm);
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认保存?") == DialogResult.No)
{
return;
}
_designStdSicBLL.Save(parms);
MessageUtil.ShowTips("保存成功!");
QueryByDesignKeySic(_parms);
}
public void Delete()
{
List parms = new List();
var rows = entityGrid1.Rows.Where(a => a.GetValue("Chk") == "True");
foreach (var row in rows)
{
var parm = EntityHelper.CopyEntity(row.ListObject);
parm.CreateName = CoreUserInfo.UserInfo.GetUserName();
parm.UpdateName = CoreUserInfo.UserInfo.GetUserName();
parm.DeleteName = CoreUserInfo.UserInfo.GetUserName();
parm.SpeclFl = "2";
parm.DesginKey = designKey;
parms.Add(parm);
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.No)
{
return;
}
_designStdSicBLL.Delete(parms);
MessageUtil.ShowTips("删除成功!");
}
private void GridEdite(UltraGridRow row)
{
if (row.GetValue("Chk") == "True")
{
foreach (UltraGridCell cell in row.Cells)
{
if (cell.Column.CellActivation == Activation.AllowEdit)
{
cell.Activation = Activation.AllowEdit;
}
}
}
else
{
foreach (UltraGridCell cell in row.Cells)
{
if (cell.Column.Key == "Chk") continue;
if (cell.Column.CellActivation == Activation.AllowEdit)
{
cell.Activation = Activation.ActivateOnly;
}
}
}
}
private void entityGrid1_AfterRowInsert(object sender, RowEventArgs e)
{
e.Row.Cells["IsCheck"].Value = true;
e.Row.Cells["StdMinFormulaV"].Value = true;
e.Row.Cells["StdMaxFormulaV"].Value = false;
e.Row.Cells["CraftSource"].Value = "1";
e.Row.Cells["SpeclFl"].Value = "2";
}
private void ultraTextEditor1_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
UltraGridRow row = entityGrid1.ActiveRow;
string key = entityGrid1.ActiveCell.Column.Key;
if (key == "MscPline")
{
DataTable dt = _designMscPlBLL.QueryMscPlineProcess(designKey);
dt.Columns["MSC_PLINE"].Caption = "制程号";
dt.Columns["WHOLE_BACKLOG"].Caption = "全程途径码";
dt.Columns["WHOLE_BACKLOG_DESC"].Caption = "全程途径描述";
dt.Columns["PROCESS_DESC"].Caption = "工序";
dt.Columns["PROCESS_DESC_C"].Caption = "二级工序";
dt.Columns["SIC"].Caption = "公差内控索引码";
DataTable dtNew = dt.Clone();
foreach (DataRow dr in dt.Rows)
{
string[] sics = dr["SIC"].ToString().Split(',');
foreach (string sic in sics)
{
DataRow drNew = dtNew.NewRow();
drNew["MSC_PLINE"] = dr["MSC_PLINE"];
drNew["WHOLE_BACKLOG"] = dr["WHOLE_BACKLOG"];
drNew["WHOLE_BACKLOG_DESC"] = dr["WHOLE_BACKLOG_DESC"];
drNew["PROCESS_DESC"] = dr["PROCESS_DESC"];
drNew["PROCESS_DESC_C"] = dr["PROCESS_DESC_C"];
drNew["PROCESS_CODE"] = dr["PROCESS_CODE"];
drNew["PROCESS_CODE_C"] = dr["PROCESS_CODE_C"];
drNew["SIC"] = sic.Trim();
dtNew.Rows.Add(drNew);
}
}
BaseInfoPopup popup = new BaseInfoPopup(dtNew, "MSC_PLINE", "PIC", "DIC", "CIC", "WIC", "GIC", "PROCESS_CODE", "PROCESS_CODE_C");
GridHelper.RefreshAndAutoSize(popup.UltraGrid1);
popup.LabelTextBox1.Caption = "制程号";
if (popup.ShowDialog() == DialogResult.OK)
{
row.SetValue("MscPline", popup.ChoicedRow.GetValue("MSC_PLINE"));
row.SetValue("ProcessDescC", popup.ChoicedRow.GetValue("PROCESS_DESC_C"));
row.SetValue("ProcessCodeC", popup.ChoicedRow.GetValue("PROCESS_CODE_C"));
row.SetValue("ProcessDesc", popup.ChoicedRow.GetValue("PROCESS_DESC"));
row.SetValue("ProcessCode", popup.ChoicedRow.GetValue("PROCESS_CODE"));
row.SetValue("Sic", popup.ChoicedRow.GetValue("SIC"));
}
}
else if (key == "ProcessDescC")
{
string mscPline = entityGrid1.ActiveRow.GetValue("MscPline");
DataTable dt = _designMscPlPrcBLL.queryProcess(designKey, mscPline);
dt.Columns["PROCESS_DESC"].Caption = "工序";
dt.Columns["PROCESS_DESC_C"].Caption = "二级工序";
BaseInfoPopup popup = new BaseInfoPopup(dt, "PROCESS_DESC_C", "PROCESS_CODE", "PROCESS_CODE_C");
popup.LabelTextBox1.Caption = "二级工序";
if (popup.ShowDialog() == DialogResult.OK)
{
row.SetValue("ProcessDescC", popup.ChoicedRow.GetValue("PROCESS_DESC_C"));
row.SetValue("ProcessCodeC", popup.ChoicedRow.GetValue("PROCESS_CODE_C"));
row.SetValue("ProcessDesc", popup.ChoicedRow.GetValue("PROCESS_DESC"));
row.SetValue("ProcessCode", popup.ChoicedRow.GetValue("PROCESS_CODE"));
}
}
else if (key == "Sic")
{
string mscPline = entityGrid1.ActiveRow.GetValue("MscPline");
string processCode = entityGrid1.ActiveRow.GetValue("ProcessCode");
DataTable dt = _designMscPlPrcBLL.queryProcessNkIndex(designKey, mscPline, processCode);
dt.Columns["SIC"].Caption = "公差内控索引码";
BaseInfoPopup popup = new BaseInfoPopup(dt, "SIC", "PIC", "CIC", "DIC", "WIC", "GIC");
popup.LabelTextBox1.Caption = "公差内控索引码";
if (popup.ShowDialog() == DialogResult.OK)
{
row.SetValue("Sic", popup.ChoicedRow.GetValue("SIC"));
}
}
}
}
}