using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Format;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Tool;
using Core.StlMes.Client.Qcm.model;
using Core.StlMes.Client.Qcm.objectData;
using CoreFS.CA06;
using Infragistics.Win.UltraWinEditors;
using Infragistics.Win.UltraWinGrid;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
namespace Core.StlMes.Client.Qcm
{
///
/// 产品规范管理
///
public partial class FrmProductManage : FrmBase
{
///
/// 提示
///
private string errMessage = "";
///
/// 下拉框数组
///
private UltraComboEditor[] uces = new UltraComboEditor[8];
///
/// 勾选条数
///
private int isSelectData = 0;
///
/// 标准名称(定位)
///
private string _stdName = "";
///
/// 产品规范描述(定位)
///
private string _pscDesc = "";
//位置
private int disWidth = 0;
///
/// alpha名称(定位)
///
private string _alphaName = "";
private string _custName = "";
private string std_code = "";
private bool _isPopupFrm = false;
///
/// 标准附加项代码
///
private string _baseCode = "";
private ArrayList codeItem = new ArrayList();
///
/// 附加要求分项
///
private Dictionary itemSub = null;
///
/// 标准说明
///
private Dictionary askSubItme = null;
///
/// 适用规格界面
///
private CtrlBaseStdRSpec _ctrlBaseStdRSpec;
private Dal _dal;
private string _psc = "";
///
/// 用于弹窗过滤相同产品下MSC已经使用的用途码。
///
public string Psc
{
get { return _psc; }
set { _psc = value; }
}
private string _useCode = "";
///
/// 用于弹窗过滤相同产品下MSC已经使用的用途码。
///
public string UseCode
{
get { return _useCode; }
set { _useCode = value; }
}
private string _gridFlag = "std";
public FrmProductManage()
{
//F1 F2功能
IsLoadUserView = true;
InitializeComponent();
ExceptionHelper.RegistException();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
ultraGrid5.DisplayLayout.Bands[0].Columns["CUST_CODE"].AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
}
public void PopupLoad(string customInfo, OpeBase ob)
{
this.CustomInfo = customInfo;
this.ob = ob;
this.OnLoad(EventArgs.Empty);
}
public FrmProductManage(string std_Code, OpeBase _ob)
: this()
{
this.ob = _ob;
ultraTabControl1.Tabs[0].Visible = false;
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[3].Visible = false;
this.std_code = std_Code;
_isPopupFrm = true;
}
private void FrmProductManage_Load(object sender, EventArgs e)
{
_dal = new Dal(ob);
InitDrop();
ultraGrid2.Enabled = false;
ultraGrid3.Enabled = false;
ultraGrid4.Enabled = false;
ultraGrid5.Enabled = false;
CreateItemSub();
dataPersion();
// disWidth = splitContainer2.SplitterDistance;
_ctrlBaseStdRSpec = new CtrlBaseStdRSpec(ultraTabPageControl4, ob);
_ctrlBaseStdRSpec.UltraGrid1.Click += _ctrlBaseStdRSpec_Click;
}
///
/// 初始化下拉框
///
private void InitDrop()
{
for (int i = 0; i < uces.Length; i++)
{
uces[i] = new UltraComboEditor();
Controls.Add(uces[i]);
uces[i].Visible = false;
uces[i].DropDownListWidth = -1;
}
UltraGridBand ugb1 = ultraGrid1.DisplayLayout.Bands[0];
UltraGridBand ugb2 = ultraGrid2.DisplayLayout.Bands[0];
UltraGridBand ugb3 = ultraGrid3.DisplayLayout.Bands[0];
//标准类型
QcmBaseQuery.NitializeStandardType(uces[0], false, this.ob);
((DataTable)uces[0].DataSource).DefaultView.RowFilter = "CODE IN ('G', 'X')";
QcmBaseQuery.BindColumn(uces[0], "STDSTYLE", ugb1);
//标准协会
QcmBaseQuery.NitializeSociety(uces[1], true, this.ob);
QcmBaseQuery.BindColumn(uces[1], "STD_STYLE", ugb1);
//管理部门
QcmBaseQuery.NitializeDepartment(uces[2], false, this.ob);
QcmBaseQuery.BindColumn(uces[2], "DEPARTMENT_CODE", ugb1);
QcmBaseQuery.BindColumn(uces[2], "DEPARTMENT_CODE", ugb2);
//品名
QcmBaseQuery.NitializeProducName(uces[3], false, this.ob);
QcmBaseQuery.BindColumn(uces[3], "PRODUCCODE", ugb2);
//标准类别
QcmBaseQuery.NitializeStdStyle(uces[4], true, this.ob);
QcmBaseQuery.BindColumn(uces[4], "STD_STYLE", ugb2);
//钢级牌号
QcmBaseQuery.NitializeSteel(uces[5], true, this.ob);
QcmBaseQuery.BindColumn(uces[5], "STEELCODE", ugb2);
//附加项
QcmBaseQuery.NitializeAskIime(uces[6], false, this.ob);
QcmBaseQuery.BindColumn(uces[6], "ASK_ITME", ugb3);
//初始化最终客户 适用所有用户 "/"----代码是 "0000"
QcmBaseQuery.NitializeCustomer(uces[7], true, this.ob);
QcmBaseQuery.BindColumn(uces[7], "CUST_CODE", ultraGrid5.DisplayLayout.Bands[0]);
ultraGrid5.DisplayLayout.Bands[0].Columns["CUST_CODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
//产品大类
UltraComboEditor HeadUce = new UltraComboEditor();
this.Controls.Add(HeadUce);
HeadUce.Visible = false;
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.getProductHead", null, this.ob);
HeadUce.DataSource = dt;
HeadUce.ValueMember = "BASECODE";
HeadUce.DisplayMember = "BASENAME";
ultraGrid2.DisplayLayout.Bands[0].Columns["PRODUC_HEAD"].EditorComponent = HeadUce;
ultraGrid2.DisplayLayout.Bands[0].Columns["PRODUC_HEAD"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
}
///
/// 重写基类方法
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "doQuery":
DoQuery(std_code);
break;
case "doSave":
DoSave();
break;
case "doDelete":
this.DoDeleteOrResume(true);
break;
case "doResume":
this.DoDeleteOrResume(false);
break;
case "DeleteStd":
DeleteOrResumeStd(true);
break;
case "ResumeStd":
DeleteOrResumeStd(false);
break;
case "CopyStd":
CopyStd();
break;
case "Forbidden":
ForbiddenOrder("1");
break;
case "Allow":
ForbiddenOrder("0");
break;
case "Refresh":
InitDrop();
break;
case "export":
GridHelper.ulGridToExcel(ultraGrid1, "标准号管理-交付");
break;
case "Close":
this.Close();
break;
}
}
private void ForbiddenOrder(string flag)
{
var row = ultraGrid1.ActiveRow;
if (row == null)
{
MessageUtil.ShowWarning("请选择记录!");
return;
}
if (!CheckStdUnit(row))
{
MessageUtil.ShowWarning(errMessage);
return;
}
string stdCode = row.GetValue("STD_CODE");
ServerHelper.SetData("com.steering.pss.qcm.CoreProductManage.ForbiddenOrder",
new object[] { stdCode, flag, UserInfo.GetUserName() }, ob);
MessageUtil.ShowTips("操作成功!");
DoQuery("");
foreach (var row2 in ultraGrid1.Rows)
{
if (row2.GetValue("STD_CODE") == stdCode)
{
row2.Activate();
break;
}
}
}
private void CopyStd()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowWarning("请选择一条记录!");
return;
}
string stdCode = ultraGrid1.GetActiveRowValue("STD_CODE");
string stdName = ultraGrid1.GetActiveRowValue("STD_NAME");
FrmInputStdName frmStd = new FrmInputStdName(ob, stdName);
if (frmStd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
_dal.CoreProductManage.CopyStd(stdCode, frmStd.StdName);
MessageUtil.ShowTips("复制成功!");
DoQuery("");
foreach (var row in ultraGrid1.Rows)
{
if (row.GetValue("STD_NAME") == frmStd.StdName)
{
row.Activate();
break;
}
}
}
}
private void Export()
{
switch (_gridFlag)
{
case "ultraGrid1":
GridHelper.ulGridToExcel(ultraGrid1, "标准");
break;
case "ultraGrid2":
GridHelper.ulGridToExcel(ultraGrid2, "产品");
break;
case "ultraGrid3":
GridHelper.ulGridToExcel(ultraGrid3, "附加要求");
break;
case "ultraGrid4":
GridHelper.ulGridToExcel(ultraGrid4, "用途码");
break;
case "_ctrlBaseStdRSpec":
GridHelper.ulGridToExcel(_ctrlBaseStdRSpec.UltraGrid1, "适用规格");
break;
}
}
private void DeleteOrResumeStd(bool deleteFlag)
{
string tipStr = deleteFlag ? "作废" : "恢复";
if (MessageUtil.ShowYesNoAndQuestion("是否确认" + tipStr + "标准向下的所有基础数据?") == DialogResult.No)
{
return;
}
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.GetValue("CHC") == "True" && row.GetValue("VALIDFLAG") != "")
{
if (!CheckStdUnit(row))
{
MessageUtil.ShowWarning(errMessage);
return;
}
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.OrderLineUseCnt",
new object[] { row.GetValue("STD_CODE") }, ob);
if (dt.Rows[0][0].ToString() != "0")
{
MessageUtil.ShowWarning("该标准正在被合同使用,不能作废!");
return;
}
ServerHelper.SetData("com.steering.pss.qcm.CoreProductManage.deleteOrResumeStd",
new object[] { deleteFlag.ToString(), UserInfo.GetUserName(), row.GetValue("STD_CODE") }, ob);
}
}
MessageUtil.ShowTips(tipStr + "成功!");
DoQuery(std_code);
}
///
/// 查询
///
private void DoQuery(string std_Code)
{
string valid = "1";
if (ChcValid.Checked)
{
valid = "0";
}
string stdName = "";
if (ChcStd.Checked)
{
stdName = TextStd.Text.Trim();
}
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.queryBaseStd",
new Object[] { stdName, valid, std_Code, this.CustomInfo, this.ValidDataPurviewIds }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "STD_NAME" }, new string[] { _stdName });
if (rows.Length > 0)
{
rows[0].Activate();
}
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
UltraGridBand bc = ultraGrid1.DisplayLayout.Bands[0];
UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["MEMO"], bc.Columns["STD_CODE"], bc.Columns["STD_NAME"] };
GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid1, col);
}
else
{
dataTable1.Rows.Clear();
}
isSelectData = 0;
if (ultraGrid1.Rows.Count == 0)
{
this.dataTable2.Clear();
this.dataTable3.Clear();
this.dataTable4.Clear();
this.dataTable5.Clear();
_ctrlBaseStdRSpec.Clear();
}
}
///
/// 保存
///
private void DoSave()
{
ultraGrid1.UpdateData();
ultraGrid2.UpdateData();
ultraGrid3.UpdateData();
ultraGrid4.UpdateData();
ultraGrid5.UpdateData();
isSelectData += _ctrlBaseStdRSpec.QueryableRows.Count();
//标准基础
if (isSelectData == 0)
{
MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
ArrayList stdData = new ArrayList();
UltraGridRow[] rowStd = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CHC" }, new string[] { "True" });
if (rowStd.Length > 0)
{
foreach (UltraGridRow ugr in rowStd)
{
BaseStdObject com = GetStdData(ugr);
if (!CheckStdUnit(ugr))
{
MessageUtil.ShowWarning(errMessage);
return;
}
if (!CheckStdData(com, ugr))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
com.CreateName = UserInfo.GetUserName();
com.UpdateName = UserInfo.GetUserName();
stdData.Add(JSONFormat.Format(com));
//定位
_stdName = com.StdName;
}
}
//产品规范
ArrayList pscData = new ArrayList();
UltraGridRow[] rowPsc = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "CHC" }, new string[] { "True" });
if (rowPsc.Length > 0)
{
foreach (UltraGridRow ugr in rowPsc)
{
PscEntity com = GetPscData(ugr);
if (!CheckPscUnit(ugr))
{
MessageUtil.ShowWarning(errMessage);
return;
}
if (!CheckPscData(com, ugr))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
com.CreateName = UserInfo.GetUserName();
com.UpdateName = UserInfo.GetUserName();
pscData.Add(JSONFormat.Format(com));
//定位
_pscDesc = com.PscDesc.ToString();
}
}
//附加要求
ArrayList addData = new ArrayList();
UltraGridRow[] rowAdd = GridHelper.GetRowsWithKey(ultraGrid3, new string[] { "CHC" }, new string[] { "True" });
if (rowAdd.Length > 0)
{
foreach (UltraGridRow ugr in rowAdd)
{
BaseAdditionalObject com = GetAdditionalData(ugr);
if (!CheckAdditionalData(com, ugr))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
com.CreateName = UserInfo.GetUserName();
com.UpdateName = UserInfo.GetUserName();
addData.Add(JSONFormat.Format(com));
//定位
_baseCode = com.AskSubItmeVal;
}
}
//Alpha用途码
ArrayList alphaData = new ArrayList();
UltraGridRow[] rowAlpha = GridHelper.GetRowsWithKey(ultraGrid4, new string[] { "CHC" }, new string[] { "True" });
if (rowAlpha.Length > 0)
{
foreach (UltraGridRow ugr in rowAlpha)
{
ComBaseStdAlphaEntity com = GetStdAlphaData(ugr);
if (!CheckStdAlphaUnit(ugr))
{
MessageUtil.ShowWarning(errMessage);
return;
}
if (!CheckStdAlphaData(com, ugr))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
com.CreateName = UserInfo.GetUserName();
com.UpdateName = UserInfo.GetUserName();
alphaData.Add(JSONFormat.Format(com));
//定位
_alphaName = com.AlphaName;
}
}
//客户
ArrayList custerData = new ArrayList();
UltraGridRow[] rowAllAlpha = ultraGrid5.Rows.AsQueryable().Where("CHC = 'True'")
.Where("CUST_CODE = '0000000000'").ToArray();
if (rowAllAlpha.Length > 0)
{
StdCusterObject com = GetCusterData(rowAllAlpha[0]);
if (!CheckCustData(com))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
com.CreateName = UserInfo.GetUserName();
com.UpdateName = UserInfo.GetUserName();
custerData.Add(JSONFormat.Format(com));
//定位
UltraGridRow ugr4 = ultraGrid4.ActiveRow;
if (ugr4 != null)
_alphaName = ugr4.Cells["ALPHA_NAME"].Value.ToString();
_custName = com.CustName;
}
else
{
UltraGridRow[] rowCust = GridHelper.GetRowsWithKey(ultraGrid5, new string[] { "CHC" }, new string[] { "True" });
if (rowCust.Length > 0)
{
foreach (UltraGridRow row in rowCust)
{
StdCusterObject com = GetCusterData(row);
if (!CheckCustData(com))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
com.CreateName = UserInfo.GetUserName();
com.UpdateName = UserInfo.GetUserName();
custerData.Add(JSONFormat.Format(com));
//定位
UltraGridRow ugr4 = ultraGrid4.ActiveRow;
if (ugr4 != null)
_alphaName = ugr4.Cells["ALPHA_NAME"].Value.ToString();
_custName = com.CustName;
}
}
}
//规格保存
string msg = "";
ArrayList specList = _ctrlBaseStdRSpec.GetNoQueryParms(ActionType.Save, out msg);
if (msg != "")
{
MessageUtil.ShowWarning(msg);
return;
}
if (MessageBox.Show("是否保存记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
if (stdData.Count > 0 || pscData.Count > 0 || addData.Count > 0 || alphaData.Count > 0
|| custerData.Count > 0 || specList.Count > 0)
{
int count = ServerHelper.SetData("com.steering.pss.qcm.CoreProductManage.saveProductManage",
new Object[] { stdData, pscData, addData, alphaData, custerData, specList }, this.ob);
if (count > 0)
{
MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
DoQuery(std_code);
}
}
}
private DataRow GetBaseStdByPk(string stdCode)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.getBaseStdByPk",
new object[] { stdCode }, ob);
return dt.Rows[0];
}
private DataRow GetBasePscByPk(string pscCode)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.getBasePscByPk",
new object[] { pscCode }, ob);
return dt.Rows[0];
}
private DataRow GetBaseStdRAlphaByPk(string alphaCode)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.getBaseStdRAlphaByPk",
new object[] { alphaCode }, ob);
return dt.Rows[0];
}
///
/// 获取客户数据
///
///
///
public static StdCusterObject GetCusterData(UltraGridRow ugr)
{
StdCusterObject com = new StdCusterObject();
com.StdCode = ugr.Cells["STD_CODE"].Value.ToString();
com.StdName = ugr.Cells["STD_NAME"].Value.ToString();
com.CustCode = ugr.Cells["CUST_CODE"].Value.ToString().Trim();
com.CustName = ugr.Cells["CUST_CODE"].Text;
com.CreateTime = ugr.Cells["CREATE_TIME"].Value.ToString().Trim();
com.UpdateName = ugr.Cells["UPDATE_NAME"].Value.ToString().Trim();
com.UpdateTime = ugr.Cells["UPDATE_TIME"].Value.ToString().Trim();
com.DeleteName = ugr.Cells["DELETE_NAME"].Value.ToString().Trim();
com.DeleteTime = ugr.Cells["DELETE_TIME"].Value.ToString().Trim();
com.Validflag = ugr.Cells["VALIDFLAG"].Value.ToString().Trim();
com.Memo = ugr.Cells["MEMO"].Value.ToString().Trim();
com.OldCustCode = ugr.Cells["OLD_CUST_CODE"].Value.ToString().Trim();
return com;
}
///
/// 检查最终客户数据
///
///
///
private bool CheckCustData(StdCusterObject com)
{
if (com.Validflag.Equals("无效"))
{
errMessage = "无效记录不能操作";
return false;
}
if (uces[7].IsItemInList(com.CustName) == false)
{
errMessage = "输入的客户名称在基础数据中不存在,请重新选择!";
return false;
}
if (com.CustCode.Equals("") && com.Validflag.Equals(""))
{
errMessage = "新增的最终用户数据,最终用户不能为空!";
return false;
}
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid5, new string[] { "CUST_CODE", "CHC" }, new string[] { com.CustCode, "True" });
{
if (rows.Length > 1)
{
errMessage = "最终客户" + com.CustName + "重复,请重新选择";
return false;
}
}
if (com.Validflag.Equals(""))
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.checkCuster",
new Object[] { com.StdCode, com.CustCode }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
errMessage = "最终客户" + com.CustName + "重复,请重新选择";
return false;
}
}
else
{
if (!com.CustCode.Equals(com.OldCustCode))
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.checkCuster",
new Object[] { com.StdCode, com.CustCode }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
errMessage = "最终客户" + com.CustName + "重复,请重新选择";
return false;
}
}
}
return true;
}
///
/// 作废或者恢复
///
///
private void DoDeleteOrResume(bool flag)
{
ultraGrid1.UpdateData();
ultraGrid2.UpdateData();
ultraGrid3.UpdateData();
ultraGrid4.UpdateData();
ultraGrid5.UpdateData();
isSelectData += _ctrlBaseStdRSpec.QueryableRows.Count();
//标准基础
if (isSelectData == 0)
{
MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
ArrayList stdData = new ArrayList();
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CHC" }, new string[] { "True" });
if (rows.Length > 0)
{
foreach (UltraGridRow ugr in rows)
{
BaseStdObject com = GetStdData(ugr);
com.DeleteName = UserInfo.GetUserName();
stdData.Add(JSONFormat.Format(com));
if (!CheckStdUnit(ugr))
{
MessageUtil.ShowWarning(errMessage);
return;
}
if (!CheckDeleteOrResume(com.Validflag, flag))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
_stdName = com.StdName;
if (flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkStdDelete", new Object[] { com.StdCode }, this.ob);
if (dt != null && dt.Rows.Count > 0 && Convert.ToInt32(dt.Rows[0][0]) > 0)
{
MessageBox.Show("标准名称[ " + com.StdName + " ]已经被引用,不能作废!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
}
}
//产品规范
ArrayList pscData = new ArrayList();
rows = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "CHC" }, new string[] { "True" });
if (rows.Length > 0)
{
foreach (UltraGridRow ugr in rows)
{
PscEntity com = GetPscData(ugr);
com.DeleteName = UserInfo.GetUserName();
pscData.Add(JSONFormat.Format(com));
if (!CheckPscUnit(ugr))
{
MessageUtil.ShowWarning(errMessage);
return;
}
if (!CheckDeleteOrResume(com.Validflag.ToString(), flag))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (flag)
{
//DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.isPscLinkMsc", new Object[] { ugr.Cells["PSC"].Value.ToString() }, this.ob);
//if (dt != null && dt.Rows.Count > 0)
//{
// MessageBox.Show("产品规范码 [ " + ugr.Cells["PSC"].Value.ToString() + " ]关联了冶金规范码,不能作废!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
// return;
//}
}
_pscDesc = com.PscDesc.ToString();
if (!flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkFromResume", new Object[] { com.StdCode }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
MessageBox.Show("标准名称 [ " + com.StdName + " ]已经作废,不能恢复!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
}
}
//附加要求
ArrayList addData = new ArrayList();
rows = GridHelper.GetRowsWithKey(ultraGrid3, new string[] { "CHC" }, new string[] { "True" });
if (rows.Length > 0)
{
foreach (UltraGridRow ugr in rows)
{
BaseAdditionalObject com = GetAdditionalData(ugr);
com.DeleteName = UserInfo.GetUserName();
addData.Add(JSONFormat.Format(com));
if (!CheckDeleteOrResume(com.Validflag, flag))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
_baseCode = com.AskSubItmeVal;
if (!flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkFromResume", new Object[] { com.StdCode }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
MessageBox.Show("标准名称 [" + com.StdName + " ]已经作废,不能恢复!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
}
}
//alpha
ArrayList alphaData = new ArrayList();
rows = GridHelper.GetRowsWithKey(ultraGrid4, new string[] { "CHC" }, new string[] { "True" });
if (rows.Length > 0)
{
foreach (UltraGridRow ugr in rows)
{
ComBaseStdAlphaEntity com = GetStdAlphaData(ugr);
com.DeleteName = UserInfo.GetUserName();
alphaData.Add(JSONFormat.Format(com));
if (!CheckStdAlphaUnit(ugr))
{
MessageUtil.ShowWarning(errMessage);
return;
}
if (!CheckDeleteOrResume(com.Validflag, flag))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkAlphaDelete", new Object[] { com.AlphaCode }, this.ob);
if (dt != null && dt.Rows.Count > 0 && Convert.ToInt32(dt.Rows[0][0]) > 0)
{
MessageBox.Show("Alpha名称[ " + com.AlphaName + " ]已经被引用,不能作废!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
_alphaName = com.AlphaName;
if (!flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkFromResume", new Object[] { com.StdCode }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
MessageBox.Show("标准代码 [ " + com.StdCode + " ]已经作废,不能恢复!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
}
}
//客户
ArrayList custData = new ArrayList();
rows = GridHelper.GetRowsWithKey(ultraGrid5, new string[] { "CHC" }, new string[] { "True" });
if (rows.Length > 0)
{
foreach (UltraGridRow ugr in rows)
{
UltraGridRow ugr4 = ultraGrid4.ActiveRow;
StdCusterObject com = GetObjectData.GetCusterData(ugr);
com.DeleteName = UserInfo.GetUserName();
custData.Add(JSONFormat.Format(com));
if (!CheckDeleteOrResume(com.Validflag, flag))
{
MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
_custName = com.CustName;
_alphaName = ugr4.Cells["ALPHA_NAME"].Value.ToString();
if (!flag)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkFromResumeAlpha", new Object[] { com.StdCode }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
MessageBox.Show("Alpha名称 [ " + com.StdName + " ]已经作废,不能恢复!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
}
}
//规格保存
string msg = "";
ArrayList specList = _ctrlBaseStdRSpec.GetNoQueryParms(
flag ? ActionType.Delete : ActionType.Resume, out msg);
if (msg != "")
{
MessageUtil.ShowWarning(msg);
return;
}
if (MessageBox.Show("是否" + (flag ? "作废" : "恢复") + "选择记录", "提示",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
if (stdData.Count > 0 || pscData.Count > 0 || addData.Count > 0 || alphaData.Count > 0
|| custData.Count > 0 || specList.Count > 0)
{
int count = ServerHelper.SetData("com.steering.pss.qcm.CoreProductManage.deleteOrResume",
new Object[] { stdData, pscData, addData, alphaData, custData, specList, flag }, this.ob);
if (count > 0)
{
MessageBox.Show((flag ? "作废" : "恢复") + "成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
DoQuery(std_code);
}
}
}
///
/// 检验作废或者恢复
///
/// 有效标识
///
///
private bool CheckDeleteOrResume(string valid, bool flag)
{
if (valid.Equals(""))
{
errMessage = "记录未保存,不能" + (flag ? "作废" : "恢复");
return false;
}
if (flag)
{
if (valid.Equals("无效"))
{
errMessage = "无效记录不能作废";
return false;
}
}
else
{
if (valid.Equals("有效"))
{
errMessage = "有效记录不能恢复";
return false;
}
}
return true;
}
private void CreateItemSub()
{
int count = uces[6].Items.Count;
itemSub = new Dictionary();
askSubItme = new Dictionary();
for (int i = 0; i < count; i++)
{
string itemCode = uces[6].Items[i].DataValue.ToString();
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.getSubItem", new Object[] { itemCode, "" }, this.ob);
UltraComboEditor uce = new UltraComboEditor();
uce.DataSource = dt;
uce.DisplayMember = "ASK_ITEM_DESC";
uce.ValueMember = "ASK_ITEM_NO";
Controls.Add(uce);
uce.Visible = false;
itemSub.Add(itemCode, uce);
//for (int j = 0; j < uce.Items.Count; j++)
//{
// string subCode = uce.Items[j].DataValue.ToString();
// DataTable dtSub = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.getSubItem", new Object[] { subCode, ""}, this.ob);
// UltraComboEditor uceSub = new UltraComboEditor();
// uceSub.DropDownListWidth = -1;
// uceSub.DataSource = dtSub;
// uceSub.DisplayMember = "ASK_ITEM_DESC";
// uceSub.ValueMember = "ASK_ITEM_NO";
// Controls.Add(uceSub);
// uceSub.Visible = false;
// askSubItme.Add(subCode, uceSub);
//}
}
}
private void BandItemSub(InitializeRowEventArgs e)
{
string itemCode = e.Row.Cells["ASK_ITME"].Value.ToString();
if (itemSub.ContainsKey(itemCode))
{
e.Row.Cells["ASK_SUB_ITME"].EditorComponent = itemSub[itemCode];
e.Row.Cells["ASK_SUB_ITME"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
}
//string subCode = e.Row.Cells["ASK_SUB_ITME"].Value.ToString();
//if (askSubItme.ContainsKey(subCode))
//{
// e.Row.Cells["ASK_SUB_ITME_VAL"].EditorComponent = askSubItme[subCode];
// e.Row.Cells["ASK_SUB_ITME_VAL"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
//}
}
///
/// 获取标准数据
///
///
///
private BaseStdObject GetStdData(UltraGridRow ugr)
{
BaseStdObject com = new BaseStdObject();
com.StdCode = ugr.Cells["STD_CODE"].Value.ToString().Trim();
com.StdName = ugr.Cells["STD_NAME"].Value.ToString().Trim();
com.StdStyle = ugr.Cells["STDSTYLE"].Value.ToString().Trim();
com.StdNote = ugr.Cells["STD_NOTE"].Value.ToString().Trim();
com.StdStyleCode = ugr.Cells["STD_STYLE"].Value.ToString().Trim();
com.StdStyleName = ugr.Cells["STD_STYLE_NAME"].Value.ToString().Trim();
com.StdVersion = ugr.Cells["STD_VERSION"].Value.ToString().Trim();
com.ProcessCode = ugr.Cells["PROCESS_CODE"].Value.ToString().Trim();
com.ProcessDesc = ugr.Cells["PROCESS_DESC"].Value.ToString().Trim();
com.DepartmentCode = ugr.Cells["DEPARTMENT_CODE"].Value.ToString().Trim();
com.DepartmentDesc = ugr.Cells["DEPARTMENT_DESC"].Value.ToString();
com.UnitCode = ugr.Cells["UNIT_CODE"].Value.ToString().Trim();
com.UnitDesc = ugr.Cells["UNIT_DESC"].Value.ToString();
com.CreateName = ugr.Cells["CREATE_NAME"].Value.ToString().Trim();
com.CreateTime = ugr.Cells["CREATE_TIME"].Value.ToString().Trim();
com.UpdateName = ugr.Cells["UPDATE_NAME"].Value.ToString().Trim();
com.UpdateTime = ugr.Cells["UPDATE_TIME"].Value.ToString().Trim();
com.DeleteName = ugr.Cells["DELETE_NAME"].Value.ToString().Trim();
com.DeleteTime = ugr.Cells["DELETE_TIME"].Value.ToString().Trim();
com.Validflag = ugr.Cells["VALIDFLAG"].Value.ToString().Trim();
com.Memo = ugr.Cells["MEMO"].Value.ToString().Trim();
return com;
}
private bool CheckStdUnit(UltraGridRow row)
{
if (row.GetValue("VALIDFLAG") != "")
{
DataRow drBaseStd = GetBaseStdByPk(row.GetValue("STD_CODE"));
string dataDeptCode = drBaseStd["DEPARTMENT_CODE"].ToString();
string dataUnitCode = drBaseStd["UNIT_CODE"].ToString();
if (!CheckUnit(dataDeptCode, dataUnitCode))
{
errMessage = "标准[" + row.GetValue("STD_NAME") + "]是[" + drBaseStd["UNIT_DESC"].ToString() + "]维护的,您没有权限!";
row.Activate();
return false;
}
}
return true;
}
private bool CheckUnit(string dataDeptCode, string dataUnitCode)
{
string curUnitCode = UserInfo.GetDeptid();
if (UserInfo.GetUserID() == "admin" || curUnitCode == "002001001004") return true;
if (dataDeptCode == "002001007" && curUnitCode == "002001007006")
{
return true;
}
else
{
if (dataUnitCode == curUnitCode)
{
return true;
}
else
{
return false;
}
}
}
///
/// 检查标准数据
///
///
///
private bool CheckStdData(BaseStdObject com, UltraGridRow row)
{
if (com.Validflag.Equals("无效"))
{
errMessage = "无效记录不能操作";
return false;
}
if (com.StdName.Equals(""))
{
errMessage = "请输入标准名称";
return false;
}
//验证标准名称在ultraGrid1是否重复
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "STD_NAME", "STDSTYLE" }, new string[] { com.StdName, com.StdStyle });
if (rows.Length > 1)
{
errMessage = "标准名称:" + com.StdName + " 重复,请重新输入";
return false;
}
if (com.Validflag.Equals(""))
{
//验证标准名称在数据表是否重复
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkStd", new Object[] { com.StdName, com.StdStyle }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
errMessage = "标准名称:" + com.StdName + " 重复,请重新输入";
return false;
}
}
else
{
//验证标准名称是否重复
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkStdUpdate", new Object[] { com.StdName, com.StdCode, com.StdStyle }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
errMessage = "标准名称:" + com.StdName + " 重复,请重新输入";
return false;
}
}
if (com.StdStyle == "")
{
errMessage = "请选择标准类型!";
return false;
}
string departmentCode = ClsBaseInfo.GetDepartIdBySectionId(
CoreFS.SA06.CoreUserInfo.UserInfo.GetDeptid(), this.ob);
if (departmentCode == "002001007" && com.DepartmentCode != "002001007")
{
errMessage = "技术中心所属人员,不能修改管理部门!";
row.SetCellActive("DEPARTMENT_CODE");
return false;
}
if (com.DepartmentCode.Equals(""))
{
errMessage = "请选择管理部门";
return false;
}
if (com.UnitCode.Equals(""))
{
errMessage = "请选择管理科室";
return false;
}
return true;
}
///
/// 获取产品规范数据
///
///
///
private PscEntity GetPscData(UltraGridRow ugr)
{
PscEntity com = new PscEntity();
com.Psc = ugr.Cells["PSC"].Value.ToString().Trim();
com.PscDesc = ugr.Cells["PSC_DESC"].Value.ToString().Trim();
com.Produccode = ugr.Cells["PRODUCCODE"].Value.ToString().Trim();
if (ugr.Cells["PRODUCCODE"].Value.ToString() == "")
{
com.Producname = "";
}
else
{
com.Producname = ((DataTable)uces[3].DataSource).Select(
"PRODUCCODE='" + ugr.Cells["PRODUCCODE"].Value.ToString() + "'")[0][3].ToString();
}
com.StdCode = ugr.Cells["STD_CODE"].Value.ToString().Trim();
com.StdName = ugr.Cells["STD_NAME"].Value.ToString().Trim();
com.Steelcode = ugr.Cells["STEELCODE"].Value.ToString().Trim();
com.Steelname = ugr.Cells["STEELNAME"].Value.ToString().Trim();
com.StdStyle = ugr.Cells["STD_STYLE"].Value.ToString().Trim();
com.StdStyleDesc = ugr.Cells["STD_STYLE_DESC"].Value.ToString().Trim();
com.NewProcCode = ugr.Cells["NEW_PROC_CODE"].Value.ToString().Trim();
com.CompressionRatio = ugr.Cells["COMPRESSION_RATIO"].Value == null ? "0" : ugr.Cells["COMPRESSION_RATIO"].Value.ToString();
if (Convert.ToBoolean(com.NewProcCode))
{
com.NewProcCode = "1";
}
else
{
com.NewProcCode = "0";
}
com.NewProcDesc = ugr.Cells["NEW_PROC_DESC"].Value.ToString().Trim();
com.DepartmentCode = ugr.Cells["DEPARTMENT_CODE"].Value.ToString();
com.DepartmentDesc = ugr.Cells["DEPARTMENT_DESC"].Value;
com.UnitCode = ugr.Cells["UNIT_CODE"].Value.ToString().Trim();
com.Autojudge = ugr.Cells["AUTOJUDGE"].Value.ToString().Trim();
if (Convert.ToBoolean(com.Autojudge))
{ com.Autojudge = "1"; }
else
{ com.Autojudge = "0"; }
com.UnitDesc = ugr.Cells["UNIT_DESC"].Value;
com.CreateName = ugr.Cells["CREATE_NAME"].Value.ToString().Trim();
com.CreateTime = ugr.Cells["CREATE_TIME"].Value.ToString().Trim();
com.UpdateName = ugr.Cells["UPDATE_NAME"].Value.ToString().Trim();
com.UpdateTime = ugr.Cells["UPDATE_TIME"].Value.ToString().Trim();
com.DeleteName = ugr.Cells["DELETE_NAME"].Value.ToString().Trim();
com.DeleteTime = ugr.Cells["DELETE_TIME"].Value.ToString().Trim();
com.Validflag = ugr.Cells["validflag"].Value.ToString().Trim();
com.Memo = ugr.Cells["memo"].Value.ToString().Trim();
com.ProducHead = ugr.Cells["PRODUC_HEAD"].Value.ToString();
com.ProducType = ugr.Cells["TYPECODE"].Value.ToString();
com.ProducStyle = ugr.Cells["PRODUC_STYLE"].Value.ToString();
com.ProducDesc = ugr.Cells["PRODUC_DESC"].Value.ToString();
return com;
}
private bool CheckPscUnit(UltraGridRow row)
{
if (row.GetValue("VALIDFLAG") != "")
{
DataRow drPsc = GetBasePscByPk(row.GetValue("PSC"));
string dataDeptCode = drPsc["DEPARTMENT_CODE"].ToString();
string dataUnitCode = drPsc["UNIT_CODE"].ToString();
if (!CheckUnit(dataDeptCode, dataUnitCode))
{
errMessage = "产品[" + row.GetValue("PSC_DESC") + "]是[" + drPsc["UNIT_DESC"].ToString() + "]维护的, 您没有权限!";
return false;
}
}
return true;
}
///
/// 检查产品规范数据
///
///
///
private bool CheckPscData(PscEntity com, UltraGridRow row)
{
if (com.Validflag.ToString().Equals("无效"))
{
errMessage = "无效记录不能操作";
return false;
}
if (com.Produccode.ToString().Equals(""))
{
errMessage = "请选择品名";
return false;
}
if (com.Steelcode.Equals(""))
{
errMessage = "请选择钢级牌号";
return false;
}
int sameCount = ultraGrid2.Rows.Where(a => a.GetValue("PRODUCCODE") == com.Produccode && a.GetValue("STD_CODE") == com.StdCode
&& a.GetValue("STEELCODE") == com.Steelcode && a.GetValue("STD_STYLE") == com.StdStyle).Count();
if (sameCount > 1)
{
errMessage = "将要保存的产品中存在重复记录!";
return false;
}
if (com.Validflag.Equals(""))
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkPsc",
new Object[] { com.Produccode.ToString(), com.StdStyle.ToString(),
com.Steelcode.ToString(),com.StdCode.ToString()}, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
errMessage = "产品规范描述:" + com.PscDesc + " 重复!";
return false;
}
}
else
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkPscUpdate",
new Object[] { com.Produccode, com.StdStyle, com.Steelcode, com.StdCode, com.Psc }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
errMessage = "产品规范描述:" + com.PscDesc + " 重复!";
return false;
}
}
string departmentCode = ClsBaseInfo.GetDepartIdBySectionId(
CoreFS.SA06.CoreUserInfo.UserInfo.GetDeptid(), this.ob);
if (departmentCode == "002001007" && com.DepartmentCode.ToString() != "002001007")
{
errMessage = "技术中心所属人员,不能修改管理部门!";
row.SetCellActive("DEPARTMENT_CODE");
return false;
}
if (com.UnitCode.Equals(""))
{
errMessage = "请选择管理科室";
return false;
}
if (com.DepartmentCode.Equals(""))
{
errMessage = "请选择管理部门";
return false;
}
if (com.CompressionRatio.Equals(""))
{
errMessage = "请输入锻造比极限值(默认值为1)";
return false;
}
return true;
}
///
/// 获取附加要求数据
///
///
///
private BaseAdditionalObject GetAdditionalData(UltraGridRow ugr)
{
BaseAdditionalObject com = new BaseAdditionalObject();
com.StdCode = ugr.Cells["STD_CODE"].Value.ToString().Trim();
com.StdName = ugr.Cells["STD_NAME"].Value.ToString().Trim();
com.AskItme = ugr.Cells["ASK_ITME"].Value.ToString().Trim();
com.AskItmeDesc = ugr.Cells["ASK_ITME_DESC"].Value.ToString().Trim();
com.AskSubItme = ugr.Cells["ASK_SUB_ITME"].Value.ToString().Trim();
com.AskSubItmeDesc = ugr.Cells["ASK_SUB_ITME_DESC"].Value.ToString().Trim();
com.AskSubItmeVal = ugr.Cells["ASK_SUB_ITME_VAL"].Value.ToString().Trim();
com.AskSubItmeValDesc = ugr.Cells["ASK_SUB_ITME_VAL_DESC"].Value.ToString().Trim();
com.Pic = ugr.Cells["PIC"].Value.ToString().Trim();
com.CreateName = ugr.Cells["CREATE_NAME"].Value.ToString().Trim();
com.CreateTime = ugr.Cells["CREATE_TIME"].Value.ToString().Trim();
com.UpdateName = ugr.Cells["UPDATE_NAME"].Value.ToString().Trim();
com.UpdateTime = ugr.Cells["UPDATE_TIME"].Value.ToString().Trim();
com.DeleteName = ugr.Cells["DELETE_NAME"].Value.ToString().Trim();
com.DeleteTime = ugr.Cells["DELETE_TIME"].Value.ToString().Trim();
com.Validflag = ugr.Cells["validflag"].Value.ToString().Trim();
com.Memo = ugr.Cells["memo"].Value.ToString().Trim();
com.Pk = ugr.Cells["PK"].Value.ToString().Replace("ROWID", "");
return com;
}
private bool CheckAdditionalData(BaseAdditionalObject com, UltraGridRow ugr)
{
if (com.Validflag.Equals("无效"))
{
errMessage = "无效记录不能操作";
return false;
}
if (com.AskItme.Equals(""))
{
errMessage = "请选择附加要求项";
return false;
}
if (com.AskSubItme.Equals(""))
{
errMessage = "请选择附加要求分项";
return false;
}
if (com.AskSubItmeVal.Equals(""))
{
errMessage = "请选择标准说明";
return false;
}
///先检验ultragrid:是否有相同的附加要求项
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid3, new string[] { "ASK_SUB_ITME_VAL", "CHC" }, new string[] { com.AskSubItmeVal, "True" });
if (rows.Length > 1)
{
errMessage = "标准说明:" + com.AskSubItmeValDesc + " 重复,请重新选择";
return false;
}
//如果是新增,检验数据表里是否存在相同的附加要求项
if (com.Validflag.Equals(""))
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkAdditional", new Object[] { com.StdCode, com.AskSubItmeVal }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
errMessage = "标准说明:" + com.AskSubItmeValDesc + "重复,请重新选择";
return false;
}
}
//如果是修改,先判断附加要求项是否修改过,如果修改过,检验在数据表里是否存在相同的附加要求项
else
{
if (!codeItem.Contains(com.AskSubItmeVal))
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkAdditional", new Object[] { com.StdCode, com.AskSubItmeVal }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
errMessage = "标准说明:" + com.AskSubItmeValDesc + "重复,请重新选择";
return false;
}
}
}
return true;
}
///
/// 行不可编辑
///
///
private void SetUnEnit(UltraGridRow ugr)
{
//增加行如果没有勾选则不可编辑
if (!Convert.ToBoolean(ugr.Cells["CHC"].Value))
{
for (int i = 0; i < ugr.Cells.Count; i++)
{
if (!ugr.Cells[i].Column.Key.Equals("CHC"))
ugr.Cells[i].Activation = Activation.ActivateOnly;
}
}
}
//---------------------ultraGrid1----------------------------------
///
///
///
///
///
private void ultraGrid1_CellChange(object sender, CellEventArgs e)
{
ultraGrid1.UpdateData();
UltraGridRow ugr = ultraGrid1.DisplayLayout.ActiveRow;
if (e.Cell.Column.Key.Equals("STD_NAME")) //标准名称
{
for (int i = 0; i < ultraGrid2.Rows.Count; i++)
{
ultraGrid2.Rows[i].Cells["STD_NAME"].Value = ugr.Cells["STD_NAME"].Value.ToString().Trim();
ultraGrid2.Rows[i].Cells["STD_CODE"].Value = ugr.Cells["STD_CODE"].Value.ToString().Trim();
}
for (int i = 0; i < ultraGrid3.Rows.Count; i++)
{
ultraGrid3.Rows[i].Cells["STD_NAME"].Value = ugr.Cells["STD_NAME"].Value.ToString().Trim();
ultraGrid3.Rows[i].Cells["STD_CODE"].Value = ugr.Cells["STD_CODE"].Value.ToString().Trim();
}
}
if (e.Cell.Column.Key.Equals("STDSTYLE")) //标准类型
{
ugr.Cells["STD_NOTE"].Value = ugr.Cells["STDSTYLE"].Text;
}
if (e.Cell.Column.Key.Equals("STD_STYLE")) //标准协会
{
ugr.Cells["STD_STYLE_NAME"].Value = ugr.Cells["STD_STYLE"].Text;
}
if (e.Cell.Column.Key.Equals("DEPARTMENT_CODE")) //部门管理
{
ugr.Cells["DEPARTMENT_DESC"].Value = ugr.Cells["DEPARTMENT_CODE"].Text;
ugr.Cells["UNIT_DESC"].Value = "";
ugr.Cells["UNIT_CODE"].Value = "";
}
if (e.Cell.Column.Key.Equals("UNIT_CODE")) //科室管理
{
ugr.Cells["UNIT_DESC"].Value = ugr.Cells["UNIT_CODE"].Text;
}
if (e.Cell.Column.Key.Equals("CHC"))//选择
{
Activation activation = Activation.ActivateOnly;
if (Convert.ToBoolean(e.Cell.Value))
{
activation = Activation.AllowEdit;
isSelectData += 1;
}
else
isSelectData -= 1;
CellsCollection cells = e.Cell.Row.Cells;
for (int i = 0; i < cells.Count; i++)
{
if (!cells[i].Column.Key.Equals("CHC") && !cells[i].Column.Key.Equals("STD_NAME"))
{
e.Cell.Row.Cells[i].Activation = activation;
}
}
if (!e.Cell.Row.Cells["CREATE_NAME"].Value.ToString().Equals(""))
{
if (ultraGrid2.Rows.Count > 0 || ultraGrid3.Rows.Count > 0 || ultraGrid4.Rows.Count > 0)
{
e.Cell.Row.Cells["STD_NAME"].Activation = Activation.ActivateOnly;
e.Cell.Row.Cells["STDSTYLE"].Activation = Activation.ActivateOnly;
}
else
{
e.Cell.Row.Cells["STD_NAME"].Activation = activation;
e.Cell.Row.Cells["STDSTYLE"].Activation = activation;
}
}
else
e.Cell.Row.Cells["STD_NAME"].Activation = activation;
}
}
///
/// 行激活事件
///
///
///
private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
this.Cursor = Cursors.WaitCursor;
try
{
ultraGrid2.Enabled = true;
ultraGrid3.Enabled = true;
ultraGrid4.Enabled = true;
ultraGrid1.UpdateData();
ultraGrid2.UpdateData();
ultraGrid3.UpdateData();
ultraGrid4.UpdateData();
UltraGridRow ugr = ultraGrid1.ActiveRow;
for (int i = 0; i < ultraGrid1.Rows.Count; i++)
{
if (!ultraGrid1.Rows[i].Equals(ugr))
{
ultraGrid1.Rows[i].Cells["CHC"].Value = false;
}
}
string stdCode = ugr.Cells["STD_CODE"].Value.ToString();
_stdName = ugr.Cells["STD_NAME"].Value.ToString();
//如果有效,则可用
if (ugr.Cells["VALIDFLAG"].Value.ToString().Equals("有效"))
{
ultraGrid2.Enabled = true;
ultraGrid3.Enabled = true;
ultraGrid4.Enabled = true;
}
else
{
ultraGrid2.Enabled = false;
ultraGrid3.Enabled = false;
ultraGrid4.Enabled = false;
}
string valid = "1";
if (ChcValid.Checked)
{
valid = "0";
}
DataTable dtPsc = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.queryPsc", new Object[] { stdCode, valid }, this.ob);
if (dtPsc != null && dtPsc.Rows.Count > 0)
{
GridHelper.CopyDataToDatatable(ref dtPsc, ref dataTable2, true);
//QcmBaseCommon.SetNoEdit(ultraGrid2);
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid2);
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid2, new string[] { "PSC_DESC" }, new string[] { _pscDesc });
if (rows.Length > 0)
rows[0].Activate();
UltraGridBand bc = ultraGrid2.DisplayLayout.Bands[0];
UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["MEMO"], bc.Columns["PSC"],
bc.Columns["PRODUCCODE"], bc.Columns["STEELCODE"] };
GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid2, col);
}
else
{
dataTable2.Rows.Clear();
}
DataTable dtAdd = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.queryAdd", new Object[] { stdCode, valid }, this.ob);
if (dtAdd != null && dtAdd.Rows.Count > 0)
{
GridHelper.CopyDataToDatatable(ref dtAdd, ref dataTable3, true);
//QcmBaseCommon.SetNoEdit(ultraGrid3);l
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid3);
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid3, new string[] { "ASK_SUB_ITME_VAL" }, new string[] { _baseCode });
if (rows.Length > 0)
rows[0].Activate();
UltraGridBand bc = ultraGrid3.DisplayLayout.Bands[0];
UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["ASK_SUB_ITME_VAL"], bc.Columns["STD_NAME"], bc.Columns["MEMO"] };
GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid3, col);
for (int i = 0; i < dtAdd.Rows.Count; i++)
{
codeItem.Add(dtAdd.Rows[i]["ASK_SUB_ITME_VAL"].ToString());
}
}
else
{
dataTable3.Rows.Clear();
}
DataTable dtAlpha = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.queryAlpha",
new Object[] { stdCode, _psc, _useCode, valid, _isPopupFrm.ToString() }, this.ob);
if (dtAlpha != null && dtAlpha.Rows.Count > 0)
{
GridHelper.CopyDataToDatatable(ref dtAlpha, ref dataTable4, true);
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid4);
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid4, new string[] { "ALPHA_NAME" }, new string[] { _alphaName });
if (rows.Length > 0)
rows[0].Activate();
UltraGridBand bc = ultraGrid4.DisplayLayout.Bands[0];
UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["MEMO"] };
GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid4, col);
}
else
{
dataTable4.Rows.Clear();
}
foreach (UltraGridRow row in ultraGrid4.Rows)
{
ControlGrid4Edit(row);
}
string stdName = ultraGrid1.GetActiveRowValue("STD_NAME");
BaseStdRSpecEntity baseStdRSpec = new BaseStdRSpecEntity();
baseStdRSpec.StdCode = stdCode;
baseStdRSpec.StdName = stdName;
baseStdRSpec.ValidflagName = ultraGrid1.GetActiveRowValue("VALIDFLAG");
baseStdRSpec.Validflag = ChcValid.Checked ? "0" : "1";
_ctrlBaseStdRSpec.Query(baseStdRSpec);
_pscDesc = "";
_baseCode = "";
_alphaName = "";
}
finally
{
this.Cursor = Cursors.Default;
}
}
private void ultraGrid1_AfterRowInsert(object sender, RowEventArgs e)
{
//增加一行,自动获取最大的标准代码,然后加1
UltraGridRow ugr = ultraGrid1.ActiveRow;
int stdCode = 0;
DataRow[] rows = dataTable1.Select("", "STD_CODE DESC");
if (rows.Length > 0)
stdCode = Convert.ToInt32(rows[0]["STD_CODE"].ToString().Substring(3, 7));
ugr.Cells["STD_CODE"].Value = "STD" + string.Format("{0:0000000}", (stdCode + 1));
//增加行如果没有勾选则不可编辑
SetUnEnit(ugr);
e.Row.Cells["UNIT_CODE"].Value = CoreFS.SA06.CoreUserInfo.UserInfo.GetDeptid();
e.Row.Cells["DEPARTMENT_CODE"].Value = ClsBaseInfo.GetDepartIdBySectionId(
CoreFS.SA06.CoreUserInfo.UserInfo.GetDeptid(), this.ob);
}
private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
{
if (e.Row.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
{
e.Row.Appearance.ForeColor = Color.Red;
}
else
{
e.Row.Appearance.ForeColor = Color.Black;
}
}
//---------------------ultraGrid2----------------------------------
///
///
///
///
///
private void ultraGrid2_CellChange(object sender, CellEventArgs e)
{
ultraGrid2.UpdateData();
UltraGridRow ugr = ultraGrid2.ActiveRow;
string productNameJx = ""; //品名简写
DataRow[] dr1 = ((DataTable)uces[3].DataSource).Select("PRODUCCODE='" + ugr.Cells["PRODUCCODE"].Value.ToString() + "'");
if (dr1.Length > 0)
{
//ugr.Cells["PRODUC_DESC"].Value = dr[0][2]; //销售分类
productNameJx = dr1[0][3].ToString();
// ugr.Cells["PRODUC_HEAD"].Value = dr[0][4]; //产品大类
}
if (e.Cell.Column.Key.Equals("PRODUCCODE")) //品名描述
{
ugr.Cells["PRODUCNAME"].Value = ugr.Cells["PRODUCCODE"].Text;
DataRow[] dr = ((DataTable)uces[3].DataSource).Select("PRODUCCODE='" + ugr.Cells["PRODUCCODE"].Value.ToString() + "'");
if (dr.Length > 0)
{
ugr.Cells["PRODUC_DESC"].Value = dr[0][2]; //销售分类
productNameJx = dr[0][3].ToString();
ugr.Cells["PRODUC_HEAD"].Value = dr[0][4]; //产品大类
ugr.Cells["PRODUC_STYLE"].Value = dr[0][6];
string type_desc = "";
switch (dr[0][5].ToString())
{
case "A":
type_desc = "钢管(管坯)";
break;
case "B":
type_desc = "钢管+接箍";
break;
case "C":
type_desc = "短节+附件";
break;
case "D":
type_desc = "接箍";
break;
case "E":
type_desc = "双公短节";
break;
default:
type_desc = "未定义";
break;
}
ugr.Cells["TYPECODE"].Value = dr[0][5];
ugr.Cells["PRODUC_TYPE"].Value = type_desc;
}
}
if (e.Cell.Column.Key.Equals("STEELCODE")) //钢级(牌号)名称
{
ugr.Cells["STEELNAME"].Value = ugr.Cells["STEELCODE"].Text;
}
if (e.Cell.Column.Key.Equals("STD_STYLE")) //标准类别描述(PSL1....)
{
ugr.Cells["STD_STYLE_DESC"].Value = ugr.Cells["STD_STYLE"].Text;
}
//产品规范描述组成 =品名,标准类别 空格 钢级,标准
ugr.Cells["PSC_DESC"].Value = productNameJx;
//标准类别
string stdStyleDesc = ugr.Cells["STD_STYLE_DESC"].Text;
if (stdStyleDesc != "")
{
if (ugr.Cells["PSC_DESC"].Value.ToString() == "")
{
ugr.Cells["PSC_DESC"].Value = stdStyleDesc;
}
else
{
if (stdStyleDesc != "")
{
ugr.Cells["PSC_DESC"].Value = ugr.Cells["PSC_DESC"].Value.ToString() + "," + stdStyleDesc;
}
}
}
if (ugr.Cells["STEELNAME"].Text != "")
{
if (ugr.Cells["PSC_DESC"].Value.ToString() == "")
{
ugr.Cells["PSC_DESC"].Value = ugr.Cells["STEELNAME"].Text;
}
else
{
if (ugr.Cells["STEELNAME"].Text != "")
{
if (stdStyleDesc == "")
{
ugr.Cells["PSC_DESC"].Value = ugr.Cells["PSC_DESC"].Value.ToString() + "," + ugr.Cells["STEELNAME"].Text;
}
else
{
ugr.Cells["PSC_DESC"].Value = ugr.Cells["PSC_DESC"].Value.ToString() + " " + ugr.Cells["STEELNAME"].Text;
}
}
}
}
if (ugr.Cells["STD_NAME"].Text != "")
{
if (ugr.Cells["PSC_DESC"].Value.ToString() == "")
{
ugr.Cells["PSC_DESC"].Value = ugr.Cells["STD_NAME"].Text;
}
else
{
if (ugr.Cells["STD_NAME"].Text != "")
{
ugr.Cells["PSC_DESC"].Value = ugr.Cells["PSC_DESC"].Value.ToString() + "," + ugr.Cells["STD_NAME"].Text;
}
}
}
if (e.Cell.Column.Key.Equals("DEPARTMENT_CODE")) //部门管理
{
ugr.Cells["DEPARTMENT_DESC"].Value = ugr.Cells["DEPARTMENT_CODE"].Text;
//根据部门号查询管理科室
}
if (e.Cell.Column.Key.Equals("UNIT_CODE")) //科室管理
{
ugr.Cells["UNIT_DESC"].Value = ugr.Cells["UNIT_CODE"].Text;
}
if (e.Cell.Column.Key.Equals("CHC"))//选择
{
Activation activation = Activation.ActivateOnly;
if (Convert.ToBoolean(e.Cell.Value))
{
activation = Activation.AllowEdit;
isSelectData += 1;
}
else
isSelectData -= 1;
CellsCollection cells = e.Cell.Row.Cells;
for (int i = 0; i < cells.Count; i++)
{
if (!cells[i].Column.Key.Equals("CHC"))
{
e.Cell.Row.Cells[i].Activation = activation;
}
}
//-----------------2015-3-15 PSC下存在MSC时 PSC_DESC不能修改。----------------------------------------------
if (e.Cell.Value.ToString().ToUpper() == "TRUE" && ugr.Cells["VALIDFLAG"].Value.ToString() != "")
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.isPscLinkMsc", new Object[] { ugr.Cells["PSC"].Value.ToString() }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
ugr.Cells["PRODUCCODE"].Activation = Activation.ActivateOnly;
ugr.Cells["STEELCODE"].Activation = Activation.ActivateOnly;
ugr.Cells["STD_STYLE"].Activation = Activation.ActivateOnly;
ugr.Cells["PRODUC_HEAD"].Activation = Activation.ActivateOnly;
}
else
{
ugr.Cells["PRODUCCODE"].Activation = Activation.AllowEdit;
ugr.Cells["STEELCODE"].Activation = Activation.AllowEdit;
ugr.Cells["STD_STYLE"].Activation = Activation.AllowEdit;
ugr.Cells["PRODUC_HEAD"].Activation = Activation.AllowEdit;
}
}
//----------------------------------------------------------------------------------
}
}
private void ultraGrid2_AfterRowInsert(object sender, RowEventArgs e)
{//增加一行,自动获取最大的最大产品规范码,然后加1
UltraGridRow ugr = ultraGrid2.DisplayLayout.ActiveRow;
UltraGridRow ugr1 = ultraGrid1.DisplayLayout.ActiveRow;
int psc = 0;
DataRow[] rows = dataTable2.Select("", "PSC DESC");
if (rows.Length > 0)
psc = Convert.ToInt32(rows[0]["PSC"].ToString().Substring(4, 6));
ugr.Cells["PSC"].Value = "PSC" + string.Format("{0:0000000}", (psc + 1));
ugr.Cells["STD_NAME"].Value = ugr1.Cells["STD_NAME"].Value.ToString().Trim();
ugr.Cells["STD_CODE"].Value = ugr1.Cells["STD_CODE"].Value.ToString().Trim();
ugr.Cells["COMPRESSION_RATIO"].Value = "1";
//ugr.Cells["DEPARTMENT_DESC"].Value = UserInfo.GetDepartment();
//ugr.Cells["DEPARTMENT_CODE"].Value = UserInfo.GetDeptid();
SetUnEnit(ugr);
if (ultraGrid1.ActiveRow != null)
{
e.Row.Cells["UNIT_CODE"].Value = ultraGrid1.GetActiveRowValue("UNIT_CODE");
e.Row.Cells["UNIT_DESC"].Value = ultraGrid1.GetActiveRowValue("UNIT_DESC");
e.Row.Cells["DEPARTMENT_CODE"].Value = ultraGrid1.GetActiveRowValue("DEPARTMENT_CODE");
e.Row.Cells["DEPARTMENT_DESC"].Value = ultraGrid1.GetActiveRowValue("DEPARTMENT_DESC");
}
}
private void ultraGrid2_InitializeRow(object sender, InitializeRowEventArgs e)
{
if (e.Row.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
{
e.Row.Appearance.ForeColor = Color.Red;
}
else
{
e.Row.Appearance.ForeColor = Color.Black;
}
e.Row.Cells["BTN_MSC"].Value = "冶金规范";
e.Row.Cells["BTN_MSC"].ButtonAppearance.BackColor = Color.FromArgb(99, 184, 255);
}
//---------------------ultraGrid3----------------------------------
private void ultraGrid3_AfterRowInsert(object sender, RowEventArgs e)
{
ultraGrid3.UpdateData();
UltraGridRow ugrStd = ultraGrid1.ActiveRow;
UltraGridRow ugrAdd = ultraGrid3.ActiveRow;
ugrAdd.Cells["STD_CODE"].Value = ugrStd.Cells["STD_CODE"].Value.ToString().Trim();
ugrAdd.Cells["STD_NAME"].Value = ugrStd.Cells["STD_NAME"].Value.ToString().Trim();
SetUnEnit(ugrAdd);
}
private void ultraGrid3_CellChange(object sender, CellEventArgs e)
{
ultraGrid3.UpdateData();
UltraGridRow ugr = ultraGrid3.ActiveRow;
if (e.Cell.Column.Key.Equals("ASK_ITME"))
{
ugr.Cells["ASK_ITME_DESC"].Value = e.Cell.Text;
ugr.Cells["ASK_SUB_ITME"].Value = "";
ugr.Cells["ASK_SUB_ITME_DESC"].Value = "";
ugr.Cells["ASK_SUB_ITME_VAL"].Value = "";
ugr.Cells["ASK_SUB_ITME_VAL_DESC"].Value = "";
}
if (e.Cell.Column.Key.Equals("ASK_SUB_ITME"))
{
ugr.Cells["ASK_SUB_ITME_DESC"].Value = e.Cell.Text;
ugr.Cells["ASK_SUB_ITME_VAL"].Value = "";
ugr.Cells["ASK_SUB_ITME_VAL_DESC"].Value = "";
}
if (e.Cell.Column.Key.Equals("CHC"))//选择
{
Activation activation = Activation.ActivateOnly;
if (Convert.ToBoolean(e.Cell.Value))
{
activation = Activation.AllowEdit;
isSelectData += 1;
}
else
isSelectData -= 1;
CellsCollection cells = e.Cell.Row.Cells;
for (int i = 0; i < cells.Count; i++)
{
if (!cells[i].Column.Key.Equals("CHC"))
{
e.Cell.Row.Cells[i].Activation = activation;
}
}
}
}
private void ultraGrid3_InitializeRow(object sender, InitializeRowEventArgs e)
{
BandItemSub(e);
if (e.Row.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
{
e.Row.Appearance.ForeColor = Color.Red;
}
else
{
e.Row.Appearance.ForeColor = Color.Black;
}
}
private void ChcStd_CheckedChanged(object sender, EventArgs e)
{
if (ChcStd.Checked)
{
TextStd.Enabled = true;
}
else
{
TextStd.Enabled = false;
}
}
private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e)
{
if (disWidth == 0)
{
disWidth = splitContainer2.SplitterDistance;
}
if (ultraExpandableGroupBox1.Expanded)
{
splitContainer2.SplitterDistance = disWidth;
}
else
splitContainer2.SplitterDistance = this.Width;
}
// --------------------------ultraGrid4---------------------------------------------
private void ultraGrid4_AfterRowInsert(object sender, RowEventArgs e)
{
UltraGridRow ugr = ultraGrid4.DisplayLayout.ActiveRow;
UltraGridRow ugr1 = ultraGrid1.DisplayLayout.ActiveRow;
int alphacode = -1;
DataRow[] rows = dataTable4.Select("", "ALPHA_CODE DESC");
if (rows.Length > 0)
alphacode = Convert.ToInt32(rows[0]["ALPHA_CODE"].ToString().Substring(10, 3));
ugr.Cells["ALPHA_CODE"].Value = ugr1.Cells["STD_CODE"].Value.ToString().Trim() + string.Format("{0:000}", (alphacode + 1));
ugr.Cells["STD_CODE"].Value = ugr1.Cells["STD_CODE"].Value.ToString().Trim();
ugr.Cells["STD_STYLE"].Value = ugr1.Cells["STD_STYLE"].Value.ToString().Trim();
ugr.Cells["STD_STYLE_NAME"].Value = ugr1.Cells["STD_STYLE"].Text.Trim();
ugr.Cells["ALPHA_NAME"].Value = ugr1.Cells["STD_NAME"].Value.ToString() + string.Format("{0:000}", (alphacode + 1));
ugr.Cells["UNIT_CODE"].Value = UserInfo.GetDeptid();
ugr.Cells["UNIT_DESC"].Value = UserInfo.GetDepartment();
ugr.Cells["DEPARTMENT_CODE"].Value = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
ugr.Cells["DEPARTMENT_DESC"].Value = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
SetUnEnit(ugr);
}
private ComBaseStdAlphaEntity GetStdAlphaData(UltraGridRow ugr)
{
ComBaseStdAlphaEntity cmsae = new ComBaseStdAlphaEntity();
cmsae.AlphaCode = ugr.Cells["ALPHA_CODE"].Value.ToString();
cmsae.AlphaName = ugr.Cells["ALPHA_NAME"].Value.ToString();
cmsae.StdCode = ugr.Cells["STD_CODE"].Value.ToString();
cmsae.StdNote = ugr.Cells["STD_NOTE"].Value.ToString();
cmsae.StdStyle = ugr.Cells["STD_STYLE"].Value.ToString();
cmsae.StdStyleName = ugr.Cells["STD_STYLE_NAME"].Value.ToString();
cmsae.StdVersion = ugr.Cells["STD_VERSION"].Value.ToString();
cmsae.DepartmentCode = ugr.Cells["DEPARTMENT_CODE"].Value.ToString();
cmsae.DepartmentDesc = ugr.Cells["DEPARTMENT_DESC"].Value.ToString();
cmsae.UnitCode = ugr.Cells["UNIT_CODE"].Value.ToString();
cmsae.UnitDesc = ugr.Cells["UNIT_DESC"].Value.ToString();
cmsae.CreateName = ugr.Cells["CREATE_NAME"].Value.ToString();
cmsae.CreateTime = ugr.Cells["CREATE_TIME"].Value.ToString();
cmsae.UpdateName = ugr.Cells["UPDATE_NAME"].Value.ToString();
cmsae.UpdateTime = ugr.Cells["UPDATE_TIME"].Value.ToString();
cmsae.DeleteName = ugr.Cells["UPDATE_TIME"].Value.ToString();
cmsae.DeleteTime = ugr.Cells["DELETE_TIME"].Value.ToString();
cmsae.Validflag = ugr.Cells["VALIDFLAG"].Value.ToString();
cmsae.Memo = ugr.Cells["MEMO"].Value.ToString();
return cmsae;
}
private bool CheckStdAlphaUnit(UltraGridRow row)
{
if (row.GetValue("VALIDFLAG") != "")
{
DataRow drStdAlpha = GetBaseStdRAlphaByPk(row.GetValue("ALPHA_CODE"));
string dataDeptCode = drStdAlpha["DEPARTMENT_CODE"].ToString();
string dataUnitCode = drStdAlpha["UNIT_CODE"].ToString();
if (!CheckUnit(dataDeptCode, dataUnitCode))
{
errMessage = "用途描述[" + row.GetValue("ALPHA_NAME") + "]是[" + drStdAlpha["UNIT_DESC"].ToString() + "]维护的,您没有权限!";
return false;
}
}
return true;
}
private bool CheckStdAlphaData(ComBaseStdAlphaEntity com, UltraGridRow row)
{
if (com.Validflag.Equals("无效"))
{
errMessage = "无效记录不能操作";
return false;
}
if (com.AlphaName.Equals(""))
{
errMessage = "请输入Alpha名称";
return false;
}
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid4, new string[] { "ALPHA_NAME", "CHC" }, new string[] { com.AlphaName, "True" });
if (rows.Length > 1)
{
errMessage = "Alpha名称:" + com.AlphaName + " 重复!";
return false;
}
if (com.Validflag.Equals(""))
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkAlpha",
new Object[] { com.AlphaName, com.StdCode }, this.ob);
if (dt != null && dt.Rows[0][0].ToString() != "0")
{
errMessage = "Alpha名称:" + com.AlphaName + " 重复!";
return false;
}
}
else
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.checkAlphaUpdate",
new Object[] { com.AlphaCode, com.AlphaName, com.StdCode }, this.ob);
if (dt != null && dt.Rows[0][0].ToString() != "0")
{
errMessage = "Alpha名称:" + com.AlphaName + " 重复!";
return false;
}
}
if (com.DepartmentCode == "")
{
errMessage = "请选择管理部门!";
return false;
}
if (com.UnitCode == "")
{
errMessage = "请选择管理科室!";
return false;
}
return true;
}
private void ControlGridEdit(UltraGridRow row, List listNoEdit, List listDrop)
{
if (row.Cells.Exists("CHC") == false) return;
if (row.Cells["CHC"].Value.ToString() == "True")
{
foreach (UltraGridCell cell in row.Cells)
{
if (cell.Column.Key == "CHC") continue;
if (listNoEdit.Contains(cell.Column.Key))
{
cell.Activation = Activation.ActivateOnly;
}
else if (listDrop.Contains(cell.Column.Key))
{
cell.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
cell.Activation = Activation.AllowEdit;
}
else
{
cell.Activation = Activation.AllowEdit;
}
}
}
else
{
foreach (UltraGridCell cell in row.Cells)
{
if (cell.Column.Key == "CHC") continue;
if (listDrop.Contains(cell.Column.Key))
{
cell.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
cell.Activation = Activation.ActivateOnly;
}
else
{
cell.Activation = Activation.ActivateOnly;
}
}
}
}
private void ControlGrid4Edit(UltraGridRow row)
{
List listNoEdit = new List();
listNoEdit.AddRange("ALPHA_CODE", "VALIDFLAG", "CREATE_NAME", "CREATE_TIME", "UPDATE_NAME",
"UPDATE_TIME", "DELETE_NAME", "DELETE_TIME");
List listDrop = new List();
listDrop.AddRange("DEPARTMENT_CODE", "UNIT_CODE");
ControlGridEdit(row, listNoEdit, listDrop);
}
private void ultraGrid4_CellChange(object sender, CellEventArgs e)
{
ultraGrid4.UpdateData();
ControlGrid4Edit(e.Cell.Row);
if (e.Cell.Column.Key == "CHC")
{
if (e.Cell.Value.ToString() == "True")
{
isSelectData++;
}
else
{
isSelectData--;
}
}
if (e.Cell.Column.Key == "DEPARTMENT_CODE")
{
e.Cell.Row.Cells["UNIT_CODE"].Value = "";
}
ultraGrid4.UpdateData();
}
private void ultraGrid4_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow ugr = ultraGrid4.ActiveRow;
_alphaName = ugr.Cells["ALPHA_NAME"].Value.ToString();
//如果有效,则可用
if (ugr.Cells["VALIDFLAG"].Value.ToString().Equals("有效"))
{
ultraGrid5.Enabled = true;
ultraGrid5.DisplayLayout.Override.AllowAddNew = AllowAddNew.TemplateOnBottom;
//查询客户
string valid = "1";
if (ChcValid.Checked)
{
valid = "0";
}
string alphaCode = ugr.Cells["ALPHA_CODE"].Value.ToString();
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getCuster", new Object[] { alphaCode, valid }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable5, true);
//定位
UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGrid5, new string[] { "CUST_NAME" }, new string[] { _custName });
if (rows.Length > 0)
rows[0].Activate();
_custName = "";
UltraGridBand bc = ultraGrid5.DisplayLayout.Bands[0];
UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["CHC"], bc.Columns["CUST_CODE"] };
QcmBaseCommon.SetUltraGridNoEdit(ultraGrid5);
}
else
{
dataTable5.Rows.Clear();
ultraGrid5.Enabled = false;
}
}
private void ultraGrid5_InitializeRow(object sender, InitializeRowEventArgs e)
{
if (e.Row.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
{
e.Row.Appearance.ForeColor = Color.Red;
}
else
{
e.Row.Appearance.ForeColor = Color.Black;
}
}
private void ultraGrid5_AfterRowInsert(object sender, RowEventArgs e)
{
UltraGridRow ugrCust = ultraGrid5.DisplayLayout.ActiveRow;
UltraGridRow ugrStd = ultraGrid4.DisplayLayout.ActiveRow;
ugrCust.Cells["STD_NAME"].Value = ugrStd.Cells["ALPHA_NAME"].Value.ToString().Trim();
ugrCust.Cells["STD_CODE"].Value = ugrStd.Cells["ALPHA_CODE"].Value.ToString().Trim();
SetUnEnit(ugrCust);
}
private void ultraGrid5_CellChange(object sender, CellEventArgs e)
{
//ultraGrid5.UpdateData();
//if (e.Cell.Column.Key.Equals("CUST_CODE")) //客户
//{
// e.Cell.Row.Cells["CUST_NAME"].Value = e.Cell.Text;
// //e.Cell.Row.Cells["CUST_NAME"].SelStart = e.Cell.Row.Cells["CUST_NAME"].Text.Length - 1;
// if (e.Cell.Text == "/")
// {
// DataRow[] dr = dataTable5.Select("CUST_CODE <> '0000000000' OR CUST_CODE = '' OR CUST_CODE IS NULL", "");
// foreach(DataRow datarow in dr)
// {
// dataTable5.Rows.Remove(datarow);
// }
// ultraGrid5.DisplayLayout.Override.AllowAddNew = AllowAddNew.No;
// }
// else
// {
// ultraGrid5.DisplayLayout.Override.AllowAddNew = AllowAddNew.TemplateOnBottom;
// }
//}
if (e.Cell.Column.Key == "CUST_CODE") return;
ultraGrid5.UpdateData();
if (e.Cell.Column.Key.Equals("CHC")) //选择
{
Activation activation = Activation.ActivateOnly;
//if (Convert.ToBoolean(e.Cell.Value))
//{
// activation = Activation.AllowEdit;
// isSelectData += 1;
// if (e.Cell.Row.Cells["CUST_CODE"].Text.Trim() == "/")
// {
// DataRow[] dr = dataTable5.Select("CUST_CODE <> '0000000000' OR CUST_CODE = '' OR CUST_CODE IS NULL", "");
// foreach (DataRow datarow in dr)
// {
// dataTable5.Rows.Remove(datarow);
// }
// ultraGrid5.DisplayLayout.Override.AllowAddNew = AllowAddNew.No;
// }
//}
//else
//{
// isSelectData -= 1;
// if (e.Cell.Row.Cells["CUST_CODE"].Text.Trim() == "/")
// ultraGrid5.DisplayLayout.Override.AllowAddNew = AllowAddNew.TemplateOnBottom;
//}
if (e.Cell.Value.ToString() == "True")
{
activation = Activation.AllowEdit;
isSelectData += 1;
}
else
{
isSelectData -= 1;
}
CellsCollection cells = e.Cell.Row.Cells;
for (int i = 0; i < cells.Count; i++)
{
if (!cells[i].Column.Key.Equals("CHC"))
{
e.Cell.Row.Cells[i].Activation = activation;
}
}
}
}
private void ultraGrid4_InitializeRow(object sender, InitializeRowEventArgs e)
{
if (e.Row.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
{
e.Row.Appearance.ForeColor = Color.Red;
}
else
{
e.Row.Appearance.ForeColor = Color.Black;
}
}
private void ultraGrid5_BeforeRowInsert(object sender, BeforeRowInsertEventArgs e)
{
UltraGridRow[] row = GridHelper.GetRowsWithKey(ultraGrid5, new string[] { "CUST_CODE" }, new string[] { "0000000000" }); //存在适用所有用户 不能添加用户
if (row.Length > 0)
e.Cancel = true;
}
///
/// 加数据权限控制
///
private void dataPersion()
{
if (CustomInfo.Equals("1"))
{
ultraGrid1.DisplayLayout.Override.AllowAddNew = AllowAddNew.No;
ultraGrid1.DisplayLayout.Bands[0].Columns["CHC"].CellActivation = Activation.ActivateOnly;
}
}
private void ultraTextEditor1_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
if (e.Button.Key == "Choice")
{
string subCode = ultraGrid3.ActiveRow.Cells["ASK_SUB_ITME"].Value.ToString();
DataTable dtSub = null;
try
{
this.Cursor = Cursors.WaitCursor;
dtSub = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.getSubItem2", new Object[] { subCode, "" }, this.ob);
}
finally
{
this.Cursor = Cursors.Default;
}
dtSub.Columns["BASENAME"].Caption = "标准说明";
BaseInfoPopup baseInfoPopup = new BaseInfoPopup(dtSub, "BASENAME", "BASECODE");
baseInfoPopup.LabelTextBox1.Caption = "标准说明";
baseInfoPopup.Text = "标准说明";
baseInfoPopup.UltraGrid1.DisplayLayout.Bands[0].Columns["BASENAME"].EditorComponent = baseInfoPopup.UltraTextEditor1;
baseInfoPopup.UltraGrid1.DisplayLayout.Bands[0].Columns["BASENAME"].ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always;
baseInfoPopup.Shown += new EventHandler((c, d) =>
{
IQueryable rows = baseInfoPopup.UltraGrid1.Rows.AsQueryable().Where(
a => a.GetValue("BASECODE") == ultraGrid3.ActiveRow.GetValue("ASK_SUB_ITME_VAL"));
if (rows.Count() > 0)
{
rows.First().Activate();
}
});
if (baseInfoPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ultraGrid3.ActiveCell.Value = baseInfoPopup.ChoicedRow.GetValue("BASENAME");
ultraGrid3.ActiveRow.Cells["ASK_SUB_ITME_VAL"].Value = baseInfoPopup.ChoicedRow.GetValue("BASECODE");
ultraGrid3.UpdateData();
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.getStdDesc",
new Object[] { baseInfoPopup.ChoicedRow.GetValue("BASECODE") }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
ultraGrid3.ActiveRow.Cells["PIC"].Value = dt.Rows[0][0].ToString();
}
}
}
else
{
PopupTextBox popupTextBox = new PopupTextBox(ultraGrid3.ActiveCell.Value.ToString(), 4000);
popupTextBox.TxtInfo.ReadOnly = true;
popupTextBox.UltraPanel1.Visible = false;
popupTextBox.ShowDialog();
}
}
private void ultraGrid2_ClickCellButton(object sender, CellEventArgs e)
{
string psc = e.Cell.Row.Cells["PSC"].Value.ToString();
string dimater = "";
string height = "";
string textMsc = "";
string specCode = "";
string ordLnPk = "";
if (e.Cell.Column.Key == "BTN_MSC")
{
FrmProPSCMSC2Popup popup = null;
try
{
this.Cursor = Cursors.WaitCursor;
popup = new FrmProPSCMSC2Popup(new string[] { psc, textMsc, dimater, height, specCode, ordLnPk }, "", "", "", ordLnPk, false,
this.ValidDataPurviewIds, StdExceptionType.AllMsc, "", ob);
}
finally
{
this.Cursor = Cursors.Default;
}
popup.ShowDialog();
}
}
private void ultraGrid1_Click(object sender, EventArgs e)
{
_gridFlag = "ultraGrid1";
}
private void ultraGrid2_Click(object sender, EventArgs e)
{
_gridFlag = "ultraGrid2";
}
private void ultraGrid3_Click(object sender, EventArgs e)
{
_gridFlag = "ultraGrid3";
}
private void ultraGrid4_Click(object sender, EventArgs e)
{
_gridFlag = "ultraGrid4";
}
private void _ctrlBaseStdRSpec_Click(object sender, EventArgs e)
{
_gridFlag = "_ctrlBaseStdRSpec";
}
private void FrmProductManage_Shown(object sender, EventArgs e)
{
//splitContainer2.SplitterDistance = this.Width - 500;
}
private void ultraTextEditor2_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
ShowDepartUnit(ultraGrid1);
}
private void ultraTextEditor3_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
ShowDepartUnit(ultraGrid2);
}
private void ultraTextEditor4_EditorButtonClick(object sender, EditorButtonEventArgs e)
{
ShowDepartUnit(ultraGrid4);
}
private void ShowDepartUnit(UltraGrid grid)
{
string key = grid.ActiveCell.Column.Key;
if (key == "DEPARTMENT_DESC")
{
DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getDepartment",
new object[] { }, ob);
dt.Columns["DEPARTNAME"].Caption = "管理部门";
BaseInfoPopup pop = new BaseInfoPopup(dt, "DEPARTNAME", "DEPARTID", "PID", "REMARK", "ISROOT", "IDX");
if (pop.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
grid.ActiveRow.SetValue("DEPARTMENT_DESC", pop.ChoicedRow.GetValue("DEPARTNAME"));
grid.ActiveRow.SetValue("DEPARTMENT_CODE", pop.ChoicedRow.GetValue("DEPARTID"));
grid.ActiveRow.SetValue("UNIT_DESC", "");
grid.ActiveRow.SetValue("UNIT_CODE", "");
}
}
else if (key == "UNIT_DESC")
{
string department = grid.GetActiveRowValue("DEPARTMENT_CODE");
if (department == "")
{
MessageUtil.ShowWarning("请选择管理部门!");
return;
}
DataTable dt = ServerHelper.GetData("com.steering.comm.data.ComBaseInfo.getSection",
new object[] { department }, ob);
dt.Columns["DEPARTNAME"].Caption = "管理科室";
BaseInfoPopup pop = new BaseInfoPopup(dt, "DEPARTNAME", "DEPARTID", "PID", "REMARK", "ISROOT", "IDX");
if (pop.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
grid.ActiveRow.SetValue("UNIT_DESC", pop.ChoicedRow.GetValue("DEPARTNAME"));
grid.ActiveRow.SetValue("UNIT_CODE", pop.ChoicedRow.GetValue("DEPARTID"));
}
}
}
}
}