You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
446 lines
15 KiB
446 lines
15 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using DBFactory;
|
|
using Microsoft.VisualBasic;
|
|
using System.Resources;
|
|
using System.Collections;
|
|
|
|
namespace ControlSystem
|
|
{
|
|
/// <summary>
|
|
/// Creator:Richard.liu
|
|
/// 设备状态维护
|
|
/// </summary>
|
|
public partial class FrmDeviceInfoEdit : Form
|
|
{
|
|
string Commsql = "SELECT T_Base_Device.F_DeviceIndex AS 设备索引, " +
|
|
" T_Base_Device.F_DeviceName AS 设备名称, " +
|
|
" T_Base_Device.F_DeviceKindIndex AS 设备类型索引, " +
|
|
" T_Base_Device_Kind.F_DeviceKindName AS 设备类型名称, " +
|
|
" F_LockedState AS 执行状态,F_errorcode as 设备状态, " +
|
|
" F_ManTaskReserve as 调度预约锁,F_HaveGoods as 是否逻辑有物" +
|
|
" FROM T_Base_Device,T_Base_Device_Kind";
|
|
private bool _laneIndex = false;
|
|
|
|
public bool LaneIndex
|
|
{
|
|
get { return _laneIndex; }
|
|
set { _laneIndex = value; }
|
|
}
|
|
private bool _laneGateDeviceIndex = false;
|
|
|
|
public bool LaneGateDeviceIndex
|
|
{
|
|
get { return _laneGateDeviceIndex; }
|
|
set { _laneGateDeviceIndex = value; }
|
|
}
|
|
private bool _isSelected = false;
|
|
|
|
public bool IsSelected
|
|
{
|
|
get { return _isSelected; }
|
|
set { _isSelected = value; }
|
|
}
|
|
private static FrmDeviceInfoEdit _formInstance;
|
|
|
|
public static FrmDeviceInfoEdit FormInstance
|
|
{
|
|
get
|
|
{
|
|
if (_formInstance == null)
|
|
{
|
|
_formInstance = new FrmDeviceInfoEdit();
|
|
|
|
}
|
|
return _formInstance;
|
|
}
|
|
set { FrmDeviceInfoEdit._formInstance = value; }
|
|
}
|
|
DBOperator dbo = CStaticClass.dbo;
|
|
Model.MDevice mdev;
|
|
public FrmDeviceInfoEdit()
|
|
{
|
|
InitializeComponent();
|
|
_formInstance = this;
|
|
dbo.Open();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void btQuery_Click(object sender, EventArgs e)
|
|
{
|
|
if (tbContent.Text.Trim() == "") return;
|
|
try
|
|
{
|
|
string df = "";
|
|
|
|
switch (this.cbField.Text)
|
|
{
|
|
case "设备索引":
|
|
df = "F_DeviceIndex";
|
|
break;
|
|
case "设备名称":
|
|
df = "F_DeviceName";
|
|
break;
|
|
case "设备类型索引":
|
|
df = "T_Base_Device.F_DeviceKindIndex";
|
|
break;
|
|
case "设备类型名称":
|
|
df = "F_DeviceKindName";
|
|
break;
|
|
|
|
default:
|
|
return;
|
|
}
|
|
//20100208
|
|
string sql = Commsql+" WHERE " +
|
|
" T_Base_Device.F_DeviceKindIndex = T_Base_Device_Kind.F_DeviceKindIndex " +
|
|
" and " + df + "= '" + this.tbContent.Text + "' ";
|
|
DataSet ds = dbo.ExceSQL(sql);
|
|
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
private void btNullQuery_Click(object sender, EventArgs e)
|
|
{
|
|
this.cbField.Text = "";
|
|
this.tbContent.Text = "";
|
|
|
|
}
|
|
|
|
|
|
|
|
private void btBack_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
|
|
|
|
private void tsmEdit_Click(object sender, EventArgs e)
|
|
{
|
|
if (dataGridView1.RowCount <= 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
this.tabControl1.SelectTab("tabPage1");
|
|
this.tbDeviceIndex.Text = this.dataGridView1.CurrentRow.Cells[0].Value.ToString()+ "";
|
|
this.tbDeviceName.Text = this.dataGridView1.CurrentRow.Cells[1].Value.ToString() + "";
|
|
this.tbDeviceKindIndex.Text = this.dataGridView1.CurrentRow.Cells[2].Value.ToString() + "";
|
|
|
|
if(this.dataGridView1.CurrentRow.Cells[4].Value.ToString() + ""=="0")
|
|
{
|
|
this.cbLockedState.Text = "0:空闲";
|
|
}
|
|
else if (this.dataGridView1.CurrentRow.Cells[4].Value.ToString() + "" == "-1")
|
|
{
|
|
this.cbLockedState.Text = "-1:停用";
|
|
}
|
|
else
|
|
{
|
|
this.cbLockedState.Text = this.dataGridView1.CurrentRow.Cells[4].Value.ToString() + "";
|
|
}
|
|
if (this.dataGridView1.CurrentRow.Cells[5].Value.ToString() + "" == "0")
|
|
{
|
|
this.cbErrorCode.Text = "0:正常";
|
|
}
|
|
|
|
else
|
|
{
|
|
this.cbErrorCode.Text = this.dataGridView1.CurrentRow.Cells[5].Value.ToString() + "";
|
|
}
|
|
if (this.dataGridView1.CurrentRow.Cells[6].Value.ToString() + "" == "0")
|
|
{
|
|
this.cbManTaskReserve.Text = "0:空闲";
|
|
}
|
|
|
|
else
|
|
{
|
|
this.cbManTaskReserve.Text = this.dataGridView1.CurrentRow.Cells[6].Value.ToString() + "";
|
|
}
|
|
if (this.dataGridView1.CurrentRow.Cells[7].Value.ToString() + "" == "1")
|
|
{
|
|
this.cbHaveGoods.Text = "有";
|
|
}
|
|
|
|
else
|
|
{
|
|
this.cbHaveGoods.Text = "无";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
private void button2_Click(object sender, EventArgs e)
|
|
{
|
|
//20100208
|
|
string sql = Commsql + " WHERE " +
|
|
" T_Base_Device.F_DeviceKindIndex = T_Base_Device_Kind.F_DeviceKindIndex " ;
|
|
DataSet ds = dbo.ExceSQL(sql);
|
|
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
|
|
|
|
}
|
|
|
|
private void btSave_Click(object sender, EventArgs e)
|
|
{
|
|
//增加提示:
|
|
if (MessageBox.Show("您确认要修改设备状态吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
|
|
{
|
|
return;
|
|
}
|
|
|
|
int lockstate = 0;
|
|
int errorcode = 0;//20100208
|
|
int haveGoods = 0;
|
|
int manTaskReserve = 0;
|
|
if (this.tbDeviceIndex.Text.Trim().Length == 0)
|
|
{
|
|
MessageBox.Show("设备索引不允许输入空值!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.tbDeviceIndex.Focus();
|
|
return;
|
|
}
|
|
if (this.cbLockedState.Text.Trim().Length == 0)
|
|
{
|
|
MessageBox.Show("执行状态不允许输入空值!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbLockedState.Focus();
|
|
return;
|
|
}
|
|
if (this.cbErrorCode.Text.Trim().Length == 0)
|
|
{
|
|
MessageBox.Show("设备状态不允许输入空值!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbErrorCode.Focus();
|
|
return;
|
|
}
|
|
if (this.cbHaveGoods.Text.Trim().Length == 0)
|
|
{
|
|
MessageBox.Show("设备逻辑有物不允许输入空值!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbHaveGoods.Focus();
|
|
return;
|
|
}
|
|
if (this.cbManTaskReserve.Text.Trim().Length == 0)
|
|
{
|
|
MessageBox.Show("调度预约锁不允许输入空值!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbManTaskReserve.Focus();
|
|
return;
|
|
}
|
|
|
|
|
|
if (this.cbLockedState.Text == "0:空闲")
|
|
{
|
|
lockstate=0;
|
|
errorcode = 0;//20100208
|
|
}
|
|
else if (this.cbLockedState.Text == "-1:停用")
|
|
{
|
|
lockstate =-1 ;
|
|
errorcode = 98;//20100208
|
|
}
|
|
else
|
|
{
|
|
if (Information.IsNumeric(this.cbLockedState.Text) == true)
|
|
{
|
|
lockstate = Convert.ToInt32(this.cbLockedState.Text);
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("执行状态只允许输入“0:空闲”,“-1:停用”或者整型设备指令索引!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbLockedState.Focus();
|
|
return;
|
|
}
|
|
errorcode = 0;//20100208
|
|
}
|
|
if (this.cbErrorCode.Text == "0:正常")
|
|
{
|
|
errorcode = 0;//20100208
|
|
}
|
|
|
|
else
|
|
{
|
|
if (Information.IsNumeric(this.cbErrorCode.Text) == true)
|
|
{
|
|
errorcode = Convert.ToInt32(this.cbErrorCode.Text);
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("设备状态只允许输入“0:正常”或者整型故障编码!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbErrorCode.Focus();
|
|
return;
|
|
}
|
|
}
|
|
|
|
if (this.cbManTaskReserve.Text == "0:空闲")
|
|
{
|
|
manTaskReserve = 0;
|
|
}
|
|
|
|
else
|
|
{
|
|
if (Information.IsNumeric(this.cbManTaskReserve.Text) == true)
|
|
{
|
|
manTaskReserve = Convert.ToInt32(this.cbManTaskReserve.Text);
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("设备状态只允许输入“0:正常”或者整型故障编码!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbManTaskReserve.Focus();
|
|
return;
|
|
}
|
|
}
|
|
if (this.cbHaveGoods.Text == "有")
|
|
{
|
|
haveGoods = 1;
|
|
}
|
|
else if (this.cbHaveGoods.Text == "无")
|
|
{
|
|
haveGoods = 0;
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("只能选择逻辑有物或者无物!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.cbHaveGoods.Focus();
|
|
return;
|
|
|
|
}
|
|
try
|
|
{
|
|
string sql;
|
|
DataSet ds;
|
|
//20100208
|
|
sql = "UPDATE T_Base_Device SET F_LockedState =" + lockstate + ",f_errorcode=" + errorcode + ",F_ManTaskReserve =" + manTaskReserve + ",F_HaveGoods=" + haveGoods + " where F_DeviceIndex= " + Convert.ToInt32(this.tbDeviceIndex.Text.Trim());
|
|
dbo.ExceSQL(sql);
|
|
MessageBox.Show("设备信息修改成功!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
sql = Commsql + " WHERE " +
|
|
" T_Base_Device.F_DeviceKindIndex = T_Base_Device_Kind.F_DeviceKindIndex " +
|
|
" and F_DeviceIndex= " + Convert.ToInt32(this.tbDeviceIndex.Text.Trim());
|
|
ds = dbo.ExceSQL(sql);
|
|
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
|
|
mdev = Model.CGetInfo.GetDeviceInfo(Convert.ToInt32(this.tbDeviceIndex.Text.Trim()));
|
|
if (lockstate == -1)
|
|
{
|
|
mdev.RunState = 4;
|
|
}
|
|
else
|
|
{
|
|
mdev.RunState = lockstate;
|
|
}
|
|
Model.CGetInfo.SetDeviceInfo(mdev);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
//20100208
|
|
string sql = Commsql + " WHERE F_LockedState=-1 AND " +
|
|
" T_Base_Device.F_DeviceKindIndex = T_Base_Device_Kind.F_DeviceKindIndex ";
|
|
DataSet ds = dbo.ExceSQL(sql);
|
|
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
|
|
}
|
|
|
|
private void button3_Click(object sender, EventArgs e)
|
|
{
|
|
string sql = Commsql + " WHERE F_errorcode>0 AND " +
|
|
" T_Base_Device.F_DeviceKindIndex = T_Base_Device_Kind.F_DeviceKindIndex ";
|
|
DataSet ds = dbo.ExceSQL(sql);
|
|
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
|
|
}
|
|
|
|
private void button4_Click(object sender, EventArgs e)
|
|
{
|
|
string sql = Commsql + " WHERE F_ManTaskReserve>0 AND " +
|
|
" T_Base_Device.F_DeviceKindIndex = T_Base_Device_Kind.F_DeviceKindIndex ";
|
|
DataSet ds = dbo.ExceSQL(sql);
|
|
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
|
|
}
|
|
|
|
private void cbLockedState_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
if (this.cbLockedState.Text == "0:空闲")
|
|
{
|
|
this.cbErrorCode.Text = "0:正常";
|
|
}
|
|
else if (this.cbLockedState.Text == "-1:停用")
|
|
{
|
|
this.cbErrorCode.Text = "98";
|
|
}
|
|
}
|
|
|
|
private void cbField_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
string df = "";
|
|
|
|
switch (this.cbField.Text)
|
|
{
|
|
case "设备索引":
|
|
df = "F_DeviceIndex";
|
|
break;
|
|
case "设备名称":
|
|
df = "F_DeviceName";
|
|
break;
|
|
case "设备类型索引":
|
|
df = "F_DeviceKindIndex";
|
|
break;
|
|
case "设备类型名称":
|
|
df = "F_DeviceKindName";
|
|
break;
|
|
|
|
default:
|
|
return;
|
|
}
|
|
//20100208
|
|
string sql = "select distinct " + df + " from T_Base_Device ";
|
|
DataView dv = dbo.ExceSQL(sql).Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
this.tbContent.DataSource = null;
|
|
this.tbContent.DisplayMember = df;
|
|
this.tbContent.ValueMember= df;
|
|
this.tbContent.DataSource = dv;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
|
|
{
|
|
if ((e.ColumnIndex >= 0) && (e.RowIndex >= 0) && (e.Button == MouseButtons.Right))//20110309
|
|
{
|
|
dataGridView1.ClearSelection();
|
|
dataGridView1.Rows[e.RowIndex].Selected = true;
|
|
dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|