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 Core.Mes.Client.Comm.Server;
using CoreFS.CA06;
using System.Collections;
using Core.Mes.Client.Comm.Control;
using Infragistics.Win.UltraWinGrid;
using Core.Mes.Client.Comm.Tool;
using Infragistics.Win;
using Infragistics.Win.UltraWinEditors;
namespace Core.StlMes.Client.Mcp.Coupling
{
public partial class FrmMachineCut : FrmBase
{
public FrmMachineCut()
{
InitializeComponent();
}
private void FrmMachine_Load(object sender, EventArgs e)
{
//获取工序
//DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachineCut.getQueryGx", new object[] { "7003" }, this.ob);
//cmbGx.DataSource = dt;
//cmbGx.DisplayMember = "BASENAME";
//cmbGx.ValueMember = "BASECODE";
//获取产线
DataTable dt1 = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachineCut.getQueryPline", new object[] { "H" }, this.ob);
cmbCx.DataSource = dt1;
cmbCx.DisplayMember = "PLINE_NAME";
cmbCx.ValueMember = "PLINE_CODE";
//获取切管机床
DataTable dt2 = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachineCut.getQuerySoue", new object[] { "7019" }, this.ob);
ultraComboEditor1.DataSource = dt2;
ultraComboEditor1.DisplayMember = "BASENAME";
ultraComboEditor1.ValueMember = "BASECODE";
UltraComboEditor uceAbc = new UltraComboEditor();
ultraGrid2.DisplayLayout.Bands[0].Columns["PRO_BC"].EditorComponent = uceAbc;
ultraGrid2.DisplayLayout.Bands[0].Columns["PRO_BC"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ValueList vlistSteel = new ValueList(); ;
vlistSteel.ValueListItems.Insert(0, "0", "常白班");
vlistSteel.ValueListItems.Insert(1, "1", "早");
vlistSteel.ValueListItems.Insert(2, "2", "中");
vlistSteel.ValueListItems.Insert(3, "3", "夜");
ultraGrid2.DisplayLayout.Bands[0].Columns["PRO_BC"].ValueList = vlistSteel;
UltraComboEditor uceAbz = new UltraComboEditor();
ultraGrid2.DisplayLayout.Bands[0].Columns["PRO_BZ"].EditorComponent = uceAbz;
ultraGrid2.DisplayLayout.Bands[0].Columns["PRO_BZ"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
ValueList vlistSteelbz = new ValueList(); ;
vlistSteelbz.ValueListItems.Insert(0, "1", "甲");
vlistSteelbz.ValueListItems.Insert(1, "2", "乙");
vlistSteelbz.ValueListItems.Insert(2, "3", "丙");
vlistSteelbz.ValueListItems.Insert(3, "4", "丁");
ultraGrid2.DisplayLayout.Bands[0].Columns["PRO_BZ"].ValueList = vlistSteelbz;
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "DoQuery":
DoQuery();
break;
case "DoSave":
DoSave();
break;
case "DoUpdate":
DoUpdate();
break;
case "DoDelete":
DoDelete();
break;
case "DoClose":
this.Close();
break;
}
}
///
/// 查询
///
private void DoQuery()
{
ArrayList list = new ArrayList();
list.Add(txtGroup.Text.ToString());
DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachineCut.getQueryPhosphateItem", new object[] { list }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);
foreach (UltraGridRow row in ultraGrid1.Rows)
{
//row.Cells["PLINE_CODE"].Appearance.BackColor = Color.Transparent;
//row.Cells["PLINE_CODE"].Appearance.BackHatchStyle = BackHatchStyle.Default;
//row.Cells["PLINE_CODE"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
row.Cells["MACHINE_NO"].Appearance.BackColor = Color.Transparent;
row.Cells["MACHINE_NO"].Appearance.BackHatchStyle = BackHatchStyle.Default;
row.Cells["MACHINE_NO"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
}
}
///
/// 新增
///
private void DoSave()
{
ultraGrid1.UpdateData();
int AddCount = 0;
ArrayList list1 = new ArrayList();
string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
string flag = "";
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
{
flag = "1";
//if (ugr.Cells["PLINE_CODE"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请选择产线!"); return; }
//if (ugr.Cells["PROCESS_NO"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请选择工序点!"); return; }
//if (ugr.Cells["MACHINE_GROUP"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请输入切断编号!"); return; }
if (ugr.Cells["MACHINE_NO"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请输入机床编号!"); return; }
//if (ugr.Cells["MACHINE_USER1"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请输入操作人1!"); return; }
ArrayList pram = new ArrayList();
pram.Add(ugr.Cells["MACHINE_NO"].Value.ToString());
//pram.Add(ugr.Cells["PLINE_CODE"].Value.ToString());
string jc = ugr.Cells["MACHINE_NO"].Value.ToString() ;
string dtjc = "";
DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachineCut.queryMachine", new object[] { pram }, this.ob);
if (dt.Rows.Count > 0)
{
dtjc = dt.Rows[0]["MACHINE_NO"].ToString();
}
if (jc == dtjc) { MessageUtil.ShowTips("切管机编号相同请查验!"); return; }
AddCount += 1;
ArrayList list = new ArrayList();
list.Add(ugr.Cells["MACHINE_NO"].Value.ToString());
list.Add(ugr.Cells["MACHINE_NO"].Text.Trim().ToString());
list.Add(this.UserInfo.GetUserName());
list.Add(dtime);
list.Add("700302");
list1.Add(list);
}
} ArrayList list2 = new ArrayList();
foreach (UltraGridRow ugr in ultraGrid2.Rows)
{
if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
{
flag = "2";
AddCount += 1;
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null) { MessageUtil.ShowTips("机床信息不能为空"); return; }
ArrayList list = new ArrayList();
if (ugr.Cells["PRO_BZ"].Text.ToString().Equals(""))
{
MessageUtil.ShowTips("班组不能为空");
return;
}
list.Add(row.Cells["MACHINE_NO"].Value.ToString());
list.Add("700302");
list.Add(ugr.Cells["MACHINE_USER1"].Text.Trim().ToString());
list.Add(ugr.Cells["MACHINE_USER2"].Text.Trim().ToString());
list.Add(ugr.Cells["PRO_BZ"].Value.ToString());
list.Add(this.UserInfo.GetUserName());
list.Add(dtime);
list2.Add(list);
}
}
if (AddCount == 0) { MessageUtil.ShowTips("请选择数据!"); return; }
if (MessageUtil.ShowYesNoAndQuestion("是否新增?") == DialogResult.No) { return; }
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.mcp.coup.FrmMachineCut";
ccp.MethodName = "getAddPhosphateItem";
ccp.ServerParams = new object[] { list1, list2, flag };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("新增成功!"))
{
DoQuery();
}
}
///
/// 修改
///
private void DoUpdate()
{
ultraGrid1.UpdateData();
int updateCount = 0;
ArrayList list1 = new ArrayList();
string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
string flag = "";
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
{
flag = "1";
//if (ugr.Cells["PLINE_CODE"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请选择产线!"); return; }
if (ugr.Cells["MACHINE_NO"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请输入机床编号!"); return; }
//if (ugr.Cells["MACHINE_USER1"].Text.Trim().Equals("")) { MessageUtil.ShowTips("请输入操作人1!"); return; }
//ArrayList pram = new ArrayList();
//pram.Add(ugr.Cells["MACHINE_NO"].Value.ToString());
//pram.Add(ugr.Cells["PLINE_CODE"].Value.ToString());
//string jc = ugr.Cells["MACHINE_NO"].Value.ToString() + ugr.Cells["PLINE_CODE"].Value.ToString();
//string dtjc = "";
//DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachineCut.queryMachine", new object[] { pram }, this.ob);
//if (dt.Rows.Count > 0)
//{
// dtjc = dt.Rows[0]["MACHINE_NO"].ToString() + dt.Rows[0]["PLINE_CODE"].ToString();
//}
//if (jc == dtjc) { MessageUtil.ShowTips("有相同的产线、切管机编号,请查验!"); return; }
updateCount += 1;
ArrayList list = new ArrayList();
list.Add(ugr.Cells["MACHINE_NO"].Text.ToString());
list.Add(this.UserInfo.GetUserName());
list.Add(dtime);
list.Add(ugr.Cells["MACHINE_NO"].Value.ToString());
//list.Add(ugr.Cells["PLINE_CODE"].Value.ToString());
//list.Add(ugr.Cells["PLINE_CODE"].Text.ToString());
list.Add(ugr.Cells["MACHINE_NO"].Value.ToString());
//list.Add(ugr.Cells["PLINE_CODE"].Value.ToString());
list1.Add(list);
}
} ArrayList list2 = new ArrayList();
foreach (UltraGridRow ugr in ultraGrid2.Rows)
{
if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
{
flag = "2";
updateCount += 1;
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null) { MessageUtil.ShowTips("机床信息不能为空"); return; }
ArrayList list = new ArrayList();
if (ugr.Cells["PRO_BZ"].Text.ToString().Equals(""))
{
MessageUtil.ShowTips("班组不能为空");
return;
}
//if (ugr.Cells["PRO_BC"].Text.ToString().Equals(""))
//{
// MessageUtil.ShowTips("班次不能为空");
// return;
//}
list.Add(row.Cells["MACHINE_NO"].Value.ToString());
//list.Add(row.Cells["PLINE_CODE"].Value.ToString());
list.Add("700302");
list.Add(ugr.Cells["MACHINE_USER1"].Text.Trim().ToString());
list.Add(ugr.Cells["MACHINE_USER2"].Text.Trim().ToString());
//list.Add(ugr.Cells["PRO_BC"].Value.ToString());
list.Add(ugr.Cells["PRO_BZ"].Value.ToString());
list.Add(this.UserInfo.GetUserName());
list.Add(dtime);
list.Add(ugr.Cells["ID"].Value.ToString());
list2.Add(list);
}
}
if (updateCount == 0) { MessageUtil.ShowTips("请选择数据!"); return; }
if (MessageUtil.ShowYesNoAndQuestion("是否修改?") == DialogResult.No) { return; }
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.mcp.coup.FrmMachineCut";
ccp.MethodName = "getUpdatePhosphateItem";
ccp.ServerParams = new object[] { list1, list2, flag };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("修改成功!"))
{
DoQuery();
}
}
///
/// 删除
///
private void DoDelete()
{
ultraGrid1.UpdateData();
int updateCount = 0;
ArrayList list1 = new ArrayList();
ArrayList list2 = new ArrayList();
string flag = "";
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
{
flag = "1";
updateCount += 1;
ArrayList list = new ArrayList();
list.Add(ugr.Cells["MACHINE_NO"].Value.ToString());
//list.Add(ugr.Cells["PLINE_CODE"].Value.ToString());
list.Add("700302");
list1.Add(list);
}
}
foreach (UltraGridRow ugr in ultraGrid2.Rows)
{
if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true)
{
flag = "2";
updateCount += 1;
ArrayList list = new ArrayList();
list.Add(ugr.Cells["ID"].Value.ToString());
list2.Add(list);
}
}
if (updateCount == 0) { MessageUtil.ShowTips("请选择数据!"); return; }
if (MessageUtil.ShowYesNoAndQuestion("是否删除?") == DialogResult.No) { return; }
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.mcp.coup.FrmMachineCut";
ccp.MethodName = "getDeletePhosphateItem";
ccp.ServerParams = new object[] { list1, list2, flag };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) return;
MessageUtil.ShowTips(ccp.ReturnInfo);
if (ccp.ReturnInfo.Equals("删除成功!"))
{
DoQuery();
}
}
private void ultraGrid1_CellChange(object sender, CellEventArgs e)
{
ultraGrid1.UpdateData();
if (e.Cell.Column.Key.Equals("CHK"))
{
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (Convert.ToBoolean(row.Cells["CHK"].Text) == true)
{
if (!row.Cells["MACHINE_NAME"].Text.ToString().Equals(""))
{
row.Cells["PLINE_CODE"].Appearance.BackColor = Color.Transparent;
row.Cells["PLINE_CODE"].Appearance.BackHatchStyle = BackHatchStyle.Default;
row.Cells["PLINE_CODE"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
row.Cells["MACHINE_NO"].Appearance.BackColor = Color.Transparent;
row.Cells["MACHINE_NO"].Appearance.BackHatchStyle = BackHatchStyle.Default;
row.Cells["MACHINE_NO"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
}
else
{
row.Cells["PLINE_CODE"].Appearance.BackColor = Color.FromArgb(255, 255, 192);
row.Cells["PLINE_CODE"].Appearance.BackHatchStyle = BackHatchStyle.None;
row.Cells["PLINE_CODE"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
row.Cells["MACHINE_NO"].Appearance.BackColor = Color.FromArgb(255, 255, 192);
row.Cells["MACHINE_NO"].Appearance.BackHatchStyle = BackHatchStyle.None;
row.Cells["MACHINE_NO"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
}
}
}
}
}
private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (row == null)
{
DataTable dt1 = new DataTable();
GridHelper.CopyDataToDatatable(ref dt1, ref dataTable2, true);
return;
}
string plineCode = row.Cells["PLINE_CODE"].Value.ToString();
string machineNo = row.Cells["MACHINE_NO"].Value.ToString();
DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.coup.FrmMachine.getQueryOperation", new object[] { plineCode, machineNo, "700302" }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);
}
}
}