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.CA06;
using System.Collections;
using Core.Mes.Client.Comm.Tool;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Control;
using Infragistics.Win.UltraWinEditors;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win;
namespace Core.StlMes.Client.ZGMil.Signature
{
public partial class FrmMilCraftworkBase : FrmBase
{
UltraCombo uceTable = new UltraCombo();//表名
UltraCombo uceColName = new UltraCombo();//字段名
UltraComboEditor station = new UltraComboEditor();
public FrmMilCraftworkBase()
{
InitializeComponent();
}
private void FrmMilCraftworkBase_Load(object sender, EventArgs e)
{
//表名
DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryTbleName", null, ob);
if (dt != null && dt.Rows.Count > 0)
{
uceTable.DataSource = dt;
uceTable.ValueMember = "TABLE_NAME";
//TubeRoll.SetComboItemHeight(cmbTableColm);
uceTable.DisplayLayout.Bands[0].Columns[0].Header.Caption = "英文名";
uceTable.DisplayLayout.Bands[0].Columns[1].Header.Caption = "中文名";
}
//TubeRoll.InitCombo(uceTable, "com.steering.mes.signature.FrmMilCraftworkBase.queryTbleName", "TABLE_NAME", this.ob, false);
TubeRoll.BindColumnComb(uceTable, "TABLE_NAME", this.Controls, this.ultraGrid1, 0);
TubeRoll.InitComboEditor(station, "com.steering.mes.signature.FrmTubTechnological.doQueryStation", "STATION_CODE", this.ob, false);
TubeRoll.BindColumn(station, "STATION_CODE", this.Controls, this.ultraGrid1, 0);
}
private void TableColName(string Table,UltraGridRow urg)
{
uceColName = new UltraCombo();//字段名
DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryTableColumnName", new Object[] { Table }, ob);
if (dt != null && dt.Rows.Count > 0)
{
uceColName.DataSource = dt;
uceColName.ValueMember = "COLUMN_NAME";
//TubeRoll.SetComboItemHeight(cmbTableColm);
uceColName.DisplayLayout.Bands[0].Columns[0].Header.Caption = "英文名";
uceColName.DisplayLayout.Bands[0].Columns[1].Header.Caption = "中文名";
uceColName.DisplayLayout.Bands[0].Columns[2].Header.Caption = "类型";
}
TubeRoll.BindRow1(uceColName, "COLUMN_KEY", this.Controls, urg, 0);
}
///
/// 重写基类方法
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
DoQuery();
break;
case "Add":
DoAdd();
break;
case "Invalid":
DoInvalid();
break;
case "Delete":
DoDelete();
break;
case "Update":
DoUpdare();
break;
case "Close":
this.Close();
break;
}
}
private void DoQuery()
{
string strGY = "";
if (ChkFactor.Checked)
{
if (TxtFactor.Text.Trim() == "")
{
MessageUtil.ShowTips("工艺名称不能为空!");
return;
}
else
{
strGY = TxtFactor.Text.Trim();
}
}
string strval = "1";
if (chkVal.Checked)
{
strval = "0";
}
DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryCrafBase", new Object[] { strGY, strval }, ob);
GridHelper.CopyDataToDatatable(dt, this.dataTable1, true);
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
if (ugr.Cells["VALIDFLAG"].Text.Trim().Equals("否"))
{
ugr.Cells["FACTOR_NAME"].Appearance.BackColor = Color.Transparent;
ugr.Cells["FACTOR_NAME"].Appearance.BackHatchStyle = BackHatchStyle.Default;
ugr.Cells["FACTOR_NAME"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
ugr.Cells["TABLE_NAME"].Appearance.BackColor = Color.Transparent;
ugr.Cells["TABLE_NAME"].Appearance.BackHatchStyle = BackHatchStyle.Default;
ugr.Cells["TABLE_NAME"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
ugr.Cells["COLUMN_KEY"].Appearance.BackColor = Color.Transparent;
ugr.Cells["COLUMN_KEY"].Appearance.BackHatchStyle = BackHatchStyle.Default;
ugr.Cells["COLUMN_KEY"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
ugr.Cells["STATION_CODE"].Appearance.BackColor = Color.Transparent;
ugr.Cells["STATION_CODE"].Appearance.BackHatchStyle = BackHatchStyle.Default;
ugr.Cells["STATION_CODE"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
ugr.Appearance.BackColor = Color.Red;
ugr.Appearance.BackHatchStyle = BackHatchStyle.None;
}
TableColName(ugr.Cells["TABLE_NAME"].Text.Trim(), ugr);
}
}
private void DoAdd()
{
ultraGrid1.UpdateData();
ArrayList list1 = new ArrayList();
//int count = 0;
string time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
IQueryable uGrid = ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
if (uGrid.Count() == 0)
{
MessageUtil.ShowTips("请选择要保存的数据!");
return;
}
foreach (UltraGridRow ugr in uGrid)
{
//if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
//{
// count += 1;
if (ugr.Cells["FACTOR_NAME"].Text.Trim() == "") { MessageUtil.ShowTips("工艺名不能为空!"); return; }
if (ugr.Cells["TABLE_NAME"].Text.Trim() == "") { MessageUtil.ShowTips("表名不能为空!"); return; }
if (ugr.Cells["COLUMN_KEY"].Text.Trim() == "") { MessageUtil.ShowTips("字段名不能为空!"); return; }
if (ugr.Cells["STATION_CODE"].Text.Trim() == "") { MessageUtil.ShowTips("工序不能为空!"); return; }
if (ugr.Cells["FACTOR_ID"].Value.ToString() != "")
{
MessageUtil.ShowTips("已存在数据,不能进行此操作!"); return;
}
int leng = System.Text.Encoding.Default.GetBytes(ugr.Cells["FACTOR_NAME"].Text.Trim().ToCharArray()).Length;
if (leng > 20) { MessageUtil.ShowTips("工艺名,字节实际长度20,输入长度" + leng + ",/,请重新输入!"); return; }
ArrayList list = new ArrayList();
list.Add(ugr.Cells["FACTOR_NAME"].Text.Trim());
list.Add(ugr.Cells["TABLE_NAME"].Text.Trim());
list.Add(ugr.Cells["COLUMN_KEY"].Text.Trim());
list.Add(ugr.Cells["COLUMN_TYPE"].Text.Trim());
list.Add(this.UserInfo.GetUserName());
list.Add(time);
list.Add(ugr.Cells["STATION_CODE"].Value.ToString());
list1.Add(list);
//}
}
//if (count == 0)
//{
// MessageUtil.ShowTips("请选择要保存的数据!");
// return;
//}
if (MessageUtil.ShowYesNoAndQuestion("是否新增?") == System.Windows.Forms.DialogResult.No) return;
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.signature.FrmMilCraftworkBase";
ccp.MethodName = "addCrafBase";
ccp.ServerParams = new object[] { list1 };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("新增成功!"))
{
DoQuery();
}
}
}
private void DoDelete()
{
ArrayList list1 = new ArrayList();
ultraGrid1.UpdateData();
//int count = 0;
IQueryable uGrid = ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
if (uGrid.Count() == 0)
{
MessageUtil.ShowTips("请选择要删除的数据!");
return;
}
foreach (UltraGridRow ugr in uGrid)
{
//if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
//{
// count += 1;
if (ugr.Cells["FACTOR_ID"].Text.Trim() == "")
{
MessageUtil.ShowTips("数据不存在,不能进行此操作!"); return;
}
DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryCrafSet", new Object[] { ugr.Cells["FACTOR_ID"].Text.Trim() }, ob);
if (dt.Rows.Count > 0)
{
MessageUtil.ShowTips("该记录已引用,不能进行此操作!");
return;
}
ArrayList list = new ArrayList();
list.Add(ugr.Cells["FACTOR_ID"].Text.Trim());
list1.Add(list);
//}
}
//if (count == 0)
//{
// MessageUtil.ShowTips("请选择要删除的数据!");
// return;
//}
if (MessageUtil.ShowYesNoAndQuestion("是否删除?") == System.Windows.Forms.DialogResult.No) return;
int countdelete = ServerHelper.SetData("com.steering.mes.signature.FrmMilCraftworkBase.deleteCrafBase", new Object[] { list1 }, this.ob);
if (countdelete > 0)
{
MessageUtil.ShowTips("删除成功!");
}
else
{
MessageUtil.ShowTips("删除失败!"); return;
}
DoQuery();
}
private void DoUpdare()
{
ultraGrid1.UpdateData();
ArrayList list1 = new ArrayList();
//int count = 0;
string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
IQueryable uGrid = ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
if (uGrid.Count() == 0)
{
MessageUtil.ShowTips("请选择要修改的数据!");
return;
}
foreach (UltraGridRow ugr in uGrid)
{
//if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
//{
// count += 1;
if (ugr.Cells["FACTOR_ID"].Value.ToString() == "")
{
MessageUtil.ShowTips("数据不存在,不能进行此操作!"); return;
}
if (ugr.Cells["VALIDFLAG"].Text.Trim().Equals("否")) { MessageUtil.ShowTips("该记录已作废,不能进行此操作!"); return; }
DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryCrafSet", new Object[] { ugr.Cells["FACTOR_ID"].Text.Trim() }, ob);
if (dt.Rows.Count > 0)
{
MessageUtil.ShowTips("该记录已引用,不能进行此操作!");
return;
}
int leng = System.Text.Encoding.Default.GetBytes(ugr.Cells["FACTOR_NAME"].Text.Trim().ToCharArray()).Length;
if (leng > 20) { MessageUtil.ShowTips("工艺名,字节实际长度20,输入长度" + leng + ",工艺名太长,请重新输入!"); return; }
ArrayList list = new ArrayList();
list.Add(ugr.Cells["FACTOR_NAME"].Text.Trim());
list.Add(ugr.Cells["TABLE_NAME"].Text.Trim());
list.Add(ugr.Cells["COLUMN_KEY"].Text.Trim());
list.Add(ugr.Cells["COLUMN_TYPE"].Text.Trim());
list.Add(this.UserInfo.GetUserName());
list.Add(time);
list.Add(ugr.Cells["STATION_CODE"].Value.ToString());
list.Add(ugr.Cells["FACTOR_ID"].Text.Trim());
list1.Add(list);
//}
}
//if (count == 0)
//{
// MessageUtil.ShowTips("请选择要修改的数据!");
// return;
//}
if (MessageUtil.ShowYesNoAndQuestion("是否修改?") == System.Windows.Forms.DialogResult.No) return;
int countupdate = ServerHelper.SetData("com.steering.mes.signature.FrmMilCraftworkBase.updateCrafBase", new Object[] { list1 }, this.ob);
if (countupdate > 0)
{
MessageUtil.ShowTips("修改成功!");
}
else
{
MessageUtil.ShowTips("修改失败!"); return;
}
DoQuery();
}
///
/// 作废
///
private void DoInvalid()
{
ArrayList list1 = new ArrayList();
ultraGrid1.UpdateData();
//int count = 0;
string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
IQueryable uGrid = ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
if (uGrid.Count() == 0)
{
MessageUtil.ShowTips("请选择要作废的数据!");
return;
}
foreach (UltraGridRow ugr in uGrid)
{
//if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
//{
// count += 1;
if (ugr.Cells["FACTOR_ID"].Text.Trim() == "")
{
MessageUtil.ShowTips("数据不存在,不能进行此操作!"); return;
}
if (ugr.Cells["VALIDFLAG"].Text.Trim().Equals("否")) { MessageUtil.ShowTips("该记录已作废,不能进行此操作!"); return; }
DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryCrafSet", new Object[] { ugr.Cells["FACTOR_ID"].Text.Trim() }, ob);
if (dt.Rows.Count > 0)
{
MessageUtil.ShowTips("该记录已引用,不能进行此操作!");
return;
}
ArrayList list = new ArrayList();
list.Add(ugr.Cells["FACTOR_ID"].Text.Trim());
list1.Add(list);
//}
}
//if (count == 0)
//{
// MessageUtil.ShowTips("请选择要作废的数据!");
// return;
//}
if (MessageUtil.ShowYesNoAndQuestion("是否作废?") == System.Windows.Forms.DialogResult.No) return;
int countupdate = ServerHelper.SetData("com.steering.mes.signature.FrmMilCraftworkBase.updateValCrafBase", new Object[] { list1 }, this.ob);
if (countupdate > 0)
{
MessageUtil.ShowTips("作废成功!");
}
else
{
MessageUtil.ShowTips("作废失败!"); return;
}
DoQuery();
}
///
/// Gird改变事件
///
///
///
private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
//if (ugr.Cells["TABLE_NAME"].Text.Trim().Equals(""))
//{
if (e.Cell.Column.Key.Equals("TABLE_NAME"))
{
TableColName(e.Cell.Row.Cells["TABLE_NAME"].Text.Trim(), ugr);
}
if (e.Cell.Column.Key.Equals("COLUMN_KEY"))
{
//字段类型
DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryTableDataType", new Object[] { e.Cell.Row.Cells["TABLE_NAME"].Text.Trim(), e.Cell.Row.Cells["COLUMN_KEY"].Text.Trim() }, ob);
if (dt.Rows.Count <= 0) return;
e.Cell.Row.Cells["COLUMN_TYPE"].Value = dt.Rows[0]["DATA_TYPE"].ToString();
//字段备注
DataTable dt1 = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryTableColumecomments", new Object[] { e.Cell.Row.Cells["TABLE_NAME"].Text.Trim(), e.Cell.Row.Cells["COLUMN_KEY"].Text.Trim() }, ob);
//if (e.Cell.Row.Cells["FACTOR_NAME"].Text.Trim() == "")
//{
e.Cell.Row.Cells["FACTOR_NAME"].Value = dt1.Rows[0]["COMMENTS"].ToString();
//}
}
//}
}
private void ChkFactor_CheckedChanged(object sender, EventArgs e)
{
if (ChkFactor.Checked) { TxtFactor.Enabled = true; } else { TxtFactor.Enabled = false; }
}
private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
try
{
ultraGrid1.UpdateData();
foreach (UltraGridRow r in ultraGrid1.Rows)
{
r.Cells["CHK"].Value = r.Selected;
}
}
catch { }
}
}
}