using com.steering.mes.zgmil.entity;
using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Server;
using Core.StlMes.Client.ZGMil.Entity;
using CoreFS.CA06;
using Infragistics.Win.UltraWinGrid;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Core.StlMes.Client.ZGMil.Result
{
public partial class FrmIPAdress : FrmBase
{
public FrmIPAdress()
{
InitializeComponent();
}
//实例化类
private MilBaseAddressEntity MilBase = new MilBaseAddressEntity();
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
CMB_CX1.Enabled = false;
CMB_CZT1.Enabled = false;
CMB_GX1.Enabled = false;
RB_CX.Checked=false;
RB_CZT.Checked = false;
RB_GX.Checked = false;
foreach (UltraGridColumn ugc in this.ultraGrid1.DisplayLayout.Bands[0].Columns)
{
ugc.CellActivation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
}
this.ipTB1.Label1.BackColor = Color.Transparent;
this.ipTB1.Label2.BackColor = Color.Transparent;
this.ipTB1.Label3.BackColor = Color.Transparent;
this.ipTB2.Label1.BackColor = Color.Transparent;
this.ipTB2.Label2.BackColor = Color.Transparent;
this.ipTB2.Label3.BackColor = Color.Transparent;
this.ipTB3.Label1.BackColor = Color.Transparent;
this.ipTB3.Label2.BackColor = Color.Transparent;
this.ipTB3.Label3.BackColor = Color.Transparent;
this.ipTB4.Label1.BackColor = Color.Transparent;
this.ipTB4.Label2.BackColor = Color.Transparent;
this.ipTB4.Label3.BackColor = Color.Transparent;
//this.CMB_CX.Text = "250机组";
//this.CMB_CZT.Text = "1";
//this.CMB_GZ.Text = "管排锯操作";
}
///
/// 查询区域条件选择控件控制
///
///
///
private void RB_CheckedChanged(object sender, EventArgs e)
{
if (RB_GX.Checked)
{
CMB_GX1.Enabled = true;
CMB_GX1.Text = "管排锯操作";
}
else
{
CMB_GX1.Enabled = false;
}
if (RB_CZT.Checked)
{
CMB_CZT1.Enabled = true;
CMB_CZT1.Text = "1";
}
else
{
CMB_CZT1.Enabled = false;
}
if (RB_CX.Checked)
{
CMB_CX1.Enabled = true;
CMB_CX1.Text = "250机组";
}
else
{
CMB_CX1.Enabled = false;
}
}
///
/// ToolBar按钮
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "DoQuery":
Query();
break;
case "DoSave":
Save();
break;
case "DoDelete":
Delete();
break;
case "DoAdd":
Add();
break;
case "Close":
this.Dispose();
this.Close();
break;
}
}
///
/// 查询
///
private void Query()
{
MilBase.Clear();
if (RB_GX.Checked)
{
switch(CMB_GX1.Text.ToString())
{
case"管排锯操作":
MilBase.ProcessNo = "GP";
break;
case"矫直操作":
MilBase.ProcessNo = "JZ";
break;
case "涡流探伤操作":
MilBase.ProcessNo = "ET";
break;
case "漏磁探伤操作":
MilBase.ProcessNo = "MT";
break;
case "超声波探伤操作":
MilBase.ProcessNo = "UT";
break;
}
}
else
{
MilBase.ProcessNo = "";
}
if (RB_CZT.Checked)
{
MilBase.OperatCode = CMB_CZT1.Text.ToString();
}
else
{
MilBase.OperatCode = "";
}
if (RB_CX.Checked)
{
switch(CMB_CX1.Text.ToString())
{
case "250机组":
MilBase.PlineCode = "C008";
break;
case "258机组":
MilBase.PlineCode = "C009";
break;
case "168机组":
MilBase.PlineCode = "C010";
break;
case "ASSEL机组":
MilBase.PlineCode = "C012";
break;
case "460机组":
MilBase.PlineCode = "C017";
break;
case "天淮508机组":
MilBase.PlineCode = "C072";
break;
}
}
else
{
MilBase.PlineCode = "";
}
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmIPAdress.Query", new object[] { MilBase },this.ob);
if (dt.Rows.Count > 0)
{
GridHelper.CopyDataToDatatable(dt, dtAdress, true);
}
else
{
MessageBox.Show("未查询到数据。", "提示",MessageBoxButtons.OK, MessageBoxIcon.Warning );
}
}
#region 废代码
public bool CheckIPAddress(string ip,DataTable dt)
{
bool result = false;
ArrayList arr = new ArrayList();
foreach (DataRow dr in dt.Rows)
{
if (!string.IsNullOrEmpty(dr["IP_ADDRESS1"].ToString()))
{
arr.Add(dr["IP_ADDRESS1"].ToString());
}
if (!string.IsNullOrEmpty(dr["IP_ADDRESS2"].ToString()))
{
arr.Add(dr["IP_ADDRESS2"].ToString());
}
if (!string.IsNullOrEmpty(dr["IP_ADDRESS3"].ToString()))
{
arr.Add(dr["IP_ADDRESS3"].ToString());
}
if (!string.IsNullOrEmpty(dr["IP_ADDRESS4"].ToString()))
{
arr.Add(dr["IP_ADDRESS4"].ToString());
}
}
for (int i = 0; i < arr.Count; i++)
{
if (ip.Equals(arr[i]))
{
result = true;
}
}
return result;
}
public bool BeforeCheck(string str)
{
bool result = false;
MilBaseAddressEntity milb = new MilBaseAddressEntity();
DataTable dtcheck = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmIPAdress.Query", new object[] { milb }, this.ob);
if (str.Equals("1"))
{
foreach (DataRow dr in dtcheck.Rows)
{
if (dr["PROCESS_NO"].ToString().Equals(MilBase.ProcessNo) && dr["OPERAT_CODE"].ToString().Equals(MilBase.OperatCode) && dr["PLINE_CODE"].ToString().Equals(MilBase.PlineCode))
{
dtcheck.Rows.Remove(dr);
}
}
}
if (!string.IsNullOrEmpty(MilBase.IpAddress1.ToString()))
{
if (CheckIPAddress(MilBase.IpAddress1.ToString(), dtcheck))
{
MessageBox.Show("您输入的操作台IP地址1:【" + MilBase.IpAddress1.ToString() + "】已经录入数据库中,不允许重复录入,请检查后重录", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
result = true;
}
}
if (!string.IsNullOrEmpty(MilBase.IpAddress2.ToString()))
{
if (CheckIPAddress(MilBase.IpAddress2.ToString(), dtcheck))
{
MessageBox.Show("您输入的操作台IP地址2:【" + MilBase.IpAddress2.ToString() + "】已经录入数据库中,不允许重复录入,请检查后重录", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
result = true;
}
}
if (!string.IsNullOrEmpty(MilBase.IpAddress3.ToString()))
{
if (CheckIPAddress(MilBase.IpAddress3.ToString(), dtcheck))
{
MessageBox.Show("您输入的操作台IP地址3:【" + MilBase.IpAddress3.ToString() + "】已经录入数据库中,不允许重复录入,请检查后重录", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
result = true;
}
}
if (!string.IsNullOrEmpty(MilBase.IpAddress4.ToString()))
{
if (CheckIPAddress(MilBase.IpAddress4.ToString(), dtcheck))
{
MessageBox.Show("您输入的操作台IP地址4:【" + MilBase.IpAddress4.ToString() + "】已经录入数据库中,不允许重复录入,请检查后重录", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
result = true;
}
}
return result;
}
#endregion
public bool CheckIPisIn(MilBaseAddressEntity milbase)
{
bool result = false;
if (checkself(milbase))
{
MessageBox.Show("您配置的该条操作台IP记录内,有重复IP,请检查修改后重新配置", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
result = true;
}
NativeMethodNew na = new NativeMethodNew(this.ob);
switch (na.CheckIpAddressisin(milbase))
{
case 0:
break;
case 1:
MessageBox.Show("您配置的该条操作台IP记录内 IP_ADDRESS1:【" + milbase.IpAddress1 + "】,已存在于数据库", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
result = true;
break;
case 2:
MessageBox.Show("您配置的该条操作台IP记录内 IP_ADDRESS2:【" + milbase.IpAddress2 + "】,已存在于数据库", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
result = true;
break;
case 3:
MessageBox.Show("您配置的该条操作台IP记录内 IP_ADDRESS3:【" + milbase.IpAddress3 + "】,已存在于数据库", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
result = true;
break;
case 4:
MessageBox.Show("您配置的该条操作台IP记录内 IP_ADDRESS4:【" + milbase.IpAddress4 + "】,已存在于数据库", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
result = true;
break;
}
return result;
}
public bool checkself(MilBaseAddressEntity milbase)
{
bool result=false;
List list = new List();
string ip1 = MilBase.IpAddress1.ToString();
string ip2 = MilBase.IpAddress2.ToString();
string ip3 = MilBase.IpAddress3.ToString();
string ip4 = MilBase.IpAddress4.ToString();
list.Add(ip1); list.Add(ip2); list.Add(ip3); list.Add(ip4);
if (ip1.Equals(list[1]) || ip1.Equals(list[2]) || ip1.Equals(list[3]))
{
if (!string.IsNullOrEmpty(ip1))
{
result = true;
}
}
if (ip2.Equals(ip1) || ip2.Equals(ip3) || ip2.Equals(ip4))
{
if (!string.IsNullOrEmpty(ip2))
{
result = true;
}
}
if (ip3.Equals(ip1) || ip3.Equals(ip2) || ip3.Equals(ip4))
{
if (!string.IsNullOrEmpty(ip3))
{
result = true;
}
}
if (ip4.Equals(ip1) || ip4.Equals(ip2) || ip4.Equals(ip3))
{
if (!string.IsNullOrEmpty(ip4))
{
result = true;
}
}
return result;
}
private void Add()
{
MilBase.Clear();
MilBase.IpAddress1 = this.ipTB1.Text.ToString();
MilBase.IpAddress2 = this.ipTB2.Text.ToString();
MilBase.IpAddress3 = this.ipTB3.Text.ToString();
MilBase.IpAddress4 = this.ipTB4.Text.ToString();
MilBase.OperatCode = this.CMB_CZT.Text.ToString();
switch (this.CMB_CX.Text.ToString())
{
case "250机组":
MilBase.PlineCode = "C008";
break;
case "258机组":
MilBase.PlineCode = "C009";
break;
case "168机组":
MilBase.PlineCode = "C010";
break;
case "ASSEL机组":
MilBase.PlineCode = "C012";
break;
case "460机组":
MilBase.PlineCode = "C017";
break;
case "天淮508机组":
MilBase.PlineCode = "C072";
break;
}
switch (CMB_GZ.Text.ToString())
{
case "管排锯操作":
MilBase.ProcessNo = "GP";
break;
case "矫直操作":
MilBase.ProcessNo = "JZ";
break;
case "涡流探伤操作":
MilBase.ProcessNo = "ET";
break;
case "漏磁探伤操作":
MilBase.ProcessNo = "MT";
break;
case "超声波探伤操作":
MilBase.ProcessNo = "UT";
break;
}
MilBase.OperatName = this.CMB_GZ.Text.ToString() + this.CMB_CZT.Text.ToString() + "台";
if (this.TXTRich.Text.Length > 40)
{
MessageBox.Show("您输入的字符过长,请重新输入。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
MilBase.Remark = this.TXTRich.Text.ToString();
if (isExist(MilBase))
{
MessageBox.Show("已存在该跳数据,请检查并重新输入再进行保存。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//if (BeforeCheck("0"))
//{
// return;
//}
if(CheckIPisIn(MilBase))
{
return;
}
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FrmIPAdress.Add", new object[] { MilBase }, this.ob);
if (count > 0)
{
MessageBox.Show("新增数据完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
string ProcessNo = MilBase.ProcessNo.ToString();
string PlineCode = MilBase.PlineCode.ToString();
string OperatCode = MilBase.OperatCode.ToString();
Query();
foreach(UltraGridRow ugr in ultraGrid1.Rows)
{
if (ugr.Cells["PROCESS"].Value.ToString().Trim() == ProcessNo && ugr.Cells["PLINE"].Value.ToString().Trim() == PlineCode && ugr.Cells["OPERAT_CODE"].Value.ToString().Trim() == OperatCode)
{
this.ultraGrid1.ActiveRow = ugr;
}
}
}
private void Save()
{
MilBase.Clear();
MilBase.IpAddress1 = this.ipTB1.Text.ToString();
MilBase.IpAddress2 = this.ipTB2.Text.ToString();
MilBase.IpAddress3 = this.ipTB3.Text.ToString();
MilBase.IpAddress4 = this.ipTB4.Text.ToString();
MilBase.OperatCode = this.CMB_CZT.Text.ToString();
switch (this.CMB_CX.Text.ToString())
{
case "250机组":
MilBase.PlineCode = "C008";
break;
case "258机组":
MilBase.PlineCode = "C009";
break;
case "168机组":
MilBase.PlineCode = "C010";
break;
case "ASSEL机组":
MilBase.PlineCode = "C012";
break;
case "460机组":
MilBase.PlineCode = "C017";
break;
case "天淮508机组":
MilBase.PlineCode = "C072";
break;
}
switch (CMB_GZ.Text.ToString())
{
case "管排锯操作":
MilBase.ProcessNo = "GP";
break;
case "矫直操作":
MilBase.ProcessNo = "JZ";
break;
case "涡流探伤操作":
MilBase.ProcessNo = "ET";
break;
case "漏磁探伤操作":
MilBase.ProcessNo = "MT";
break;
case "超声波探伤操作":
MilBase.ProcessNo = "UT";
break;
}
MilBase.OperatName = this.CMB_GZ.Text.ToString() + this.CMB_CZT.Text.ToString() + "台";
if (this.TXTRich.Text.Length > 40)
{
MessageBox.Show("您输入的字符过长,请重新输入", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
MilBase.Remark = this.TXTRich.Text.ToString();
if (!isExist(MilBase))
{
MessageBox.Show("不存在该条记录,如果是新增,请点击添加按钮,添加数据", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//if (BeforeCheck("1"))
//{
// return;
//}
if (CheckIPisIn(MilBase))
{
return;
}
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FrmIPAdress.Save", new object[] { MilBase }, this.ob);
if (count > 0)
{
MessageBox.Show("修改数据完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
string ProcessNo = MilBase.ProcessNo.ToString();
string PlineCode = MilBase.PlineCode.ToString();
string OperatCode = MilBase.OperatCode.ToString();
Query();
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
if (ugr.Cells["PROCESS"].Value.ToString().Trim() == ProcessNo && ugr.Cells["PLINE"].Value.ToString().Trim() == PlineCode && ugr.Cells["OPERAT_CODE"].Value.ToString().Trim() == OperatCode)
{
this.ultraGrid1.ActiveRow = ugr;
}
}
}
private void Delete()
{
MilBase.Clear();
MilBase.IpAddress1 = this.ipTB1.Text.ToString();
MilBase.IpAddress2 = this.ipTB2.Text.ToString();
MilBase.IpAddress3 = this.ipTB3.Text.ToString();
MilBase.IpAddress4 = this.ipTB4.Text.ToString();
MilBase.OperatCode = this.CMB_CZT.Text.ToString();
switch (this.CMB_CX.Text.ToString())
{
case "250机组":
MilBase.PlineCode = "C008";
break;
case "258机组":
MilBase.PlineCode = "C009";
break;
case "168机组":
MilBase.PlineCode = "C010";
break;
case "ASSEL机组":
MilBase.PlineCode = "C012";
break;
case "460机组":
MilBase.PlineCode = "C017";
break;
case "天淮508机组":
MilBase.PlineCode = "C072";
break;
}
switch (CMB_GZ.Text.ToString())
{
case "管排锯操作":
MilBase.ProcessNo = "GP";
break;
case "矫直操作":
MilBase.ProcessNo = "JZ";
break;
case "涡流探伤操作":
MilBase.ProcessNo = "ET";
break;
case "漏磁探伤操作":
MilBase.ProcessNo = "MT";
break;
case "超声波探伤操作":
MilBase.ProcessNo = "UT";
break;
}
MilBase.OperatName = this.CMB_GZ.Text.ToString() + this.CMB_CZT.Text.ToString() + "台";
if (!isExist(MilBase))
{
MessageBox.Show("不存在该条记录,请检查后重新删除。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FrmIPAdress.Delete", new object[] { MilBase }, this.ob);
if (count > 0)
{
MessageBox.Show("删除数据完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
Query();
}
///
/// 判断数据是否已经存在
///
///
///
private bool isExist(MilBaseAddressEntity milbase)
{
bool result = false;
string processno= milbase.ProcessNo.ToString();
string operatcode= milbase.OperatCode.ToString();
string plinecode = milbase.PlineCode.ToString();
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmIPAdress.isExist", new object[] { milbase }, this.ob);
if (dt.Rows.Count == 1)
{
result = true;
}
return result;
}
///
/// 单击主表事件
///
///
///
private void ultraGrid1_AfterRowActive(object sender, EventArgs e)
{
UltraGridRow ugr = this.ultraGrid1.ActiveRow;
this.ipTB1.Text = ugr.Cells["IP_ADDRESS1"].Value.ToString();
this.ipTB2.Text = ugr.Cells["IP_ADDRESS2"].Value.ToString();
this.ipTB3.Text = ugr.Cells["IP_ADDRESS3"].Value.ToString();
this.ipTB4.Text = ugr.Cells["IP_ADDRESS4"].Value.ToString();
this.CMB_CX.Text = ugr.Cells["PLINE_CODE"].Value.ToString();
this.CMB_GZ.Text = ugr.Cells["PROCESS_NO"].Value.ToString();
this.CMB_CZT.Text = ugr.Cells["OPERAT_CODE"].Value.ToString();
this.TXTRich.Text = ugr.Cells["REMARK"].Value.ToString();
}
}
}