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.
395 lines
16 KiB
395 lines
16 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 System.Net.Sockets;
|
|
using System.Threading;
|
|
using System.ServiceModel;
|
|
using System.Net;
|
|
namespace wcfControlMonitorClient
|
|
{
|
|
/// <summary>
|
|
/// Creator:Richard.liu
|
|
/// É豸ָÁî¶ÓÁйÜÀí
|
|
/// </summary>
|
|
public partial class FrmSeeMonitor : Form
|
|
{
|
|
string _monstatus = " F_Status>=-1 ";
|
|
private static FrmSeeMonitor _formInstance;
|
|
|
|
public static FrmSeeMonitor FormInstance
|
|
{
|
|
get
|
|
{
|
|
if (_formInstance == null)
|
|
{
|
|
_formInstance = new FrmSeeMonitor();
|
|
}
|
|
return _formInstance;
|
|
}
|
|
set { _formInstance = value; }
|
|
}
|
|
|
|
DBOperator dbo = CStaticClass.dbo;
|
|
DBOperator dboM = CStaticClass.dboM;
|
|
|
|
|
|
public FrmSeeMonitor()
|
|
{
|
|
InitializeComponent();
|
|
_formInstance = this;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void rbmonAll_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
RadioButton rb = (RadioButton)sender;
|
|
if (rb.Checked == true)
|
|
{
|
|
_monstatus = " F_Status>=-1 ";
|
|
}
|
|
TSMMonitorRefresh_Click();
|
|
}
|
|
private void TSMMonitorRefresh_Click()
|
|
{
|
|
|
|
this.dgvMonitor.DataSource = dbo.ExceSQL("select * from V_Monitor_Task with(nolock) where " + _monstatus + " order by É豸ָÁîË÷Òý asc ").Tables[0].DefaultView;
|
|
}
|
|
|
|
private void rbmonRun_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
if (rbmonRun.Checked == true)
|
|
{
|
|
_monstatus = " (F_Status>=1) ";
|
|
}
|
|
TSMMonitorRefresh_Click();
|
|
}
|
|
|
|
private void rbmonWait_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
RadioButton rb = (RadioButton)sender;
|
|
if (rb.Checked == true)
|
|
{
|
|
_monstatus = " F_Status=0 ";
|
|
}
|
|
TSMMonitorRefresh_Click();
|
|
}
|
|
|
|
public void button1_Click(object sender, EventArgs e)
|
|
{//20140218
|
|
try
|
|
{
|
|
if (this.textBox1.Text.Trim().Length == 0) return;
|
|
string _manstatus = " F_Status>=-1 ";
|
|
if (this.comboBox1.Text == "ÌõÂë")
|
|
{
|
|
_monstatus = " ÌõÂë='" + this.textBox1.Text.Trim() + "' ";
|
|
_manstatus = " ÌõÂë like '%" + this.textBox1.Text.Trim() + "%' ";
|
|
}
|
|
if (this.comboBox1.Text == "É豸ָÁîË÷Òý")
|
|
{
|
|
_monstatus = " É豸ָÁîË÷Òý='" + this.textBox1.Text.Trim() + "' ";
|
|
_manstatus = " µ÷¶ÈÈÎÎñË÷Òý='" + CStaticClass.GetManageTaskIndexfromMonitor(Convert.ToInt32(this.textBox1.Text.Trim())) + "' ";
|
|
}
|
|
if (this.comboBox1.Text == "µ÷¶ÈÈÎÎñË÷Òý")
|
|
{
|
|
_monstatus = " µ÷¶ÈÈÎÎñË÷Òý='" + this.textBox1.Text.Trim() + "' ";
|
|
_manstatus = " µ÷¶ÈÈÎÎñË÷Òý='" + this.textBox1.Text.Trim() + "' ";
|
|
}
|
|
if (this.comboBox1.Text == "É豸Ë÷Òý")//20130817richard
|
|
{
|
|
_monstatus = " F_Status<>0 and É豸Ë÷Òý='" + this.textBox1.Text.Trim() + "' ";
|
|
int manFID = Convert.ToInt32(dbo.GetSingle("SELECT F_ManageTaskIndex,F_DeviceIndex,F_Status FROM T_Monitor_Task where F_Status<>0 and F_DeviceIndex='" + this.textBox1.Text.Trim() + "' "));
|
|
_manstatus = " µ÷¶ÈÈÎÎñË÷Òý='" + manFID + "' ";
|
|
}
|
|
TSMMonitorRefresh_Click();
|
|
this.dgvManager.DataSource = dbo.ExceSQL("select * from V_Manage_Task with(nolock) where " + _manstatus).Tables[0].DefaultView;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message, "²Ù×÷Ìáʾ£º", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
|
|
private void button2_Click(object sender, EventArgs e)
|
|
{
|
|
_monstatus = " F_Status>=-1 ";
|
|
|
|
TSMMonitorRefresh_Click();
|
|
}
|
|
|
|
private void dgvMonitor_DataSourceChanged(object sender, EventArgs e)
|
|
{
|
|
dgvMonitor.Columns["F_Status"].Visible = false;
|
|
}
|
|
|
|
private void FrmModifyMonitor_Load(object sender, EventArgs e)
|
|
{
|
|
rbmonRun_CheckedChanged(sender, e);
|
|
}
|
|
|
|
private void tsmAGVGet_Click(object sender, EventArgs e)
|
|
{
|
|
string sql = "";
|
|
//ÓÉT_Monitor_Task±íÖлñµÃF_NumParam2×Ö¶ÎÖµ Ìõ¼þ£ºÏûÏ¢·µ»ØµÄС³µÈÎÎñºÅ
|
|
DataTable tableMonitorTask = dbo.ExceSQL("SELECT F_ManageTASKKINDINDEX,F_ManageTaskIndex,F_NumParam2,F_AgvTask,F_AgvNo FROM T_MONITOR_TASK WHERE F_DeviceIndex=1001 and F_MonitorIndex=" + this.dgvMonitor.CurrentRow.Cells[2].Value + "").Tables[0];
|
|
if (tableMonitorTask.Rows.Count > 0)
|
|
{
|
|
if (MessageBox.Show("ÄúÈ·ÈÏÊÖ¹¤±¨¸æAGV²æ»õÍê³ÉÂð£¿", "²Ù×÷Ìáʾ£º", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
|
|
{
|
|
return;
|
|
}
|
|
|
|
sql = "UPDATE T_Monitor_Task SET F_Status = 2 WHERE (F_MonitorIndex =" + this.dgvMonitor.CurrentRow.Cells[2].Value + ")";
|
|
dbo.ExceSQL(sql);
|
|
|
|
//ÓÉT_Base_AGV_Gate±íÖлñµÃF_AGVGateDeviceIndex×Ö¶ÎÖµ Ìõ¼þ£ºT_Base_AGV_Gate.F_Address = T_Monitor_Task.F_NumParam2
|
|
DataTable tableAGVGate = dbo.ExceSQL("SELECT F_AGVGateDeviceIndex FROM T_BASE_AGV_GATE WHERE F_ADDRESS = " + Convert.ToInt32(tableMonitorTask.Rows[0]["F_NumParam2"]) + "").Tables[0];
|
|
if (tableAGVGate.Rows.Count > 0)
|
|
{
|
|
if (MessageBox.Show("ÄúÈ·¶¨Òª°ÑÉ豸:" + tableAGVGate.Rows[0]["F_AGVGateDeviceIndex"] + "Öóɡ¾ÎÞÍÐÅÌ¡¿×´Ì¬Âð£¿", "²Ù×÷Ìáʾ£º", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
|
|
{
|
|
return;
|
|
}
|
|
//¸ü¸ÄT_Base_Device±íÖеÄF_HaveGoods×Ö¶ÎֵΪ0¡£Ìõ¼þ£ºT_Base_Device.F_DeviceIndex = T_Base_AGV_Gate.F_AGVGateDeviceIndex
|
|
dbo.ExecuteSql("UPDATE T_BASE_DEVICE SET F_PALLETBARCODE='-',F_HAVEGOODS = 0 WHERE F_DEVICEINDEX = " + Convert.ToInt32(tableAGVGate.Rows[0]["F_AGVGateDeviceIndex"]) + "");
|
|
string errtext=string.Empty;
|
|
|
|
if (tableMonitorTask.DefaultView[0]["F_ManageTASKKINDINDEX"].ToString() == "1")
|
|
{
|
|
//20090817¸ø¹ÜÀíÖÃÎÞÍÐÅÌÐÅÏ¢
|
|
dboM.ExecuteSql("UPDATE T_ITEMDEVICE SET devicestatus ='0' WHERE devicecode = '" + tableAGVGate.Rows[0]["F_AGVGateDeviceIndex"] + "'");
|
|
}
|
|
}
|
|
string sss = "AGV³µºÅ:" + tableMonitorTask.Rows[0]["F_AgvNo"].ToString() + ";É豸ָÁîË÷Òý:" + this.dgvMonitor.CurrentRow.Cells[2].Value.ToString();
|
|
CommonClassLib.CCarryConvert.WriteDarkCasket("É豸ָÁî¹ÜÀí", "ÊÖ¹¤±¨¸æAGV²æ»õÍê³É", tableMonitorTask.Rows[0]["F_AgvNo"].ToString() + "ºÅ³µ", sss);
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Ö»ÓÐAGVÈÎÎñ²Å¿ÉÒÔÊÖ¹¤±¨¸æAGV²æ»õÍê³É£¡", "Îó²Ù×÷Ìáʾ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
|
|
}
|
|
|
|
private void tsmAGVSend_Click(object sender, EventArgs e)
|
|
{
|
|
//ÓÉT_Monitor_Task±íÖлñµÃF_NumParam5×Ö¶ÎÖµ Ìõ¼þ£ºÏûÏ¢·µ»ØµÄС³µÈÎÎñºÅ
|
|
DataTable tableMonitorTask = dbo.ExceSQL("SELECT F_TxtParam,F_NumParam5,F_AgvTask,F_AgvNo FROM T_MONITOR_TASK WHERE F_DeviceIndex=1001 and F_MonitorIndex=" + this.dgvMonitor.CurrentRow.Cells[2].Value + "").Tables[0];
|
|
if (tableMonitorTask.Rows.Count > 0)
|
|
{
|
|
|
|
if (MessageBox.Show("ÄúÈ·ÈÏÊÖ¹¤±¨¸æAGVж»õÍê³ÉÂð£¿", "²Ù×÷Ìáʾ£º", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
|
|
{
|
|
return;
|
|
}
|
|
|
|
//ÓÉT_Base_AGV_Gate±íÖлñµÃF_AGVGateDeviceIndex×Ö¶ÎÖµ Ìõ¼þ£ºT_Base_AGV_Gate.F_Address = T_Monitor_Task.F_NumParam2
|
|
DataTable tableAGVGate = dbo.ExceSQL("SELECT F_AGVGateDeviceIndex FROM T_BASE_AGV_GATE WHERE F_ADDRESS = " + Convert.ToInt32(tableMonitorTask.Rows[0]["F_NumParam5"]) + "").Tables[0];
|
|
if (tableAGVGate.Rows.Count > 0)
|
|
{
|
|
if (MessageBox.Show("ÄúÈ·¶¨Òª°ÑÉ豸:" + tableAGVGate.Rows[0]["F_AGVGateDeviceIndex"] + "Öóɡ¾ÓÐÍÐÅÌ¡¿×´Ì¬Âð£¿", "²Ù×÷Ìáʾ£º", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
|
|
{
|
|
return;
|
|
}
|
|
//¸ü¸ÄT_Base_Device±íÖеÄF_HaveGoods×Ö¶ÎֵΪ0¡£Ìõ¼þ£ºT_Base_Device.F_DeviceIndex = T_Base_AGV_Gate.F_AGVGateDeviceIndex
|
|
dbo.ExecuteSql("UPDATE T_BASE_DEVICE SET F_PALLETBARCODE='" + tableMonitorTask.Rows[0]["F_TxtParam"] + "',F_HAVEGOODS = 1 WHERE F_DEVICEINDEX = " + Convert.ToInt32(tableAGVGate.Rows[0]["F_AGVGateDeviceIndex"]) + "");
|
|
|
|
}
|
|
string sss = "AGV³µºÅ:" + tableMonitorTask.Rows[0]["F_AgvNo"].ToString() + ";É豸ָÁîË÷Òý:" + this.dgvMonitor.CurrentRow.Cells[2].Value.ToString();
|
|
CommonClassLib.CCarryConvert.WriteDarkCasket("É豸ָÁî¹ÜÀí", "ÊÖ¹¤±¨¸æAGVж»õÍê³É", tableMonitorTask.Rows[0]["F_AgvNo"].ToString() + "ºÅ³µ", sss);
|
|
|
|
CStaticClass.WcfControl.BeginModifyMonitorTask(1001,Convert.ToInt32(this.dgvMonitor.CurrentRow.Cells[2].Value), Model.CGeneralFunction.TASKFINISH ,new AsyncCallback(ModifyMonitorTaskCallBack), null);
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Ö»ÓÐAGVÈÎÎñ²Å¿ÉÒÔÊÖ¹¤±¨¸æAGV·Å»õÍê³É£¡", "Îó²Ù×÷Ìáʾ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
}
|
|
|
|
private void tsmAGVBank_Click(object sender, EventArgs e)
|
|
{
|
|
string errtext=string.Empty;
|
|
|
|
CStaticClass.WcfControl.BeginModifyMonitorTask(1001,Convert.ToInt32(this.dgvMonitor.CurrentRow.Cells[2].Value), Model.CGeneralFunction.TASKFINISH, new AsyncCallback(ModifyMonitorTaskCallBack), null);
|
|
|
|
}
|
|
|
|
private void tsmAGVGoods_Click(object sender, EventArgs e)
|
|
{
|
|
string errtext = string.Empty;
|
|
|
|
CStaticClass.WcfControl.BeginModifyMonitorTask(1001,Convert.ToInt32(this.dgvMonitor.CurrentRow.Cells[2].Value), Model.CGeneralFunction.TASKFINISH ,new AsyncCallback(ModifyMonitorTaskCallBack), null);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void dgvMonitor_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
|
|
{
|
|
foreach (DataGridViewRow DGVRow in this.dgvMonitor.Rows)
|
|
{
|
|
if (DGVRow != null)
|
|
{
|
|
if (Convert.ToInt32(DGVRow.Cells["f_status"].Value) >= 30)
|
|
{
|
|
DGVRow.DefaultCellStyle.BackColor = Color.Red;
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
string df = "";
|
|
string wherestr = " where 1=1 ";
|
|
switch (this.comboBox1.Text)
|
|
{
|
|
case "ÌõÂë":
|
|
df = "ÌõÂë";
|
|
break;
|
|
case "µ÷¶ÈÈÎÎñË÷Òý":
|
|
df = "µ÷¶ÈÈÎÎñË÷Òý";
|
|
break;
|
|
case "É豸ָÁîË÷Òý":
|
|
df = "É豸ָÁîË÷Òý";
|
|
wherestr = " where f_status<>0 ";
|
|
break;
|
|
case "É豸Ë÷Òý":
|
|
df = "É豸Ë÷Òý";//20130817richard
|
|
wherestr = " where f_status<>0 ";
|
|
break;
|
|
|
|
default:
|
|
return;
|
|
}
|
|
//20100208
|
|
string sql = "select distinct " + df + " from V_Monitor_Task with(nolock) " + wherestr;
|
|
DataView dv = dbo.ExceSQL(sql).Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
this.textBox1.DataSource = null;
|
|
this.textBox1.DisplayMember = df;
|
|
this.textBox1.ValueMember = df;
|
|
this.textBox1.DataSource = dv;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
private void dgvMonitor_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
|
|
{
|
|
string errtext = string.Empty;
|
|
if ((e.RowIndex >= 0))//&&(e.Button == MouseButtons.Right)
|
|
{
|
|
dgvMonitor.ClearSelection();
|
|
dgvMonitor.Rows[e.RowIndex].Selected = true;
|
|
dgvMonitor.CurrentCell = dgvMonitor.Rows[e.RowIndex].Cells[0];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
void ModifyMonitorTaskCallBack(IAsyncResult ar)
|
|
{
|
|
if (this.IsDisposed == true) return;
|
|
string errtext = string.Empty;
|
|
this.BeginInvoke(new MethodInvoker(delegate()
|
|
{
|
|
|
|
if (CStaticClass.WcfControl.EndModifyMonitorTask(out errtext, ar) == false)
|
|
{
|
|
MessageBox.Show(errtext, "²Ù×÷Ìáʾ£º", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
|
|
TSMMonitorRefresh_Click();
|
|
}));
|
|
}
|
|
void ModifyMonitorTask1CallBack(IAsyncResult ar)
|
|
{
|
|
if (this.IsDisposed == true) return;
|
|
string errtext = string.Empty;
|
|
this.BeginInvoke(new MethodInvoker(delegate()
|
|
{
|
|
|
|
if (CStaticClass.WcfControl.EndModifyMonitorTask1(out errtext, ar) == false)
|
|
{
|
|
MessageBox.Show(errtext, "²Ù×÷Ìáʾ£º", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
|
|
TSMMonitorRefresh_Click();
|
|
}));
|
|
}
|
|
private void FrmModifyMonitor_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
_formInstance = null;
|
|
}
|
|
|
|
private void radioButton1_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
RadioButton rb = (RadioButton)sender;
|
|
if (rb.Checked == true)
|
|
{
|
|
_monstatus = " ÌõÂë like'%PAT%' ";
|
|
}
|
|
TSMMonitorRefresh_Click();
|
|
}
|
|
|
|
private void radioButton2_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
RadioButton rb = (RadioButton)sender;
|
|
if (rb.Checked == true)
|
|
{
|
|
_monstatus = " ÌõÂë like'%BOX%' ";
|
|
}
|
|
TSMMonitorRefresh_Click();
|
|
}
|
|
|
|
private void radioButton4_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
RadioButton rb = (RadioButton)sender;
|
|
if (rb.Checked == true)
|
|
{
|
|
_monstatus = " ÌõÂë like'%PAT%' and F_Status>=1";
|
|
}
|
|
TSMMonitorRefresh_Click();
|
|
}
|
|
|
|
private void radioButton3_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
RadioButton rb = (RadioButton)sender;
|
|
if (rb.Checked == true)
|
|
{
|
|
_monstatus = " ÌõÂë like'%BOX%' and F_Status>=1";
|
|
}
|
|
TSMMonitorRefresh_Click();
|
|
}
|
|
|
|
}
|
|
}
|