using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.EnterpriseServices; using System.Text; using System.Windows.Forms; using DBFactory; namespace wcfControlMonitorClient { /// /// 20230815richard.liuWCS和电气PLC内部控制正反向控制输送机 /// public partial class FrmRGVAreaSet : Form { DBOperator dbo = CStaticClass.dbo; Model.MDevice mdev; StringBuilder sql=new StringBuilder(); private static FrmRGVAreaSet _formInstance; public static FrmRGVAreaSet FormInstance { get { if (_formInstance == null) { _formInstance = new FrmRGVAreaSet(); } return _formInstance; } set { _formInstance = value; } } public FrmRGVAreaSet() { InitializeComponent(); _formInstance = this; } private void FrmRGVAreaSet_FormClosing(object sender, FormClosingEventArgs e) { _formInstance = null; } private void FrmRGVAreaSet_Load(object sender, EventArgs e) { DataView dataView = null; dataView = dbo.ExceSQL(string.Format("select max(f_rgvindex),min(f_rgvindex) from T_BASE_RGVINFO where f_rgvindex<>f_virtualrgv")).Tables[0].DefaultView; if (dataView.Count > 0) { nud1AreaRGV.Maximum = Convert.ToInt32(dataView[0][0]); nud1AreaRGV.Minimum = Convert.ToInt32(dataView[0][1]); nud3AreaRGV.Maximum = Convert.ToInt32(dataView[0][0]); nud3AreaRGV.Minimum = Convert.ToInt32(dataView[0][1]); nud5AreaRGV.Maximum = Convert.ToInt32(dataView[0][0]); nud5AreaRGV.Minimum = Convert.ToInt32(dataView[0][1]); nud2AreaRGVIn.Maximum = Convert.ToInt32(dataView[0][0]); nud2AreaRGVIn.Minimum = Convert.ToInt32(dataView[0][1]); nud2AreaRGVOut.Maximum = Convert.ToInt32(dataView[0][0]); nud2AreaRGVOut.Minimum = Convert.ToInt32(dataView[0][1]); nud4AreaRGVIn.Maximum = Convert.ToInt32(dataView[0][0]); nud4AreaRGVIn.Minimum = Convert.ToInt32(dataView[0][1]); nud4AreaRGVOut.Maximum = Convert.ToInt32(dataView[0][0]); nud4AreaRGVOut.Minimum = Convert.ToInt32(dataView[0][1]); DataView dv = dbo.ExceSQL(string.Format("select distinct f_input from T_BASE_RGV_GATE where f_neargetdevice=1")).Tables[0].DefaultView; if (dv.Count > 0) { this.nud1AreaRGV.Value=Convert.ToInt32 (dv[0][0]); } dv = dbo.ExceSQL(string.Format("select distinct f_input,f_output from T_BASE_RGV_GATE where f_neargetdevice=2")).Tables[0].DefaultView; if (dv.Count > 0) { this.nud2AreaRGVIn.Value = Convert.ToInt32(dv[0][0]); this.nud2AreaRGVOut.Value= Convert.ToInt32(dv[0][1]); } dv = dbo.ExceSQL(string.Format("select distinct f_input from T_BASE_RGV_GATE where f_neargetdevice=3")).Tables[0].DefaultView; if (dv.Count > 0) { this.nud3AreaRGV.Value = Convert.ToInt32(dv[0][0]); } dv = dbo.ExceSQL(string.Format("select distinct f_input,f_output from T_BASE_RGV_GATE where f_neargetdevice=4")).Tables[0].DefaultView; if (dv.Count > 0) { this.nud4AreaRGVIn.Value = Convert.ToInt32(dv[0][0]); this.nud4AreaRGVOut.Value = Convert.ToInt32(dv[0][1]); } dv = dbo.ExceSQL(string.Format("select distinct f_input from T_BASE_RGV_GATE where f_neargetdevice=5")).Tables[0].DefaultView; if (dv.Count > 0) { this.nud5AreaRGV.Value = Convert.ToInt32(dv[0][0]); } } } private void button1_Click(object sender, EventArgs e) { if(nud2AreaRGVIn.Value==nud2AreaRGVOut.Value) { if(nud1AreaRGV.Value!=nud3AreaRGV.Value ) { MessageBox.Show("进区2直穿和出区2直穿相同时,区1和区3直穿必须相同!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } if (nud1AreaRGV.Value == nud3AreaRGV.Value) { if (nud2AreaRGVIn.Value != nud2AreaRGVOut.Value) { MessageBox.Show("区1和区3直穿相同时,进区2直穿和出区2直穿必须相同!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } if (nud4AreaRGVIn.Value == nud4AreaRGVOut.Value) { if (nud3AreaRGV.Value != nud5AreaRGV.Value) { MessageBox.Show("进区4直穿和出区4直穿相同时,区3和区5直穿必须相同!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } if (nud3AreaRGV.Value == nud5AreaRGV.Value) { if (nud4AreaRGVIn.Value != nud4AreaRGVOut.Value) { MessageBox.Show("区3和区5直穿相同时,进区4直穿和出区4直穿必须相同!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } if (!(nud1AreaRGV.Value == nud2AreaRGVOut.Value || nud1AreaRGV.Value == nud2AreaRGVIn.Value)) { MessageBox.Show("进区2直穿和出区2直穿,必须有一个和区1直穿相同!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (!(nud3AreaRGV.Value == nud2AreaRGVOut.Value || nud3AreaRGV.Value == nud2AreaRGVIn.Value)) { MessageBox.Show("进区2直穿和出区2直穿,必须有一个和区3直穿相同!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (!(nud3AreaRGV.Value == nud4AreaRGVOut.Value || nud3AreaRGV.Value == nud4AreaRGVIn.Value)) { MessageBox.Show("进区4直穿和出区4直穿,必须有一个和区3直穿相同!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (!(nud5AreaRGV.Value == nud4AreaRGVOut.Value || nud5AreaRGV.Value == nud4AreaRGVIn.Value)) { MessageBox.Show("进区4直穿和出区4直穿,必须有一个和区5直穿相同!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } DataView dvgate = dbo.ExceSQL(string.Format("select f_rgvindex from T_BASE_RGVINFO where f_rgvindex={0}", Convert.ToInt32(nud1AreaRGV.Value))).Tables[0].DefaultView; if (dvgate.Count<= 0) { MessageBox.Show("区1直穿车号不在有效范围内,请选择正确车号!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } dvgate = dbo.ExceSQL(string.Format("select f_rgvindex from T_BASE_RGVINFO where f_rgvindex={0}", Convert.ToInt32(nud2AreaRGVIn.Value))).Tables[0].DefaultView; if (dvgate.Count <= 0) { MessageBox.Show("进区2直穿车号不在有效范围内,请选择正确车号!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } dvgate = dbo.ExceSQL(string.Format("select f_rgvindex from T_BASE_RGVINFO where f_rgvindex={0}", Convert.ToInt32(nud2AreaRGVOut.Value))).Tables[0].DefaultView; if (dvgate.Count <= 0) { MessageBox.Show("出区2直穿车号不在有效范围内,请选择正确车号!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } dvgate = dbo.ExceSQL(string.Format("select f_rgvindex from T_BASE_RGVINFO where f_rgvindex={0}", Convert.ToInt32(nud3AreaRGV.Value))).Tables[0].DefaultView; if (dvgate.Count <= 0) { MessageBox.Show("区3直穿车号不在有效范围内,请选择正确车号!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } dvgate = dbo.ExceSQL(string.Format("select f_rgvindex from T_BASE_RGVINFO where f_rgvindex={0}", Convert.ToInt32(nud5AreaRGV.Value))).Tables[0].DefaultView; if (dvgate.Count <= 0) { MessageBox.Show("区5直穿车号不在有效范围内,请选择正确车号!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } dvgate = dbo.ExceSQL(string.Format("select f_rgvindex from T_BASE_RGVINFO where f_rgvindex={0}", Convert.ToInt32(nud4AreaRGVIn.Value))).Tables[0].DefaultView; if (dvgate.Count <= 0) { MessageBox.Show("进区4直穿车号不在有效范围内,请选择正确车号!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } dvgate = dbo.ExceSQL(string.Format("select f_rgvindex from T_BASE_RGVINFO where f_rgvindex={0}", Convert.ToInt32(nud4AreaRGVOut.Value))).Tables[0].DefaultView; if (dvgate.Count <= 0) { MessageBox.Show("出区4直穿车号不在有效范围内,请选择正确车号!", "误操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } dbo.ExecuteSql(string.Format("update T_BASE_RGV_GATE t set t.f_input={0},t.f_output={1} where t.f_neargetdevice=1",Convert.ToInt32(nud1AreaRGV.Value), Convert.ToInt32(nud1AreaRGV.Value))); dbo.ExecuteSql(string.Format("update T_BASE_RGV_GATE t set t.f_input={0},t.f_output={1} where t.f_neargetdevice=2", Convert.ToInt32(nud2AreaRGVIn.Value), Convert.ToInt32(nud2AreaRGVOut.Value))); dbo.ExecuteSql(string.Format("update T_BASE_RGV_GATE t set t.f_input={0},t.f_output={1} where t.f_neargetdevice=3", Convert.ToInt32(nud3AreaRGV.Value), Convert.ToInt32(nud3AreaRGV.Value))); dbo.ExecuteSql(string.Format("update T_BASE_RGV_GATE t set t.f_input={0},t.f_output={1} where t.f_neargetdevice=4", Convert.ToInt32(nud4AreaRGVIn.Value), Convert.ToInt32(nud4AreaRGVOut.Value))); dbo.ExecuteSql(string.Format("update T_BASE_RGV_GATE t set t.f_input={0},t.f_output={1} where t.f_neargetdevice=5", Convert.ToInt32(nud5AreaRGV.Value), Convert.ToInt32(nud5AreaRGV.Value))); MessageBox.Show("直穿RGV工作区域设置成功!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Information); CommonClassLib.CCarryConvert.WriteDarkCasket("系统设置", "UserID:" + CStaticClass.UserID + "的操作日志", "点击【保存】按钮", "直穿RGV工作区域设置", ""); } } }