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.
2518 lines
124 KiB
2518 lines
124 KiB
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 System.ServiceModel;
|
|
using WcfControlMonitorLib;
|
|
using CommonLib;
|
|
using System.Globalization;
|
|
using System.Security.Cryptography;
|
|
using System.Threading;
|
|
using Model;//20151019richard
|
|
namespace wcfControlMonitorClient
|
|
{
|
|
public partial class FrmHost : Form
|
|
{
|
|
Model.MonitorInfo mi;//20140824richard
|
|
//20130122
|
|
private static FrmHost _formInstance;
|
|
//20130122
|
|
public static FrmHost FormInstance
|
|
{
|
|
get
|
|
{
|
|
if (_formInstance == null)
|
|
{
|
|
_formInstance = new FrmHost();
|
|
}
|
|
return _formInstance;
|
|
}
|
|
set { _formInstance = value; }
|
|
}
|
|
int timersum = 0;//20120513
|
|
int timerefesh = 0;//20150103增加断网恢复
|
|
DBFactory.DBOperator dbo;
|
|
DBFactory.DBOperator dboM;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public FrmHost()
|
|
{
|
|
try
|
|
{
|
|
dbo = CStaticClass.dbo;
|
|
dboM = CStaticClass.dboM;
|
|
//DBFactory.DBOperator dboMan = CStaticClass.dboM;//20130510
|
|
InitializeComponent();
|
|
CStaticClass.SystemName = CommonClassLib.AppSettings.GetValue("SystemName");
|
|
this.notifyIcon1.Text = CStaticClass.SystemName;
|
|
this.Text = CStaticClass.SystemName;
|
|
//WCSServer.ControlMonitorClient aa = new WCSServer.ControlMonitorClient(new InstanceContext(new FrmSystemInit()));
|
|
//Model.MonitorInfo mi=new Model.MonitorInfo();
|
|
//if (aa.Heartbeat(out mi) == true)
|
|
//{
|
|
// MessageBox.Show("网络中已经有WCS服务端工作,不要重复启动WCS服务!");
|
|
// this.Close();
|
|
// return;
|
|
//}
|
|
_host = new ServiceHost(typeof(WcfControlMonitorLib.SControlMonitor));
|
|
_host.Open();
|
|
//Silverlight跨域访问服务
|
|
//policyHost = ClientCrossDomainAccessPolicy.GetHost(_host.BaseAddresses[0].Host);
|
|
//policyHost.Open();
|
|
SControlMonitor.ChannelOpen += new ClientLogEventHandler(SControlMonitor_ChannelOpen);
|
|
SControlMonitor.ClientLogout += new ClientLogEventHandler(SControlMonitor_ClientLogout);
|
|
SControlMonitor.RefreshMonitor += new RefreshMonitorEventHandler(SControlMonitor_RefreshMonitor);
|
|
SControlMonitor.PLCCommonUpdateDB += new CUpdateDBEventHandler(SControlMonitor_PLCCommonUpdateDB);//PLC//20121108
|
|
SControlMonitor.AGVUpdateDB += new CUpdateDBEventHandler(SControlMonitor_AGVUpdateDB);//AGV//20121108
|
|
SControlMonitor.SendBarcode += new CStringInfoEventHandler(SControlMonitor_SendBarcode);
|
|
SControlMonitor.WriteDarkCasket += new CWriteDarkCasketEventHandler(SControlMonitor_WriteDarkCasket);//20121108
|
|
SControlMonitor.SendDeviceOrder += new CSendDeviceOrderEventHandler(SControlMonitor_SendDeviceOrder); ;//20121108
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message + ex.InnerException, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
this.Close();
|
|
}
|
|
}
|
|
|
|
void SControlMonitor_AGVUpdateDB(object sender, CUpdateDBChangeEventArgs e)
|
|
{//20120616
|
|
this.BeginInvoke(new MethodInvoker(delegate()
|
|
{ CStaticClass.WcfControl.DealWithListenAGVState_UpdateDB(sender,e); }));
|
|
|
|
}
|
|
|
|
void SControlMonitor_PLCCommonUpdateDB(object sender, CUpdateDBChangeEventArgs e)
|
|
{
|
|
|
|
string errtext=string.Empty;
|
|
this.BeginInvoke(new MethodInvoker(delegate()
|
|
{CStaticClass.WcfControl.DealWithDeviceState(out errtext, e.Deviceindex, e.SplitbyteValue, e.Devicestates);}));
|
|
|
|
}
|
|
void SControlMonitor_SendBarcode(object sender, CStringInfoEventArgs e)
|
|
{
|
|
string errtext = string.Empty;
|
|
this.BeginInvoke(new MethodInvoker(delegate()
|
|
{
|
|
CStaticClass.WcfControl.WriteDBData(e.Deviceindex,"DB1",e.Barcode+","+e.Confirm.ToString(),out errtext);
|
|
dbo.ExceSQL(string.Format(" update T_Base_PLC_Ask set F_TaskIndex={0} WHERE (F_DeviceIndex = {1})", e.Deviceindex,Convert.ToInt32(sender)));
|
|
}));
|
|
|
|
}
|
|
void SControlMonitor_SendDeviceOrder(object sender, CSendDeviceOrderEventArgs e)
|
|
{//20121108
|
|
this.BeginInvoke(new MethodInvoker(delegate()
|
|
{ CStaticClass.WcfControl.DealWithSendDeviceOrder(sender, e); }));
|
|
}
|
|
void SControlMonitor_WriteDarkCasket(object sender, CWriteDarkCasketEventArgs e)
|
|
{//20121108
|
|
this.BeginInvoke(new MethodInvoker(delegate()
|
|
{ CStaticClass.WcfControl.DealWithWriteDarkCasket(sender, e); }));
|
|
}
|
|
|
|
void SControlMonitor_CDeviceState(object sender, CDeviceStateChangeEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
SendDeviceInfosToClient(e.Devinfo);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf("SControlMonitor_CDeviceState:" + ex.StackTrace + ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += "SControlMonitor_CDeviceState:" + ex.StackTrace + ex.Message;
|
|
}
|
|
}
|
|
}
|
|
|
|
void SControlMonitor_RefreshMonitor(RefreshMonitorEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
this.BeginInvoke(new MethodInvoker(delegate()
|
|
{
|
|
SendMessageToClient(e.RefreshObjectName + "@" + e.RefreshObjectInfo);
|
|
}));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf("SControlMonitor_RefreshMonitor:" + ex.StackTrace + ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += "SControlMonitor_RefreshMonitor:" + ex.StackTrace + ex.Message;
|
|
}
|
|
}
|
|
}
|
|
|
|
void SControlMonitor_DataChange(object sender, CDataChangeEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
SendMessageToClient(sender.ToString());
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf("SControlMonitor_DataChange:" + ex.StackTrace + ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += "SControlMonitor_DataChange:" + ex.StackTrace + ex.Message;
|
|
}
|
|
}
|
|
}
|
|
|
|
void SControlMonitor_ClientLogout(ClientLogEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
AddList1Info(e.clientInfo);//20120503
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf("SControlMonitor_ClientLogout:" + ex.StackTrace + ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += "SControlMonitor_ClientLogout:" + ex.StackTrace + ex.Message;
|
|
}
|
|
}
|
|
}
|
|
|
|
void SControlMonitor_ChannelOpen(ClientLogEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
AddList1Info(e.clientInfo);//20120503
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf("SControlMonitor_ChannelOpen:" + ex.StackTrace + ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += "SControlMonitor_ChannelOpen:" + ex.StackTrace + ex.Message;
|
|
}
|
|
}
|
|
}
|
|
private ServiceHost _host = null;
|
|
private ServiceHost policyHost = null;
|
|
private void FrmHost_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
MIStartRetrieveTask_Click(sender, e);
|
|
MITurnOn_Click(sender, e);
|
|
string targetDevice = Convert.ToString(dbo.ExceSQL("select * from WH_LANEWAY where WAREHOUSE_CODE = '1'").Tables[0].DefaultView[0]["LANEWAY_CODE"]);
|
|
comboBox1.Text = targetDevice;
|
|
label4.Text = targetDevice;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void MIDataClear_Click(object sender, EventArgs e)
|
|
{
|
|
if (MessageBox.Show("您确认清空调度系统的调度队列和设备指令队列数据吗?这个操作将导致调度系统丢失当前记录的所有数据,并且使系统恢复到初始状态!", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
|
|
{
|
|
return;
|
|
}
|
|
string errtext=string.Empty;
|
|
if (CStaticClass.WcfControl.DataClear(out errtext) == false)
|
|
{
|
|
MessageBox.Show(errtext, "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
|
|
}
|
|
|
|
void SendMessageToClient(string strmessage)
|
|
{
|
|
IClient cl=null;
|
|
try
|
|
{
|
|
if(AddList1Info(strmessage)==false)return ;//20130510
|
|
var list = WcfControlMonitorLib.SControlMonitor.ClientCallbackLists;
|
|
if (list == null || list.Count == 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
lock (list)
|
|
{
|
|
foreach (System.Collections.DictionaryEntry client in list)
|
|
{
|
|
// Broadcast
|
|
cl = (IClient)client.Key;
|
|
//string aa = client.Value.ToString();
|
|
//this.BeginInvoke(new MethodInvoker(delegate()
|
|
//{
|
|
//20140824richard
|
|
if (strmessage == "巡检客户端")
|
|
{
|
|
cl.BeginSendOrderMessage(mi, new AsyncCallback(SendOrderMessageCallback), mi);
|
|
}
|
|
else
|
|
{
|
|
cl.BeginSendMessage(strmessage, new AsyncCallback(sendMessageCallback), strmessage);
|
|
|
|
}
|
|
//20140824richard
|
|
//}));
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (cl != null)
|
|
{
|
|
WcfControlMonitorLib.SControlMonitor.ClientCallbackLists.Remove(cl);
|
|
WcfControlMonitorLib.SControlMonitor.ClientShowLists.Remove(cl);
|
|
}
|
|
AddList1Info(string.Format("SendMessageToClient时异常:{0}", ex.Message));//20120503
|
|
//if (listBox1.Items.Count >= 100) listBox1.Items.Clear();
|
|
//this.listBox1.Items.Add(string.Format("SendMessageToClient时异常:{0},{1}" , ex.Message,DateTime.Now.ToString("u")));
|
|
}
|
|
}
|
|
void SendOrderMessageCallback(IAsyncResult ar)
|
|
{
|
|
|
|
}
|
|
void sendMessageCallback(IAsyncResult ar)
|
|
{
|
|
try
|
|
{
|
|
this.BeginInvoke(new MethodInvoker(delegate()
|
|
{
|
|
|
|
string sem = (string)ar.AsyncState;
|
|
AddList1Info(sem);//20120503
|
|
//if (listBox1.Items.Count >= 100) listBox1.Items.Clear();
|
|
//if (listBox1.Items.Count >= 1)
|
|
//{
|
|
// if (this.listBox1.Items[listBox1.Items.Count - 1].ToString().IndexOf(sem) >= 0) return;
|
|
//}
|
|
//if (sem == "巡检客户端") return;
|
|
//listBox1.Items.Add(DateTime.Now.ToLongTimeString()+sem);
|
|
|
|
}));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
this.BeginInvoke(new MethodInvoker(delegate()
|
|
{
|
|
if (tsStatus.Text.IndexOf("巡检客户端sendMessageCallback:" + ex.StackTrace + ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += "巡检客户端sendMessageCallback:" + ex.StackTrace + ex.Message;
|
|
}
|
|
}));
|
|
}
|
|
}
|
|
void SendDeviceInfosToClient(Model.MDevice devinfo)
|
|
{
|
|
IClient cl = null;
|
|
try
|
|
{
|
|
var list = WcfControlMonitorLib.SControlMonitor.ClientCallbackLists;
|
|
if (list == null || list.Count == 0)
|
|
return;
|
|
lock (list)
|
|
{
|
|
foreach (System.Collections.DictionaryEntry client in list)
|
|
{
|
|
// Broadcast
|
|
cl = (IClient)client.Key;
|
|
cl.BeginSendDeviceInfo(devinfo, new AsyncCallback(sendDeviceInfosCallback), null);
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (cl != null)
|
|
{
|
|
WcfControlMonitorLib.SControlMonitor.ClientCallbackLists.Remove(cl);
|
|
WcfControlMonitorLib.SControlMonitor.ClientShowLists.Remove(cl);
|
|
}
|
|
AddList1Info(string.Format("SendDeviceInfosToClient时异常:{0}", ex.Message));//20120503
|
|
//if (listBox1.Items.Count >= 100) listBox1.Items.Clear();
|
|
//this.listBox1.Items.Add(string.Format("SendDeviceInfosToClient时异常:{0},{1}" , ex.Message , DateTime.Now.ToString("u")));
|
|
}
|
|
}
|
|
|
|
void sendDeviceInfosCallback(IAsyncResult ar)
|
|
{
|
|
|
|
}
|
|
private void FrmHost_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
if (MessageBox.Show("您确认要关闭"+CStaticClass.SystemName+"吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) != DialogResult.OK)
|
|
{
|
|
e.Cancel = true;
|
|
return;
|
|
}
|
|
if (_host != null)
|
|
{
|
|
SControlMonitor.ChannelOpen -= new ClientLogEventHandler(SControlMonitor_ChannelOpen);
|
|
SControlMonitor.ClientLogout -= new ClientLogEventHandler(SControlMonitor_ClientLogout);
|
|
SControlMonitor.DataChange -= new CDataSourceChangeEventHandler(SControlMonitor_DataChange);
|
|
SControlMonitor.RefreshMonitor -= new RefreshMonitorEventHandler(SControlMonitor_RefreshMonitor);
|
|
SControlMonitor.CDeviceState -= new CDeviceStateChangeEventHandler(SControlMonitor_CDeviceState);
|
|
SControlMonitor.PLCCommonUpdateDB -= new CUpdateDBEventHandler(SControlMonitor_PLCCommonUpdateDB);
|
|
SControlMonitor.SendBarcode -= new CStringInfoEventHandler(SControlMonitor_SendBarcode);
|
|
_host.Close();
|
|
IDisposable host = _host as IDisposable;
|
|
host.Dispose();
|
|
}
|
|
CommonClassLib.AppSettings.dbo.Close();
|
|
CommonClassLib.AppSettings.dboM.Close();
|
|
}
|
|
|
|
private void MIStartRetrieveTask_Click(object sender, EventArgs e)
|
|
{
|
|
if (MITurnOn.Checked == true)
|
|
{
|
|
this.Text = CStaticClass.SystemName + "【开始获取任务!】" + "【正在执行自动命令!】";//20120510
|
|
}
|
|
else
|
|
{
|
|
this.Text = CStaticClass.SystemName + "【开始获取任务!】";//20120510
|
|
}
|
|
CStaticClass.WcfControl.ObtainTask("", "UPDATE");
|
|
MIStopRetrieveTask.Enabled = true;
|
|
//CStaticClass.ObtainManageTask = true;
|
|
MIStartRetrieveTask.Checked = true;
|
|
MIStopRetrieveTask.Checked = false;
|
|
}
|
|
|
|
private void MIStopRetrieveTask_Click(object sender, EventArgs e)
|
|
{
|
|
if (MITurnOn.Checked == true)
|
|
{
|
|
this.Text = CStaticClass.SystemName + "【正在执行自动命令!】";//20120510
|
|
}
|
|
else
|
|
{
|
|
this.Text = CStaticClass.SystemName;//20120510
|
|
}
|
|
CStaticClass.WcfControl.StopObtainTask();
|
|
//CStaticClass.ObtainManageTask = false;
|
|
//20120510CStaticClass.WcfControl.StopObtainTask();
|
|
ToolStripMenuItem tsm;
|
|
for (int i = 0; i < MIStartRetrieveTask.DropDown.Items.Count; i++)
|
|
{
|
|
tsm = (ToolStripMenuItem)MIStartRetrieveTask.DropDown.Items[i];
|
|
tsm.Checked = false;
|
|
}
|
|
MIStartRetrieveTask.Checked = false;
|
|
MIStartRetrieveTask.Enabled = true;
|
|
|
|
MIStopRetrieveTask.Enabled = false;
|
|
MIStopRetrieveTask.Checked = true;
|
|
}
|
|
void ToolStripMenu_Click(object sender, EventArgs e)
|
|
{
|
|
ToolStripMenuItem tsm; bool ifget = false;
|
|
|
|
DataView dv;
|
|
char[] cc = new char[1] { ':' };
|
|
int laneway = 0; StringBuilder minz = new StringBuilder(); StringBuilder maxz = new StringBuilder();
|
|
StringBuilder wherez = new StringBuilder();
|
|
ToolStripMenuItem aa = (ToolStripMenuItem)sender;
|
|
|
|
if (aa.Name == "MCAll")
|
|
{
|
|
if (aa.Checked == true)
|
|
{
|
|
aa.Checked = false;
|
|
CStaticClass.WcfControl.ObtainTask("", "UPDATE");
|
|
|
|
}
|
|
else
|
|
{
|
|
aa.Checked = true;
|
|
CStaticClass.WcfControl.ObtainTask(" or (1=1) ", "UPDATE");
|
|
|
|
}
|
|
//20100625修正不能获取站台到站台的任务
|
|
|
|
for (int i = 0; i < MIStartRetrieveTask.DropDown.Items.Count; i++)
|
|
{
|
|
|
|
tsm = (ToolStripMenuItem)MIStartRetrieveTask.DropDown.Items[i];
|
|
if (tsm.Name != "MCAll")
|
|
{
|
|
|
|
tsm.Checked = aa.Checked;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//20100625修正不能获取站台到站台的任务
|
|
|
|
}
|
|
else
|
|
{
|
|
laneway = Convert.ToInt32(aa.Text.Split(cc)[1]);
|
|
dv = dbo.ExceSQL("select min(f_z) as minZ from st_cell where flaneway=" + laneway + "").Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
if (dv[0]["minZ"].ToString().Length == 1)
|
|
{
|
|
minz = minz.Append("'0").Append(dv[0]["minZ"].ToString()).Append("-00-00'");
|
|
}
|
|
else
|
|
{
|
|
minz = minz.Append("'" + dv[0]["minZ"].ToString()).Append("-00-00'");
|
|
}
|
|
|
|
}
|
|
dv = dbo.ExceSQL("select max(f_z) as maxZ from st_cell where flaneway=" + laneway + "").Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
if (dv[0]["maxZ"].ToString().Length == 1)
|
|
{
|
|
maxz = maxz.Append("'0").Append(dv[0]["maxZ"].ToString()).Append("-99-99'");
|
|
}
|
|
else
|
|
{
|
|
maxz = maxz.Append("'" + dv[0]["maxZ"].ToString()).Append("-99-99'");
|
|
}
|
|
}
|
|
wherez.Append(" or ((START_DEVICE_CODE between ").Append(minz).Append(" and ").Append(maxz).Append(" ) or (END_DEVICE_CODE between ").Append(minz).Append(" and ").Append(maxz).Append("))");
|
|
if (aa.Checked == true)
|
|
{
|
|
aa.Checked = false;
|
|
//20100625修正不能获取站台到站台的任务
|
|
CStaticClass.WcfControl.ObtainTask(wherez.ToString(), "REPLACE");
|
|
|
|
|
|
ToolStripMenuItem cm = new ToolStripMenuItem();
|
|
ToolStripMenuItem all = (ToolStripMenuItem)MIStartRetrieveTask.DropDown.Items["MCAll"];
|
|
CStaticClass.WcfControl.ObtainTask(" or (1=1) ", "REPLACE");
|
|
all.Checked = false;
|
|
StringBuilder wherez1 = new StringBuilder();
|
|
|
|
for (int ii = 0; ii < MIStartRetrieveTask.DropDown.Items.Count; ii++)
|
|
{
|
|
//20101208
|
|
minz.Remove(0, minz.Length);
|
|
maxz.Remove(0, maxz.Length);
|
|
|
|
cm = (ToolStripMenuItem)MIStartRetrieveTask.DropDown.Items[ii];
|
|
if ((cm.Checked == true) && (cm.Name != aa.Name) && (cm.Name != "MCAll"))
|
|
{
|
|
laneway = Convert.ToInt32(cm.Text.Split(cc)[1]);
|
|
dv = dbo.ExceSQL("select min(f_z) as minZ from st_cell where flaneway=" + laneway + "").Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
if (dv[0]["minZ"].ToString().Length == 1)
|
|
{
|
|
minz = minz.Append("'0").Append(dv[0]["minZ"].ToString()).Append("-00-00'");
|
|
}
|
|
else
|
|
{
|
|
minz = minz.Append("'" + dv[0]["minZ"].ToString()).Append("-00-00'");
|
|
}
|
|
|
|
}
|
|
dv = dbo.ExceSQL("select max(f_z) as maxZ from st_cell where flaneway=" + laneway + "").Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
if (dv[0]["maxZ"].ToString().Length == 1)
|
|
{
|
|
maxz = maxz.Append("'0").Append(dv[0]["maxZ"].ToString()).Append("-99-99'");
|
|
}
|
|
else
|
|
{
|
|
maxz = maxz.Append("'" + dv[0]["maxZ"].ToString()).Append("-99-99'");
|
|
}
|
|
}
|
|
wherez1.Append(" or ((START_DEVICE_CODE between ").Append(minz).Append(" and ").Append(maxz).Append(" ) or (END_DEVICE_CODE between ").Append(minz).Append(" and ").Append(maxz).Append("))");
|
|
|
|
}
|
|
|
|
}
|
|
CStaticClass.WcfControl.ObtainTask(wherez1.ToString(), "APPEND");
|
|
|
|
//20100625修正不能获取站台到站台的任务
|
|
}
|
|
else
|
|
{
|
|
aa.Checked = true;
|
|
|
|
CStaticClass.WcfControl.ObtainTask(wherez.ToString(), "APPEND");
|
|
}
|
|
}
|
|
|
|
MIStartRetrieveTask_Click(sender, e);
|
|
|
|
for (int i = 0; i < MIStartRetrieveTask.DropDown.Items.Count; i++)
|
|
{
|
|
tsm = (ToolStripMenuItem)MIStartRetrieveTask.DropDown.Items[i];
|
|
if (tsm.Checked == true)
|
|
{
|
|
ifget = true;
|
|
}
|
|
}
|
|
if (ifget == false)
|
|
{
|
|
MIStopRetrieveTask_Click(sender, e);
|
|
|
|
}
|
|
}
|
|
|
|
private void MITurnOn_Click(object sender, EventArgs e)
|
|
{
|
|
MITurnOff.Enabled = true;
|
|
MITurnOn.Enabled = false;
|
|
tsmTurnOff.Enabled = true;
|
|
tsmTurnOn.Enabled = false;
|
|
|
|
tsmTurnOff.Checked = false;
|
|
tsmTurnOn.Checked = true;
|
|
MITurnOff.Checked = false;
|
|
MITurnOn.Checked = true;
|
|
//CStaticClass.Order = true;
|
|
CStaticClass.WcfControl.OrderTurnOn();
|
|
if (MIStartRetrieveTask.Checked == true)
|
|
{
|
|
this.Text = CStaticClass.SystemName + "【开始获取任务!】" + "【正在执行自动命令!】";
|
|
}
|
|
else
|
|
{
|
|
this.Text = CStaticClass.SystemName + "【正在执行自动命令!】";
|
|
}
|
|
//20120510CStaticClass.WcfControl.OrderTurnOn();
|
|
}
|
|
|
|
private void MITurnOff_Click(object sender, EventArgs e)
|
|
{
|
|
if (MessageBox.Show("您确认要“关闭命令开关”吗?如果“关闭命令开关”将导致调度计算机与所有设备通讯中断!", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) != DialogResult.OK)
|
|
{
|
|
return;
|
|
}
|
|
CStaticClass.WcfControl.OrderTurnOff();
|
|
//CStaticClass.Order = false;
|
|
MITurnOff.Enabled = false;
|
|
MITurnOn.Enabled = true;
|
|
tsmTurnOff.Enabled = false;
|
|
tsmTurnOn.Enabled = true;
|
|
|
|
tsmTurnOn.Checked = false;
|
|
tsmTurnOff.Checked = true;
|
|
MITurnOn.Checked = false;
|
|
MITurnOff.Checked = true;
|
|
|
|
if (MIStartRetrieveTask.Checked == true)
|
|
{
|
|
this.Text = CStaticClass.SystemName + "【开始获取任务!】";
|
|
}
|
|
else
|
|
{
|
|
this.Text = CStaticClass.SystemName;
|
|
}
|
|
//20120510CStaticClass.WcfControl.OrderTurnOff();
|
|
}
|
|
|
|
private void timerObtainTask_Tick(object sender, EventArgs e)
|
|
{
|
|
timerObtainTask.Enabled = false;
|
|
try
|
|
//if (CStaticClass.ObtainManageTask == true)
|
|
{
|
|
string errtext = string.Empty;
|
|
|
|
if (CStaticClass.WcfControl.GetAllManageTask(out errtext) == false)
|
|
{
|
|
if (tsStatus.Text.IndexOf(errtext) < 0)
|
|
{
|
|
tsStatus.Text += errtext;
|
|
}
|
|
}
|
|
#region AGV任务没响应,任务重发
|
|
|
|
//int DeviceIdx;
|
|
//int TaskIdx = 0;
|
|
//StringBuilder sql = new StringBuilder();
|
|
//DataView dvmo =new DataView();
|
|
//sql.Remove(0, sql.Length);
|
|
//sql.Append("SELECT F_DeviceIndex,F_DeviceKindIndex,F_MaxSendCount,F_SendInterval FROM T_Base_Device WHERE F_DeviceKindIndex = 6");
|
|
//DataView dd = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
|
|
//for (int j = 0; j < dd.Count; j++)
|
|
//{
|
|
// DeviceIdx = Convert.ToInt32(dd[j]["F_DeviceIndex"]);
|
|
// #region 发送后规定时间内没报开始或者读取数据成功需要进行超时重发,重发超限时报错
|
|
// sql.Remove(0, sql.Length);
|
|
// sql.Append("select F_MonitorIndex,F_DeviceIndex,F_SendCount,F_StartTime,F_Status,F_AgvNo from T_Monitor_Task where F_DeviceIndex=").Append(DeviceIdx).Append(" and f_status=1 and F_SendFlag='1'");
|
|
// dvmo= dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;//20100905只重发主任务
|
|
// if (dvmo.Count > 0)
|
|
// {//20110510
|
|
// TaskIdx = Convert.ToInt32(dvmo[0]["F_MonitorIndex"]);
|
|
// int scount = Convert.ToInt32(dvmo[0]["F_SendCount"]);
|
|
// scount++;
|
|
// if (scount > Convert.ToInt32(dd[j]["F_MaxSendCount"]))
|
|
// {
|
|
// //发送次数超限报警
|
|
// sql.Remove(0, sql.Length);
|
|
// sql.Append("update T_Monitor_Task set F_Status=999 where F_Status<>999 and F_MonitorIndex=").Append(TaskIdx);//20110505
|
|
// dbo.ExceSQL(sql.ToString());
|
|
|
|
// }
|
|
// else
|
|
// {
|
|
// //DateTime.Now.AddMilliseconds
|
|
// if (dvmo[0]["F_StartTime"].ToString() != "-")
|
|
// {
|
|
// if (Convert.ToDateTime(dvmo[0]["F_StartTime"].ToString().Substring(0, 19), CultureInfo.CurrentCulture).AddMilliseconds(Convert.ToDouble(dd[j]["F_SendInterval"])) <= DateTime.Now)
|
|
// {
|
|
|
|
// if (dvmo[0]["F_AgvNo"] == DBNull.Value)
|
|
// {
|
|
// sql.Remove(0, sql.Length);
|
|
// sql.Append("update T_Base_Device set F_LockedState=0 where F_DeviceIndex=").Append(DeviceIdx);
|
|
// dbo.ExceSQL(sql.ToString());
|
|
// sql.Remove(0, sql.Length);
|
|
// sql.Append("update T_Monitor_Task set F_SendCount=").Append(scount).Append(",F_Status=0 where F_MonitorIndex=").Append(TaskIdx);
|
|
// dbo.ExceSQL(sql.ToString());
|
|
// }
|
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("GetDeviceState", "超时重发", DeviceIdx.ToString(), "设备指令索引:" + TaskIdx.ToString() + "发送后,一直没有报告执行或者完成,重新发送命令!");
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// #endregion
|
|
//}
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf(ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += ex.Message;
|
|
}
|
|
}
|
|
finally
|
|
{
|
|
timerObtainTask.Enabled = true;
|
|
}
|
|
}
|
|
|
|
private void timerDisassembleTask_Tick(object sender, EventArgs e)
|
|
{
|
|
timerDisassembleTask.Enabled = false;
|
|
try
|
|
//if (CStaticClass.Order == true)
|
|
{
|
|
string errtext = string.Empty;
|
|
if (CStaticClass.WcfControl.DisassembleTask(out errtext) == false)
|
|
{
|
|
if (tsStatus.Text.IndexOf(errtext) < 0)
|
|
{
|
|
tsStatus.Text += errtext;
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf(ex.Message ) < 0)
|
|
{
|
|
tsStatus.Text += ex.Message;
|
|
}
|
|
}
|
|
finally
|
|
{
|
|
timerDisassembleTask.Enabled = true;
|
|
}
|
|
}
|
|
|
|
private void timerSendOrder_Tick(object sender, EventArgs e)
|
|
{
|
|
timerSendOrder.Enabled = false;
|
|
try
|
|
//if (CStaticClass.Order == true)
|
|
{
|
|
string errtext = string.Empty;
|
|
if (CStaticClass.WcfControl.StartSendDeviceOrder(out errtext) == false)
|
|
{
|
|
if (tsStatus.Text.IndexOf(errtext) < 0)
|
|
{
|
|
tsStatus.Text += errtext;
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf(ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += ex.Message;
|
|
}
|
|
}
|
|
finally
|
|
{
|
|
timerSendOrder.Enabled = true;
|
|
}
|
|
}
|
|
|
|
private void MISeeDarket_Click(object sender, EventArgs e)
|
|
{
|
|
FrmBrowseDarkCasket.FormInstance.Show();
|
|
}
|
|
|
|
private void MIDarketFileSet_Click(object sender, EventArgs e)
|
|
{
|
|
FrmDarkCasket.FormInstance.Show();
|
|
}
|
|
|
|
private void MIAutoTaskHistory_Click(object sender, EventArgs e)
|
|
{
|
|
FrmBrowseAotoTaskLog.FormInstance.Show();
|
|
}
|
|
|
|
|
|
|
|
private void MMExitSystem_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void MISystemInit_Click(object sender, EventArgs e)
|
|
{
|
|
FrmSystemInit.FormInstance.Show();
|
|
}
|
|
|
|
private void toolStripMenuItem13_Click(object sender, EventArgs e)
|
|
{
|
|
MITurnOn_Click(sender, e);
|
|
}
|
|
|
|
private void toolStripMenuItem14_Click(object sender, EventArgs e)
|
|
{
|
|
MITurnOff_Click(sender, e);
|
|
}
|
|
|
|
private void toolStripMenuItem9_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void toolStripMenuItem8_Click(object sender, EventArgs e)
|
|
{
|
|
this.Visible = true;
|
|
this.WindowState = FormWindowState.Maximized;
|
|
}
|
|
|
|
private void toolStripMenuItem10_Click(object sender, EventArgs e)
|
|
{
|
|
this.Visible = false;
|
|
}
|
|
|
|
|
|
|
|
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
|
|
this.TopMost = true;
|
|
this.Visible = true;
|
|
this.TopMost = false;
|
|
this.WindowState = FormWindowState.Maximized;
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
listBox1.Items.Clear();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 20120503向列表框增加显示内容
|
|
/// </summary>
|
|
/// <param name="txtinfo"></param>
|
|
/// <returns></returns>
|
|
bool AddList1Info(string txtinfo)
|
|
{
|
|
try
|
|
{
|
|
if (txtinfo.IndexOf("巡检客户端") >= 0) return true;
|
|
if (listBox1.Items.Count >= 70) listBox1.Items.Clear();
|
|
foreach (object li in listBox1.Items)
|
|
{
|
|
if (li.ToString().IndexOf(txtinfo) >= 0)
|
|
{
|
|
//listBox1.Items.Remove(li);
|
|
//listBox1.Items.Add(DateTime.Now.ToLongTimeString() + txtinfo);
|
|
return false;
|
|
}
|
|
}
|
|
listBox1.Items.Add(DateTime.Now.ToLongTimeString() + txtinfo);
|
|
return true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf("巡检客户端AddList1Info:" + ex.StackTrace + ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += "巡检客户端AddList1Info:" + ex.StackTrace + ex.Message;
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void button4_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
this.listBox2.Items.Clear();
|
|
var list = WcfControlMonitorLib.SControlMonitor.ClientCallbackLists;
|
|
if (list == null || list.Count == 0)
|
|
return;
|
|
lock (list)
|
|
{
|
|
foreach (System.Collections.DictionaryEntry client in list)
|
|
{
|
|
listBox2.Items.Add(client.Value.ToString());
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf("刷新客户端时:" + ex.StackTrace + ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += "刷新客户端时:" + ex.StackTrace + ex.Message;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void button3_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (listBox2.SelectedItem == null) return;
|
|
var list = WcfControlMonitorLib.SControlMonitor.ClientCallbackLists;
|
|
foreach (System.Collections.DictionaryEntry client in list)
|
|
{
|
|
if (client.Value.ToString() == listBox2.SelectedItem.ToString())
|
|
{
|
|
WcfControlMonitorLib.SControlMonitor.ClientShowLists.Remove(client.Key);
|
|
WcfControlMonitorLib.SControlMonitor.ClientCallbackLists.Remove(client.Key);
|
|
button4_Click(sender, e);
|
|
return;
|
|
}
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf("注销客户端时:" + ex.StackTrace + ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += "注销客户端时:" + ex.StackTrace + ex.Message;
|
|
}
|
|
}
|
|
}
|
|
void ClickObtainTask()
|
|
{
|
|
if (MITurnOn.Checked == true)
|
|
{
|
|
if (this.Text != CStaticClass.SystemName + "【开始获取任务!】" + "【正在执行自动命令!】")
|
|
{
|
|
this.Text = CStaticClass.SystemName + "【开始获取任务!】" + "【正在执行自动命令!】";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (this.Text != CStaticClass.SystemName + "【开始获取任务!】")
|
|
{
|
|
this.Text = CStaticClass.SystemName + "【开始获取任务!】";
|
|
}
|
|
}
|
|
MIStartRetrieveTask.Checked = true;
|
|
MIStartRetrieveTask.Enabled = false;
|
|
MIStopRetrieveTask.Checked = false;
|
|
MIStopRetrieveTask.Enabled = true;
|
|
}
|
|
void ClickStopObtainTask()
|
|
{
|
|
if (MITurnOn.Checked == true)
|
|
{
|
|
if (this.Text != CStaticClass.SystemName + "【正在执行自动命令!】")
|
|
{
|
|
this.Text = CStaticClass.SystemName + "【正在执行自动命令!】";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (this.Text != CStaticClass.SystemName)
|
|
{
|
|
this.Text = CStaticClass.SystemName;
|
|
}
|
|
}
|
|
|
|
MIStartRetrieveTask.Checked = false;
|
|
MIStartRetrieveTask.Enabled = true;
|
|
MIStopRetrieveTask.Enabled = false;
|
|
MIStopRetrieveTask.Checked = true;
|
|
}
|
|
void ClickOrderTurnOn()
|
|
{
|
|
if (MIStartRetrieveTask.Checked == true)
|
|
{
|
|
if (this.Text != CStaticClass.SystemName + "【开始获取任务!】" + "【正在执行自动命令!】")
|
|
{
|
|
this.Text = CStaticClass.SystemName + "【开始获取任务!】" + "【正在执行自动命令!】";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (this.Text != CStaticClass.SystemName + "【正在执行自动命令!】")
|
|
{
|
|
this.Text = CStaticClass.SystemName + "【正在执行自动命令!】";
|
|
}
|
|
}
|
|
MITurnOff.Enabled = true;
|
|
MITurnOn.Enabled = false;
|
|
MITurnOff.Checked = false;
|
|
MITurnOn.Checked = true;
|
|
}
|
|
void ClickOrderTurnOff()
|
|
{
|
|
|
|
if (MIStartRetrieveTask.Checked == true)
|
|
{
|
|
if (this.Text != CStaticClass.SystemName + "【开始获取任务!】")
|
|
{
|
|
this.Text = CStaticClass.SystemName + "【开始获取任务!】";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (this.Text != CStaticClass.SystemName)
|
|
{
|
|
this.Text = CStaticClass.SystemName;
|
|
}
|
|
}
|
|
|
|
MITurnOff.Enabled = false;
|
|
MITurnOn.Enabled = true;
|
|
MITurnOn.Checked = false;
|
|
MITurnOff.Checked = true;
|
|
}
|
|
private void timer1_Tick(object sender, EventArgs e)
|
|
{
|
|
DataView dv = new DataView();
|
|
try
|
|
{//20121203
|
|
#region 测试黑匣子记录
|
|
//for (int i = 0; i < 5000; i++)
|
|
//{
|
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("测试记录", i.ToString(), "", "");
|
|
|
|
//}
|
|
#endregion
|
|
|
|
CStaticClass.WcfControl.Heartbeat(out mi);
|
|
if (mi.S7connectOnline.Count > 0)
|
|
{
|
|
if (mi.S7connectOnline["S7 connection_1"] == 0)
|
|
{
|
|
pbF1S7.Image = wcfControlMonitorClient.Properties.Resources.ProgressSuccess;
|
|
}
|
|
else
|
|
{
|
|
pbF1S7.Image = wcfControlMonitorClient.Properties.Resources.ProgressError;
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
pbF1S7.Image = wcfControlMonitorClient.Properties.Resources.ProgressError;
|
|
}
|
|
if (mi.Orderturnon == true)
|
|
{
|
|
ClickOrderTurnOn();
|
|
}
|
|
else
|
|
{
|
|
ClickOrderTurnOff();
|
|
}
|
|
if (mi.Obtaintask == true)
|
|
{
|
|
ClickObtainTask();
|
|
}
|
|
else
|
|
{
|
|
ClickStopObtainTask();
|
|
}
|
|
timersum++;//20120513
|
|
|
|
if (timersum > 60)//20120513
|
|
{
|
|
listBox1.Items.Clear();
|
|
timersum = 0;
|
|
dv = dbo.ExceSQL("SELECT T_Monitor_Task.F_MonitorIndex,T_Base_Device.F_DeviceIndex FROM T_Base_Device,T_Monitor_Task where T_Base_Device.F_DeviceIndex = T_Monitor_Task.F_DeviceIndex and (T_Base_Device.F_DeviceKindIndex = 1 OR T_Base_Device.F_DeviceKindIndex = 4) and F_Status>0 and F_StartTime<>'-' and (datediff(MINUTE,CONVERT(datetime,SUBSTRING( F_StartTime,1,19),120),GETDATE()) >5)").Tables[0].DefaultView;
|
|
for (int i = 0; i < dv.Count; i++)
|
|
{
|
|
CStaticClass.WcfControl.ActionError(Convert.ToInt32(dv[i][1]), Convert.ToInt32(dv[i][0]), 999);
|
|
CStaticClass.dbo.ExecuteSql(string.Format("update T_Base_Device set F_ErrorTaskNo=0 where F_ErrorTaskNo={0}", Convert.ToInt32(dv[i][0])));
|
|
}
|
|
}
|
|
//timerefesh++;//20150103增加断网恢复//20151120取消断网恢复
|
|
//if (timerefesh > 1)
|
|
//{//20150103增加断网恢复
|
|
// CStaticClass.WcfControl.RefreshMonitoringMode();
|
|
// timerefesh = 0;
|
|
//}
|
|
|
|
|
|
SendMessageToClient("巡检客户端");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf("巡检客户端时:"+ex.StackTrace+ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += "巡检客户端时:" + ex.StackTrace + ex.Message;
|
|
}
|
|
}
|
|
finally
|
|
{
|
|
dv.Dispose();
|
|
}
|
|
|
|
}
|
|
|
|
private void timerTCPReConnect_Tick(object sender, EventArgs e)
|
|
{
|
|
timerTCPReConnect.Enabled = false;
|
|
try
|
|
{
|
|
string errtext = string.Empty;
|
|
if (CStaticClass.WcfControl.ReConnectAGVPC(out errtext) == false)
|
|
{
|
|
if (tsStatus.Text.IndexOf(errtext) < 0)
|
|
{
|
|
tsStatus.Text += errtext;
|
|
}
|
|
}
|
|
#region 20200519 增加AGV任务没有应答的重发
|
|
DealWithAGVNoHandCommand();
|
|
#endregion
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf(ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += ex.Message;
|
|
}
|
|
}
|
|
finally
|
|
{
|
|
timerTCPReConnect.Enabled = true;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 处理发送成功但是AGV控制台没有应答的任务(已发送状态 1)
|
|
/// </summary>
|
|
private void DealWithAGVNoHandCommand()
|
|
{
|
|
DataView dv = new DataView();
|
|
try
|
|
{
|
|
dv = dbo.ExceSQL("SELECT T_Monitor_Task.F_MonitorIndex,T_Monitor_Task.F_StartTime,T_Base_Device.F_DeviceIndex FROM T_Base_Device,T_Monitor_Task where T_Base_Device.F_DeviceIndex = T_Monitor_Task.F_DeviceIndex and (T_Base_Device.F_DeviceKindIndex = 6 ) and F_Status = 1 and F_StartTime<>'-' ").Tables[0].DefaultView;
|
|
for (int i = 0; i < dv.Count; i++)
|
|
{
|
|
DateTime appdt = new DateTime();
|
|
DateTime.TryParse(dv[i]["F_StartTime"].ToString().Substring(0, 19), out appdt);
|
|
if (appdt.AddSeconds(5) < DateTime.Now)
|
|
{
|
|
dbo.ExceSQL("update T_Monitor_Task set F_status = 0 where F_MonitorIndex = " + dv[i]["F_MonitorIndex"]);
|
|
CommonClassLib.CCarryConvert.WriteDarkCasket("timerTCPReConnect", "重发无应答AGV任务", dv[i]["F_DeviceIndex"].ToString(), "指令号:" + dv[i]["F_MonitorIndex"].ToString());
|
|
}
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
if (tsStatus.Text.IndexOf("重发AGV任务时:" + ex.StackTrace + ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += "重发AGV任务时:" + ex.StackTrace + ex.Message;
|
|
}
|
|
|
|
}
|
|
finally
|
|
{
|
|
dv.Dispose();
|
|
}
|
|
return;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 环形穿梭车、AGV数据库任务接口,获得任务状态定时器
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void timerGetARgvState_Tick(object sender, EventArgs e)
|
|
{
|
|
timerGetARgvState.Enabled = false;
|
|
try
|
|
//if (CStaticClass.ObtainManageTask == true)
|
|
{
|
|
string errtext = string.Empty;
|
|
|
|
if (CStaticClass.WcfControl.GetARGVState(out errtext) == false)
|
|
{
|
|
if (tsStatus.Text.IndexOf(errtext) < 0)
|
|
{
|
|
tsStatus.Text += errtext;
|
|
}
|
|
}
|
|
EmptyPalletNewTemp();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf(ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += ex.Message;
|
|
}
|
|
}
|
|
finally
|
|
{
|
|
timerGetARgvState.Enabled = true;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
//public void EmptyPallet()
|
|
//{
|
|
|
|
// List<string> ls = new List<string>();
|
|
// ls.Add("22202");
|
|
// ls.Add("22203");
|
|
// ls.Add("22233");
|
|
// ls.Add("22230");
|
|
// ls.Add("22237");
|
|
// ls.Add("12242");
|
|
// ls.Add("12246");
|
|
|
|
// ls.Add("12141");
|
|
// ls.Add("12259");
|
|
// ls.Add("12239");
|
|
// ls.Add("12250");
|
|
// ls.Add("12151");
|
|
|
|
|
|
|
|
// ls.Add("12135");
|
|
// ls.Add("12127");
|
|
// StringBuilder sql = new StringBuilder();
|
|
// //sql.Remove(0, sql.Length);
|
|
|
|
// for (int i = 0; i < ls.Count(); i++)
|
|
// {
|
|
// sql.Remove(0, sql.Length);
|
|
// sql.Append("SELECT F_WareHouse,F_ManageAskkind,F_DeviceIndex, F_Askkind, F_HaveFirstProject,F_BindingDevice,F_FirstProject,F_Remark,F_TempFirstProject FROM T_Base_PLC_Ask WHERE (F_DeviceIndex = ").Append(ls[i]).Append(")");
|
|
// var dvsp = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
|
|
|
|
// var values = 0;
|
|
// if (dvsp.Count > 0)
|
|
// {
|
|
// //1.得到需要判断的条件--检查输送机索引,总任务数量
|
|
// bool bok = false;
|
|
// int iMaxCount = Convert.ToInt32(dvsp[0]["F_Remark"]); // 可以缓存最大托盘数量: 有物开关 + 出库任务数量
|
|
// int istation = Convert.ToInt32(dvsp[0]["F_BindingDevice"]); // 申请站台
|
|
// string ConevyorToCheck = dvsp[0]["F_FirstProject"].ToString();// 需要检查有货的输送线组
|
|
// int iMaxTask = Convert.ToInt32(dvsp[0]["F_TempFirstProject"]); // 最大出库任务数量
|
|
|
|
// string ifask = dvsp[0]["F_HaveFirstProject"].ToString();//是否申请开关
|
|
// if (ifask == "0")
|
|
// {
|
|
// return;
|
|
// }
|
|
|
|
// if (ls[i] == "12135" || ls[i] == "12141" || ls[i] == "12259")
|
|
// {
|
|
|
|
// //values = ls[i] == "12259"?12135: 12128;
|
|
// //var devinfo = Model.CGetInfo.GetDeviceInfo(values);
|
|
// //if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 0)
|
|
// //{
|
|
// // var dvsps = dbo.ExceSQL(string.Format($"select * from t_base_device_st where F_DeviceIndexs ='{ls[i]}' ")).Tables[0].DefaultView;
|
|
|
|
// // if (dvsps.Count > 0)
|
|
// // {
|
|
// // var dvspsd = dbo.ExceSQL(string.Format($"select * from [dbo].[T_Manage_Task] where FPALLETBARCODE'{dvsps[0]["F_BarCode"].ToString()}' ")).Tables[0].DefaultView; //20130510F_ManageAskkind
|
|
// // if (dvspsd.Count>0)
|
|
// // {
|
|
// // Thread.Sleep(1000);
|
|
// // automaticTask(values, ls[i]);
|
|
// // }
|
|
// // }
|
|
|
|
|
|
// //}
|
|
// }
|
|
// else {
|
|
|
|
// // 条件判断
|
|
// bok = CStaticClass.WcfControl.CheckEmptyOutOK(iMaxCount, istation, ConevyorToCheck, iMaxTask);
|
|
// if (bok)
|
|
// {
|
|
// //if (ls[i] == "22202" || ls[i] == "22203" || ls[i] == "12242" || ls[i] == "12246")
|
|
// //{
|
|
|
|
// //if (devidx == 22226)
|
|
// //{
|
|
// switch (ls[i])
|
|
// {
|
|
// case "22202":
|
|
// case "22203":
|
|
// case "12242":
|
|
// case "12246":
|
|
// values = (ls[i] == "22202" || ls[i] == "22203") ? 22226 : 12118;
|
|
|
|
// var dvbc = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{values}' and F_Status='0'")).Tables[0].DefaultView;
|
|
// if (dvbc.Count <= 0)
|
|
// {
|
|
|
|
// var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{values}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
// if (dvbcsr.Count <= 0)
|
|
// {
|
|
// var devinfo = Model.CGetInfo.GetDeviceInfo(values);
|
|
// if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 5)
|
|
// {
|
|
// if (devinfo.RunState == 5)
|
|
// {
|
|
// string errtexts = string.Empty;
|
|
// CStaticClass.WcfControl.WriteDBData(values, "DB1", "0", out errtexts);
|
|
// Thread.Sleep(1000);
|
|
// CStaticClass.WcfControl.WriteDBData(values, "DB1", "2", out errtexts);
|
|
|
|
// //automaticTask(ls[i]);
|
|
|
|
// automaticTask(values, ls[i]);
|
|
|
|
// }
|
|
// //}
|
|
// }
|
|
// }
|
|
// //}
|
|
// }
|
|
// break;
|
|
|
|
// case "12151":
|
|
// //22270-12158已执行子表
|
|
// // 12158有货空闲
|
|
// //生成12158-12151
|
|
|
|
// #region 新增在12151申请空托盘时12158有货时从12158上进行上托盘
|
|
// values = 12159;
|
|
// var devinfo1 = Model.CGetInfo.GetDeviceInfo(values);
|
|
// if (devinfo1.SplitByte_0 == 1 && devinfo1.RunState == 0)//12158有货空闲
|
|
// {
|
|
// //生成12158-12151
|
|
// var dvbcs1 = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{values}' and (F_Status=0 or F_Status=1)")).Tables[0].DefaultView;
|
|
// if (dvbcs1.Count <= 0)
|
|
// {
|
|
// var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{values}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
// if (dvbcsr.Count <= 0)
|
|
// {
|
|
// automaticTask(values, ls[i]);
|
|
// Thread.Sleep(1000);
|
|
// }
|
|
// }
|
|
// else {
|
|
// int apptype = 2;// 双鹿要求申请类型0
|
|
// string warehouse = dvsp[0]["F_WareHouse"].ToString();
|
|
// string dtime = DateTime.Now.ToString("u");
|
|
// dtime.Remove(dtime.Length - 1, 1);
|
|
// sql.Remove(0, sql.Length);
|
|
// object[] ob = new object[9] { apptype, istation, "", 0, dtime, "", warehouse.ToString(), "", "1" };//CONTROL_APPLY_PARAMETER
|
|
// dboM.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_PARAMETER,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')", ob));
|
|
// //记录黑匣子
|
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理系统申请空托盘出库任务:", ls[i].ToString(), ",站台:" + istation.ToString());
|
|
// // 20210607 记录申请时间,加间隔校验,管理申请不能太快!
|
|
// dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_Time='{1}' WHERE (F_DeviceIndex = {0}) ", ls[i], dtime));
|
|
// }
|
|
// }
|
|
// else
|
|
// {
|
|
// //var dvbcs2 = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='22270' and F_NumParam4='{values}' and (F_Status!=0 and F_Status!=1) ")).Tables[0].DefaultView;
|
|
// //if (!(dvbcs2.Count > 1))//22270-12158已执行子表
|
|
// //{
|
|
|
|
// int apptype = 2;// 双鹿要求申请类型0
|
|
// string warehouse = dvsp[0]["F_WareHouse"].ToString();
|
|
// string dtime = DateTime.Now.ToString("u");
|
|
// dtime.Remove(dtime.Length - 1, 1);
|
|
// sql.Remove(0, sql.Length);
|
|
// object[] ob = new object[9] { apptype, istation, "", 0, dtime, "", warehouse.ToString(), "", "1" };//CONTROL_APPLY_PARAMETER
|
|
// dboM.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_PARAMETER,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')", ob));
|
|
// //记录黑匣子
|
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理系统申请空托盘出库任务:", ls[i].ToString(), ",站台:" + istation.ToString());
|
|
// // 20210607 记录申请时间,加间隔校验,管理申请不能太快!
|
|
// dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_Time='{1}' WHERE (F_DeviceIndex = {0}) ", ls[i], dtime));
|
|
// //}
|
|
// }
|
|
// #endregion
|
|
|
|
// #region 旧 空托盘申请入库
|
|
// //int apptype = 2;// 双鹿要求申请类型0
|
|
// //string warehouse = dvsp[0]["F_WareHouse"].ToString();
|
|
// ////int dcode = Convert.ToInt32(dvsp[0]["F_BindingDevice"]);
|
|
// ////int BoxQuality = 1;// 0标记,1类型,2数量
|
|
// //string dtime = DateTime.Now.ToString("u");
|
|
// //dtime.Remove(dtime.Length - 1, 1);
|
|
|
|
// //sql.Remove(0, sql.Length);
|
|
|
|
// //object[] ob = new object[9] { apptype, istation, "", 0, dtime, "", warehouse.ToString(), "", "1" };//CONTROL_APPLY_PARAMETER
|
|
|
|
// //dboM.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_PARAMETER,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')", ob));
|
|
|
|
// //#region 旧代码注释
|
|
// //#endregion
|
|
// ////记录黑匣子
|
|
// //CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理系统申请空托盘出库任务:", ls[i].ToString(), ",站台:" + istation.ToString());
|
|
|
|
// //// 20210607 记录申请时间,加间隔校验,管理申请不能太快!
|
|
// //dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_Time='{1}' WHERE (F_DeviceIndex = {0}) ", ls[i], dtime));
|
|
|
|
// #endregion
|
|
// break;
|
|
// case "22237":
|
|
// case "22233":
|
|
// case "22230":
|
|
|
|
// values =12151;
|
|
// var dvbcs = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{values}' and (F_Status=0 or F_Status=1)")).Tables[0].DefaultView;
|
|
|
|
|
|
// if (dvbcs.Count <= 0)
|
|
// {
|
|
// var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{values}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
// if (dvbcsr.Count <= 0)
|
|
// {
|
|
// var devinfo = Model.CGetInfo.GetDeviceInfo(values);
|
|
// if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 0)
|
|
// {
|
|
// if (devinfo.RunState == 0)
|
|
// {
|
|
// //string errtexts = string.Empty;
|
|
// //CStaticClass.WcfControl.WriteDBData(values, "DB1", "", out errtexts);
|
|
|
|
// Thread.Sleep(1000);
|
|
// //automaticTask(ls[i]);
|
|
// MDevice mDevice_12416 = CGetInfo.GetDeviceInfo(12416);
|
|
// if (mDevice_12416.RunState == 0)
|
|
// {
|
|
// automaticTask(values, ls[i]);
|
|
// }
|
|
|
|
// }
|
|
// //}
|
|
// }
|
|
|
|
// }
|
|
|
|
// //}
|
|
// }
|
|
// break;
|
|
// default:
|
|
// break;
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// //}
|
|
|
|
// //if (ls[i] == "22237" || ls[i] == "22233" || ls[i] == "22230")
|
|
// //{
|
|
// // //bool ifSQLServer = true;
|
|
|
|
|
|
// // //int appid = dboMan.GetManageTableIndex("IO_CONTROL_APPLY", ifSQLServer);//CONTROL_APPLY_ID
|
|
// // int apptype = 2;// 双鹿要求申请类型0
|
|
// // string warehouse = dvsp[0]["F_WareHouse"].ToString();
|
|
// // //int dcode = Convert.ToInt32(dvsp[0]["F_BindingDevice"]);
|
|
// // //int BoxQuality = 1;// 0标记,1类型,2数量
|
|
// // string dtime = DateTime.Now.ToString("u");
|
|
// // dtime.Remove(dtime.Length - 1, 1);
|
|
|
|
// // sql.Remove(0, sql.Length);
|
|
|
|
|
|
// // object[] ob = new object[9] { apptype, istation, "", 0, dtime, "", warehouse.ToString(), "", "1" };//CONTROL_APPLY_PARAMETER
|
|
|
|
// // dboM.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_PARAMETER,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')", ob));
|
|
|
|
// // #region 旧代码注释
|
|
// // #endregion
|
|
// // //记录黑匣子
|
|
// // CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理系统申请空托盘出库任务:", ls[i].ToString(), ",站台:" + istation.ToString());
|
|
|
|
// // // 20210607 记录申请时间,加间隔校验,管理申请不能太快!
|
|
// // dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_Time='{1}' WHERE (F_DeviceIndex = {0}) ", ls[i], dtime));
|
|
// //}
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
// if (ls[i] == "12259"||ls[i] == "12239" || ls[i] == "12250")
|
|
// {
|
|
|
|
// var devinfo = Model.CGetInfo.GetDeviceInfo(Convert.ToInt32(ls[i]) );
|
|
// if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 5)
|
|
// {
|
|
// if (devinfo.RunState == 5)
|
|
// {
|
|
// string errtexts = string.Empty;
|
|
// CStaticClass.WcfControl.WriteDBData(Convert.ToInt32(ls[i]), "DB1", "0", out errtexts);
|
|
// Thread.Sleep(1000);
|
|
// CStaticClass.WcfControl.WriteDBData(Convert.ToInt32(ls[i]), "DB1", "2", out errtexts);
|
|
// //automaticTask(ls[i]);
|
|
|
|
// //automaticTask(values, ls[i]);
|
|
|
|
// }
|
|
// //}
|
|
|
|
|
|
|
|
// //}
|
|
// }
|
|
// }
|
|
|
|
// if (ls[i] == "22237" || ls[i] == "12127"|| ls[i] == "12135")//ls[i] == "22237"||
|
|
// {
|
|
// if (CommonClassLib.AppSettings.GetValue("EmptyPallets").Equals("1"))
|
|
// {
|
|
// var devinfo = Model.CGetInfo.GetDeviceInfo(Convert.ToInt32(ls[i]));
|
|
// if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 5)
|
|
// {
|
|
// string errtexts = string.Empty;
|
|
// CStaticClass.WcfControl.WriteDBData(Convert.ToInt32(ls[i]), "DB1", "0", out errtexts);
|
|
// Thread.Sleep(1000);
|
|
// CStaticClass.WcfControl.WriteDBData(Convert.ToInt32(ls[i]), "DB1", "2", out errtexts);
|
|
|
|
// }
|
|
|
|
// }
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// //if (ls[i] == "12135" || ls[i] == "12141" )
|
|
// //{
|
|
// // values = ls[i] == "12259" ? 12135 : 12128;
|
|
// // var devinfo = Model.CGetInfo.GetDeviceInfo(values);
|
|
// // if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 0)
|
|
// // {
|
|
// // var dvsps = dbo.ExceSQL(string.Format($"select * from t_base_device_st where F_DeviceIndexs ='{ls[i]}' ")).Tables[0].DefaultView;
|
|
|
|
// // if (dvsps.Count > 0)
|
|
// // {
|
|
// // var dvspsd = dbo.ExceSQL(string.Format($"select * from [dbo].[T_Manage_Task] where FPALLETBARCODE'{dvsps[0]["F_BarCode"].ToString()}' ")).Tables[0].DefaultView; //20130510F_ManageAskkind
|
|
// // if (dvspsd.Count > 0)
|
|
// // {
|
|
// // Thread.Sleep(1000);
|
|
// // automaticTask(values, ls[i]);
|
|
// // }
|
|
// // }
|
|
|
|
|
|
// // }
|
|
// //}
|
|
|
|
|
|
// #region 向管理申请
|
|
// ////2.向管理申请
|
|
// //if (bok == true)
|
|
// //{
|
|
// // bool ifSQLServer = true;
|
|
// // if (CStaticClass.ManDBFactory == "OracleDBFactory")
|
|
// // {
|
|
// // ifSQLServer = false;
|
|
// // }
|
|
|
|
// // int appid = dboMan.GetManageTableIndex("IO_CONTROL_APPLY", ifSQLServer);//CONTROL_APPLY_ID
|
|
// // int apptype = 0;// 双鹿要求申请类型0
|
|
// // string warehouse = dvsp[0]["F_WareHouse"].ToString();
|
|
// // int dcode = Convert.ToInt32(dvsp[0]["F_BindingDevice"]);
|
|
// // int BoxQuality = 1;// 0标记,1类型,2数量
|
|
// // string dtime = DateTime.Now.ToString("u");
|
|
// // dtime.Remove(dtime.Length - 1, 1);
|
|
|
|
// // sql.Remove(0, sql.Length);
|
|
// // sql.Append("INSERT INTO IO_CONTROL_APPLY(CONTROL_APPLY_ID,CONTROL_APPLY_TYPE, WAREHOUSE_CODE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_REMARK,CONTROL_APPLY_PARLAPTOP-G9N81K1O)VALUES ").Append(
|
|
// // "(").Append(appid).Append(",").Append(apptype).Append(",'").Append(warehouse).Append("','").Append(dcode).Append("','',0,'").Append(dtime).Append("','',").Append(BoxQuality).Append(")");
|
|
// // // 插入记录
|
|
// // dboMan.ExceSQL(sql.ToString());
|
|
|
|
|
|
// // #region 旧代码注释
|
|
// // // int appid = dboMan.GetManageTableIndex("IO_CONTROL_APPLY", true);//CONTROL_APPLY_ID
|
|
// // //object[] ob = new object[8] { 2, istation, "-", 0, dtime, "", "1", 1 };
|
|
|
|
// // //dboMan.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_REMARK,WAREHOUSE_CODE,BOX_QUANTITY)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}',{7})", ob));
|
|
// // #endregion
|
|
// // //记录黑匣子
|
|
// // CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理系统申请空托盘出库任务:", devidx.ToString(), ",站台:" + istation.ToString());
|
|
|
|
// // // 20210607 记录申请时间,加间隔校验,管理申请不能太快!
|
|
// // dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_Time='{1}' WHERE (F_DeviceIndex = {0}) ", devidx, dtime));
|
|
// //}
|
|
// #endregion
|
|
|
|
// }
|
|
|
|
|
|
// #region 新增空托盘在12159工位申请回库
|
|
|
|
// var valuess = 12159;
|
|
// Thread.Sleep(2000);
|
|
// var dvbcs3 = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='22270' and F_NumParam4='{valuess}' and F_Status!=0 ")).Tables[0].DefaultView;
|
|
// Model.MDevice device = CGetInfo.GetDeviceInfo(12162);
|
|
// if (dvbcs3.Count > 2 || (device.SplitByte_0 == 1 && device.RunState == 0))
|
|
// {
|
|
// var dvbcs1 = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{valuess}' and (F_Status=0 or F_Status=1)")).Tables[0].DefaultView;
|
|
// if (dvbcs1.Count <= 0)
|
|
// {
|
|
// var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{valuess}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
// if (dvbcsr.Count <= 0)
|
|
// {
|
|
// var dvbc = dboM.ExceSQL(string.Format(" select * from IO_CONTROL where START_DEVICE_CODE='12159' and END_DEVICE_CODE='22245' and (CONTROL_STATUS = 0 or CONTROL_STATUS = 7 )")).Tables[0].DefaultView;
|
|
// if (dvbc.Count <= 0)
|
|
// {
|
|
// var devinfo = Model.CGetInfo.GetDeviceInfo(valuess);
|
|
// if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 0)
|
|
// {
|
|
// string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
// object[] ob = new object[9] { "3", valuess, "", 0, dtime, "", "1".ToString(), "", "1" };//CONTROL_APPLY_PARAMETER
|
|
// try
|
|
// {
|
|
// dboM.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_PARAMETER,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')", ob));
|
|
|
|
// //dboMan.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_REMARK,WAREHOUSE_CODE,CONTROL_APPLY_ID,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}',{7},'{8}','{9}')", ob));
|
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理条码申请任务:", valuess.ToString(), $" 站台:{valuess} **条码:");//20140218
|
|
|
|
// Thread.Sleep(2000);
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
|
|
// }
|
|
|
|
// }
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
// #endregion
|
|
|
|
|
|
|
|
|
|
|
|
// //获取设备信息
|
|
// //Model.CGetInfo.GetDeviceInfo(123456);
|
|
//}
|
|
|
|
//public void EmptyPalletNew()
|
|
//{
|
|
// List<string> ls = new List<string>
|
|
// {
|
|
// "22202",
|
|
// "22203",
|
|
// "22233",
|
|
// "22230",
|
|
// "22237",
|
|
// "12242",
|
|
// "12246",
|
|
// "12141",
|
|
// "12259",
|
|
// "12239",
|
|
// "12250",
|
|
// "12149",
|
|
// "12151",
|
|
// "12135",
|
|
// "12127"
|
|
// };
|
|
// StringBuilder sql = new StringBuilder();
|
|
// for (int i = 0; i < ls.Count(); i++)
|
|
// {
|
|
// sql.Remove(0, sql.Length);
|
|
// sql.Append("SELECT F_WareHouse,F_ManageAskkind,F_DeviceIndex, F_Askkind, F_HaveFirstProject,F_BindingDevice,F_FirstProject,F_Remark,F_TempFirstProject FROM T_Base_PLC_Ask WHERE (F_DeviceIndex = ").Append(ls[i]).Append(")");
|
|
// var dvsp = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
|
|
// int values = 0;
|
|
// string end_device = "";
|
|
// if (dvsp.Count > 0)
|
|
// {
|
|
// //1.得到需要判断的条件--检查输送机索引,总任务数量
|
|
// bool bok = false;
|
|
// int iMaxCount = Convert.ToInt32(dvsp[0]["F_Remark"]); // 可以缓存最大托盘数量: 有物开关 + 出库任务数量
|
|
// int istation = Convert.ToInt32(dvsp[0]["F_BindingDevice"]); // 申请站台
|
|
// string ConevyorToCheck = dvsp[0]["F_FirstProject"].ToString();// 需要检查有货的输送线组
|
|
// int iMaxTask = Convert.ToInt32(dvsp[0]["F_TempFirstProject"]); // 最大出库任务数量
|
|
// string ifask = dvsp[0]["F_HaveFirstProject"].ToString();//是否申请开关
|
|
// if (ifask == "0")
|
|
// {
|
|
// return;
|
|
// }
|
|
// if (ls[i] != "12135" && ls[i] != "12141" && ls[i] != "12259")
|
|
// {
|
|
// sql.Clear();
|
|
// bok = CStaticClass.WcfControl.CheckEmptyOutOK(iMaxCount, istation, ConevyorToCheck, iMaxTask);
|
|
// if (bok)
|
|
// {
|
|
// switch (ls[i])
|
|
// {
|
|
// case "22202":
|
|
// case "22203":
|
|
// case "12242":
|
|
// case "12246":
|
|
// values = (ls[i] == "22202" || ls[i] == "22203") ? 22226 : 12118;
|
|
// var dvbc = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{values}' and F_Status='0'")).Tables[0].DefaultView;
|
|
// if (dvbc.Count <= 0)
|
|
// {
|
|
// var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{values}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
// if (dvbcsr.Count <= 0)
|
|
// {
|
|
// var devinfo = CGetInfo.GetDeviceInfo(values);
|
|
// if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 5)
|
|
// {
|
|
// if (devinfo.RunState == 5)
|
|
// {
|
|
// string errtexts = string.Empty;
|
|
// CStaticClass.WcfControl.WriteDBData(values, "DB1", "0", out errtexts);
|
|
// Thread.Sleep(1000);
|
|
// CStaticClass.WcfControl.WriteDBData(values, "DB1", "2", out errtexts);
|
|
// automaticTask(values, ls[i]);
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// break;
|
|
// default:
|
|
// break;
|
|
// }
|
|
// }
|
|
// }
|
|
// if (ls[i] == "12151")
|
|
// {
|
|
// #region
|
|
// values = 12159;
|
|
// sql.Clear();
|
|
// sql.Append("select * from T_Manage_Task where FENDDEVICE in(22230, 22233, 22237, 12151, 12149)");
|
|
// int task_count_fact = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count;
|
|
// MDevice mDevice_12149 = CGetInfo.GetDeviceInfo(12149);
|
|
// MDevice mDevice_12151 = CGetInfo.GetDeviceInfo(12151);
|
|
// int task_count_need = 12;//终点是22230的任务4个,22233的任务2个,22237的任务2个,12149的任务1个,12151的任务4个,12149的缓存暂时没缓存上,先减少一个
|
|
// if (mDevice_12149.SplitByte_0 == 1 && mDevice_12149.RunState == 0)
|
|
// {
|
|
// task_count_fact += 1;
|
|
// }
|
|
// if (mDevice_12151.SplitByte_0 == 1 && mDevice_12151.RunState == 0)
|
|
// {
|
|
// task_count_fact += 1;
|
|
// }
|
|
// if (task_count_fact < task_count_need)
|
|
// {
|
|
// sql.Clear();
|
|
// sql.Append("select * from T_Manage_Task where FENDDEVICE = 12159");
|
|
// int task_count_12159 = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count;
|
|
// MDevice mDevice_22270 = CGetInfo.GetDeviceInfo(22270);
|
|
// if (mDevice_22270.SplitByte_0 == 1 && mDevice_22270.RunState == 0)
|
|
// {
|
|
// task_count_12159 -= 1;
|
|
// }
|
|
// int task_count_tmp = task_count_fact + task_count_12159;
|
|
// if (task_count_tmp < task_count_need)//所需要的空托盘数量和终点是12159的空托盘数量加一起也不够12个的话那就从库里出
|
|
// {
|
|
// MDevice devinfo_12159 = CGetInfo.GetDeviceInfo(12159);
|
|
// if (devinfo_12159.SplitByte_0 == 1 && devinfo_12159.RunState == 0)//12158有货空闲
|
|
// {
|
|
// var dvbcs1 = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{values}' and (F_Status=0 or F_Status=1)")).Tables[0].DefaultView;
|
|
// if (dvbcs1.Count <= 0)
|
|
// {
|
|
// var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{values}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
// if (dvbcsr.Count <= 0)
|
|
// {
|
|
// automaticTask(values, ls[i]);
|
|
// Thread.Sleep(1000);
|
|
// }
|
|
// }
|
|
// }
|
|
// else
|
|
// {
|
|
// int apptype = 2;
|
|
// string warehouse = dvsp[0]["F_WareHouse"].ToString();
|
|
// string dtime = DateTime.Now.ToString("u");
|
|
// dtime.Remove(dtime.Length - 1, 1);
|
|
// sql.Remove(0, sql.Length);
|
|
// object[] ob = new object[9] { apptype, istation, "", 0, dtime, "", warehouse.ToString(), "", "1" };//CONTROL_APPLY_PARAMETER
|
|
// dboM.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_PARAMETER,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')", ob));
|
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理系统申请空托盘出库任务:", ls[i].ToString(), ",站台:" + istation.ToString());
|
|
// dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_Time='{1}' WHERE (F_DeviceIndex = {0}) ", ls[i], dtime));
|
|
// }
|
|
// }
|
|
// }
|
|
// #endregion
|
|
// }
|
|
// if (ls[i] == "22230" || ls[i] == "22233" || ls[i] == "22237" || ls[i] == "12149")
|
|
// {
|
|
// if (ls[i] == "12149" || ls[i] == "22237")
|
|
// {
|
|
// values = 12151;
|
|
// end_device = "12149, 22237";
|
|
// }
|
|
// else
|
|
// {
|
|
// values = 12149;
|
|
// end_device = "22230, 22233";
|
|
// }
|
|
// MDevice mDevice_value = CGetInfo.GetDeviceInfo(values);
|
|
// if (mDevice_value.SplitByte_0 == 1 && mDevice_value.RunState == 0)
|
|
// {
|
|
// sql.Clear();
|
|
// sql.AppendFormat("select FENDDEVICE, count(1) as cou from T_Manage_Task where FSTARTDEVICE = {0} and FENDDEVICE in({1}) group by FENDDEVICE order by cou", values, end_device);
|
|
// DataView dataView = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
|
|
// if (dataView.Count == 0)
|
|
// {
|
|
// CheckAutomaticTask(values, ls[i]);
|
|
// }
|
|
// else if (dataView.Count == 1)
|
|
// {
|
|
// string device_temp = Convert.ToString(dataView[0]["FENDDEVICE"]);
|
|
// string device_end = "";
|
|
// if (device_temp == "12149")
|
|
// {
|
|
// device_end = "22237";
|
|
// }
|
|
// else if (device_temp == "22237")
|
|
// {
|
|
// MDevice mDevice_12149 = CGetInfo.GetDeviceInfo(12149);
|
|
// if (mDevice_12149.SplitByte_0 == 1 || mDevice_12149.RunState > 0)
|
|
// {
|
|
// int cou = Convert.ToInt32(dataView[0]["cou"]);
|
|
// if (cou < 2)
|
|
// {
|
|
// CheckAutomaticTask(values, device_temp);
|
|
// }
|
|
// else
|
|
// {
|
|
// continue;
|
|
// }
|
|
// }
|
|
// device_end = "12149";
|
|
// }
|
|
// else if (device_temp == "22230")
|
|
// {
|
|
// device_end = "22233";
|
|
// }
|
|
// else
|
|
// {
|
|
// device_end = "22230";
|
|
// }
|
|
// CheckAutomaticTask(values, device_end);
|
|
// }
|
|
// else
|
|
// {
|
|
// int device_temp = Convert.ToInt32(dataView[0]["FENDDEVICE"]);
|
|
// int cou = Convert.ToInt32(dataView[0]["cou"]);
|
|
// if (device_temp == 22233 || device_temp == 22237)
|
|
// {
|
|
// if (cou < 2)
|
|
// {
|
|
// CheckAutomaticTask(values, device_temp.ToString());
|
|
// }
|
|
// else
|
|
// {
|
|
// cou = Convert.ToInt32(dataView[1]["cou"]);
|
|
// if (cou < 4)
|
|
// {
|
|
// device_temp = Convert.ToInt32(dataView[1]["FENDDEVICE"]);
|
|
// CheckAutomaticTask(values, device_temp.ToString());
|
|
// }
|
|
// }
|
|
// }
|
|
// else
|
|
// {
|
|
// if (cou < 4)
|
|
// {
|
|
// CheckAutomaticTask(values, device_temp.ToString());
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// if (ls[i] == "12259" || ls[i] == "12239" || ls[i] == "12250")
|
|
// {
|
|
|
|
// var devinfo = CGetInfo.GetDeviceInfo(Convert.ToInt32(ls[i]));
|
|
// if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 5)
|
|
// {
|
|
// if (devinfo.RunState == 5)
|
|
// {
|
|
// string errtexts = string.Empty;
|
|
// CStaticClass.WcfControl.WriteDBData(Convert.ToInt32(ls[i]), "DB1", "0", out errtexts);
|
|
// Thread.Sleep(1000);
|
|
// CStaticClass.WcfControl.WriteDBData(Convert.ToInt32(ls[i]), "DB1", "2", out errtexts);
|
|
|
|
// }
|
|
// }
|
|
// }
|
|
// if (ls[i] == "22237" || ls[i] == "12127" || ls[i] == "12135")//ls[i] == "22237"||
|
|
// {
|
|
// if (CommonClassLib.AppSettings.GetValue("EmptyPallets").Equals("1"))
|
|
// {
|
|
// var devinfo = CGetInfo.GetDeviceInfo(Convert.ToInt32(ls[i]));
|
|
// if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 5)
|
|
// {
|
|
// string errtexts = string.Empty;
|
|
// CStaticClass.WcfControl.WriteDBData(Convert.ToInt32(ls[i]), "DB1", "0", out errtexts);
|
|
// Thread.Sleep(1000);
|
|
// CStaticClass.WcfControl.WriteDBData(Convert.ToInt32(ls[i]), "DB1", "2", out errtexts);
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// #region 新增空托盘在12159工位申请回库
|
|
// var valuess = 12159;
|
|
// Thread.Sleep(2000);
|
|
// var dvbcs3 = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='22270' and F_NumParam4='{valuess}' and F_Status!=0 ")).Tables[0].DefaultView;
|
|
// MDevice device = CGetInfo.GetDeviceInfo(12162);
|
|
// if (dvbcs3.Count > 2 || (device.SplitByte_0 == 1 && device.RunState == 0))
|
|
// {
|
|
// var dvbcs1 = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{valuess}' and (F_Status=0 or F_Status=1)")).Tables[0].DefaultView;
|
|
// if (dvbcs1.Count <= 0)
|
|
// {
|
|
// var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{valuess}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
// if (dvbcsr.Count <= 0)
|
|
// {
|
|
// var dvbc = dboM.ExceSQL(string.Format(" select * from IO_CONTROL where START_DEVICE_CODE='12159' and END_DEVICE_CODE='22245' and (CONTROL_STATUS = 0 or CONTROL_STATUS = 7 )")).Tables[0].DefaultView;
|
|
// if (dvbc.Count <= 0)
|
|
// {
|
|
// var devinfo = CGetInfo.GetDeviceInfo(valuess);
|
|
// if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 0)
|
|
// {
|
|
// string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
// object[] ob = new object[9] { "3", valuess, "", 0, dtime, "", "1".ToString(), "", "1" };
|
|
// try
|
|
// {
|
|
// dboM.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_PARAMETER,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')", ob));
|
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理条码申请任务:", valuess.ToString(), $" 站台:{valuess} **条码:");//20140218
|
|
// Thread.Sleep(2000);
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// #endregion
|
|
//}
|
|
public void EmptyPalletNewTemp()
|
|
{
|
|
List<string> ls = new List<string>
|
|
{
|
|
"22202",
|
|
"22203",
|
|
"22233",
|
|
"22230",
|
|
"12242",
|
|
"12246",
|
|
"12141",
|
|
"12259",
|
|
"12239",
|
|
"12250",
|
|
"22237",
|
|
"12149",
|
|
"12151",
|
|
"12135",
|
|
"12127"
|
|
};
|
|
StringBuilder sql = new StringBuilder();
|
|
for (int i = 0; i < ls.Count(); i++)
|
|
{
|
|
sql.Remove(0, sql.Length);
|
|
sql.Append("SELECT F_WareHouse,F_ManageAskkind,F_DeviceIndex, F_Askkind, F_HaveFirstProject,F_BindingDevice,F_FirstProject,F_Remark,F_TempFirstProject FROM T_Base_PLC_Ask WHERE (F_DeviceIndex = ").Append(ls[i]).Append(")");
|
|
var dvsp = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
|
|
int values = 0;
|
|
string end_device = "";
|
|
if (dvsp.Count > 0)
|
|
{
|
|
//1.得到需要判断的条件--检查输送机索引,总任务数量
|
|
bool bok = false;
|
|
int iMaxCount = Convert.ToInt32(dvsp[0]["F_Remark"]); // 可以缓存最大托盘数量: 有物开关 + 出库任务数量
|
|
int istation = Convert.ToInt32(dvsp[0]["F_BindingDevice"]); // 申请站台
|
|
string ConevyorToCheck = dvsp[0]["F_FirstProject"].ToString();// 需要检查有货的输送线组
|
|
int iMaxTask = Convert.ToInt32(dvsp[0]["F_TempFirstProject"]); // 最大出库任务数量
|
|
string ifask = dvsp[0]["F_HaveFirstProject"].ToString();//是否申请开关
|
|
if (ifask == "0")
|
|
{
|
|
return;
|
|
}
|
|
if (ls[i] != "12135" && ls[i] != "12141" && ls[i] != "12259")
|
|
{
|
|
sql.Clear();
|
|
bok = CStaticClass.WcfControl.CheckEmptyOutOK(iMaxCount, istation, ConevyorToCheck, iMaxTask);
|
|
if (bok)
|
|
{
|
|
switch (ls[i])
|
|
{
|
|
case "22202":
|
|
case "22203":
|
|
case "12242":
|
|
//case "12246":
|
|
values = (ls[i] == "22202" || ls[i] == "22203") ? 22226 : 12118;
|
|
var dvbc = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{values}' and F_Status='0'")).Tables[0].DefaultView;
|
|
if (dvbc.Count <= 0)
|
|
{
|
|
var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{values}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
if (dvbcsr.Count <= 0)
|
|
{
|
|
var devinfo = CGetInfo.GetDeviceInfo(values);
|
|
if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 5)
|
|
{
|
|
if (devinfo.RunState == 5)
|
|
{
|
|
string errtexts = string.Empty;
|
|
CStaticClass.WcfControl.WriteDBData(values, "DB1", "0", out errtexts);
|
|
Thread.Sleep(1000);
|
|
CStaticClass.WcfControl.WriteDBData(values, "DB1", "2", out errtexts);
|
|
automaticTask(values, ls[i]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (ls[i] == "12246")
|
|
{
|
|
values = 12118;
|
|
sql.Clear();
|
|
sql.AppendFormat("select * from T_Manage_Task where FENDDEVICE = {0}", ls[i]);
|
|
int count = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count;
|
|
if (count < 3)
|
|
{
|
|
var dvbc = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{values}' and F_Status='0'")).Tables[0].DefaultView;
|
|
if (dvbc.Count <= 0)
|
|
{
|
|
var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{values}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
if (dvbcsr.Count <= 0)
|
|
{
|
|
var devinfo = CGetInfo.GetDeviceInfo(values);
|
|
if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 5)
|
|
{
|
|
if (devinfo.RunState == 5)
|
|
{
|
|
string errtexts = string.Empty;
|
|
CStaticClass.WcfControl.WriteDBData(values, "DB1", "0", out errtexts);
|
|
Thread.Sleep(1000);
|
|
CStaticClass.WcfControl.WriteDBData(values, "DB1", "2", out errtexts);
|
|
automaticTask(values, ls[i]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (ls[i] == "12151")
|
|
{
|
|
#region
|
|
values = 12159;
|
|
sql.Clear();
|
|
sql.Append("select * from T_Manage_Task where FENDDEVICE in(22230, 22233, 22237, 12151, 12149)");
|
|
int task_count_fact = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count;
|
|
MDevice mDevice_12149 = CGetInfo.GetDeviceInfo(12149);
|
|
MDevice mDevice_12151 = CGetInfo.GetDeviceInfo(12151);
|
|
int task_count_need = 13;//终点是22230的任务4个,22233的任务2个,22237的任务2个,12149的任务1个,12151的任务4个,12149的缓存暂时没缓存上,先减少一个
|
|
if (mDevice_12149.SplitByte_0 == 1 && mDevice_12149.RunState == 0)
|
|
{
|
|
task_count_fact += 1;
|
|
}
|
|
if (mDevice_12151.SplitByte_0 == 1 && mDevice_12151.RunState == 0)
|
|
{
|
|
task_count_fact += 1;
|
|
}
|
|
if (task_count_fact < task_count_need)
|
|
{
|
|
sql.Clear();
|
|
sql.Append("select * from T_Manage_Task where FENDDEVICE = 12159");
|
|
int task_count_12159 = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView.Count;
|
|
MDevice mDevice_22270 = CGetInfo.GetDeviceInfo(22270);
|
|
if (mDevice_22270.SplitByte_0 == 1 && mDevice_22270.RunState == 0)
|
|
{
|
|
task_count_12159 -= 1;
|
|
}
|
|
int task_count_tmp = task_count_fact + task_count_12159;
|
|
if (task_count_tmp < task_count_need)//所需要的空托盘数量和终点是12159的空托盘数量加一起也不够12个的话那就从库里出
|
|
{
|
|
MDevice devinfo_12159 = CGetInfo.GetDeviceInfo(12159);
|
|
if (devinfo_12159.SplitByte_0 == 1 && devinfo_12159.RunState == 0)//12158有货空闲
|
|
{
|
|
var dvbcs1 = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{values}' and (F_Status=0 or F_Status=1)")).Tables[0].DefaultView;
|
|
if (dvbcs1.Count <= 0)
|
|
{
|
|
var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{values}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
if (dvbcsr.Count <= 0)
|
|
{
|
|
CheckAutomaticTask(values, ls[i]);
|
|
Thread.Sleep(1000);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//if (task_count_tmp < 10)
|
|
//{
|
|
// int apptype = 2;
|
|
// string warehouse = dvsp[0]["F_WareHouse"].ToString();
|
|
// string dtime = DateTime.Now.ToString("u");
|
|
// dtime.Remove(dtime.Length - 1, 1);
|
|
// sql.Remove(0, sql.Length);
|
|
// object[] ob = new object[9] { apptype, istation, "", 0, dtime, "", warehouse.ToString(), "", "1" };//CONTROL_APPLY_PARAMETER
|
|
// dboM.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_PARAMETER,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')", ob));
|
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理系统申请空托盘出库任务:", ls[i].ToString(), ",站台:" + istation.ToString());
|
|
// dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_Time='{1}' WHERE (F_DeviceIndex = {0}) ", ls[i], dtime));
|
|
//}
|
|
int tmpCount = 10;
|
|
if (task_count_12159==0)
|
|
{
|
|
tmpCount = 12;
|
|
}
|
|
if (task_count_tmp < tmpCount)
|
|
{
|
|
int apptype = 2;
|
|
string warehouse = dvsp[0]["F_WareHouse"].ToString();
|
|
string dtime = DateTime.Now.ToString("u");
|
|
dtime.Remove(dtime.Length - 1, 1);
|
|
sql.Remove(0, sql.Length);
|
|
|
|
var dvbc = dboM.ExceSQL(string.Format("SELECT DEVICE_CODE,STOCK_BARCODE FROM IO_CONTROL_APPLY WHERE APPLY_TASK_STATUS<2 and DEVICE_CODE='{0}' ", istation)).Tables[0].DefaultView;
|
|
if (dvbc.Count <= 0)
|
|
{
|
|
DataView dataView = dboM.ExceSQL("select * from IO_CONTROL where END_DEVICE_CODE = '12151' and (CONTROL_STATUS = 0 or CONTROL_STATUS = 7)").Tables[0].DefaultView;
|
|
if (dataView != null && dataView.Count == 0)
|
|
{
|
|
object[] ob = new object[9] { apptype, istation, "", 0, dtime, "", warehouse.ToString(), "", "1" };//CONTROL_APPLY_PARAMETER
|
|
dboM.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_PARAMETER,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')", ob));
|
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理系统申请空托盘出库任务:", ls[i].ToString(), ",站台:" + istation.ToString());
|
|
dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_Time='{1}' WHERE (F_DeviceIndex = {0}) ", ls[i], dtime));
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
if (ls[i] == "22230" || ls[i] == "22233" || ls[i] == "22237" || ls[i] == "12149")
|
|
{
|
|
if (ls[i] == "12149" || ls[i] == "22237")
|
|
{
|
|
values = 12151;
|
|
end_device = "12149, 22237";
|
|
}
|
|
else
|
|
{
|
|
values = 12149;
|
|
end_device = "22230, 22233";
|
|
}
|
|
MDevice mDevice_value = CGetInfo.GetDeviceInfo(values);
|
|
if (mDevice_value.SplitByte_0 == 1 && mDevice_value.RunState == 0)
|
|
{
|
|
sql.Clear();
|
|
sql.AppendFormat("select FENDDEVICE, count(1) as cou from T_Manage_Task where FSTARTDEVICE = {0} and FENDDEVICE in({1}) group by FENDDEVICE order by cou", values, end_device);
|
|
DataView dataView = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
|
|
if (dataView.Count == 0)
|
|
{
|
|
CheckAutomaticTask(values, ls[i]);
|
|
}
|
|
else if (dataView.Count == 1)
|
|
{
|
|
string device_temp = Convert.ToString(dataView[0]["FENDDEVICE"]);
|
|
string device_end = "";
|
|
if (device_temp == "12149")
|
|
{
|
|
device_end = "22237";
|
|
}
|
|
else if (device_temp == "22237")
|
|
{
|
|
MDevice mDevice_12149 = CGetInfo.GetDeviceInfo(12149);
|
|
if (mDevice_12149.SplitByte_0 == 1 || mDevice_12149.RunState > 0)
|
|
{
|
|
int cou = Convert.ToInt32(dataView[0]["cou"]);
|
|
if (cou < 2)
|
|
{
|
|
CheckAutomaticTask(values, device_temp);
|
|
}
|
|
else
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
device_end = "12149";
|
|
}
|
|
}
|
|
else if (device_temp == "22230")
|
|
{
|
|
device_end = "22233";
|
|
}
|
|
else
|
|
{
|
|
device_end = "22230";
|
|
}
|
|
CheckAutomaticTask(values, device_end);
|
|
}
|
|
else
|
|
{
|
|
int device_temp = Convert.ToInt32(dataView[0]["FENDDEVICE"]);
|
|
int cou = Convert.ToInt32(dataView[0]["cou"]);
|
|
if (device_temp == 22233 || device_temp == 22237)
|
|
{
|
|
if (cou < 2)
|
|
{
|
|
CheckAutomaticTask(values, device_temp.ToString());
|
|
}
|
|
else
|
|
{
|
|
cou = Convert.ToInt32(dataView[1]["cou"]);
|
|
if (cou < 4)
|
|
{
|
|
device_temp = Convert.ToInt32(dataView[1]["FENDDEVICE"]);
|
|
CheckAutomaticTask(values, device_temp.ToString());
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (cou < 4)
|
|
{
|
|
CheckAutomaticTask(values, device_temp.ToString());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (ls[i] == "12259" || ls[i] == "12239" || ls[i] == "12250")
|
|
{
|
|
|
|
var devinfo = CGetInfo.GetDeviceInfo(Convert.ToInt32(ls[i]));
|
|
if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 5)
|
|
{
|
|
if (devinfo.RunState == 5)
|
|
{
|
|
string errtexts = string.Empty;
|
|
CStaticClass.WcfControl.WriteDBData(Convert.ToInt32(ls[i]), "DB1", "0", out errtexts);
|
|
Thread.Sleep(1000);
|
|
CStaticClass.WcfControl.WriteDBData(Convert.ToInt32(ls[i]), "DB1", "2", out errtexts);
|
|
|
|
}
|
|
}
|
|
}
|
|
if (ls[i] == "22237" || ls[i] == "12127" || ls[i] == "12135")//ls[i] == "22237"||
|
|
{
|
|
if (CommonClassLib.AppSettings.GetValue("EmptyPallets").Equals("1"))
|
|
{
|
|
var devinfo = CGetInfo.GetDeviceInfo(Convert.ToInt32(ls[i]));
|
|
if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 5)
|
|
{
|
|
string errtexts = string.Empty;
|
|
CStaticClass.WcfControl.WriteDBData(Convert.ToInt32(ls[i]), "DB1", "0", out errtexts);
|
|
Thread.Sleep(1000);
|
|
CStaticClass.WcfControl.WriteDBData(Convert.ToInt32(ls[i]), "DB1", "2", out errtexts);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#region 新增空托盘在12159工位申请回库
|
|
//var valuess = 12159;
|
|
//Thread.Sleep(2000);
|
|
//var dvbcs3 = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='22270' and F_NumParam4='{valuess}' and F_Status!=0 ")).Tables[0].DefaultView;
|
|
//MDevice device = CGetInfo.GetDeviceInfo(12162);
|
|
//if (dvbcs3.Count > 4 || (device.SplitByte_0 == 1 && device.RunState == 0))
|
|
//{
|
|
// var dvbcs1 = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{valuess}' and (F_Status=0 or F_Status=1)")).Tables[0].DefaultView;
|
|
// if (dvbcs1.Count <= 0)
|
|
// {
|
|
// var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{valuess}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
// if (dvbcsr.Count <= 0)
|
|
// {
|
|
// var dvbc = dboM.ExceSQL(string.Format(" select * from IO_CONTROL where START_DEVICE_CODE='12159' and END_DEVICE_CODE='22245' and (CONTROL_STATUS = 0 or CONTROL_STATUS = 7 )")).Tables[0].DefaultView;
|
|
// if (dvbc.Count <= 0)
|
|
// {
|
|
// var devinfo = CGetInfo.GetDeviceInfo(valuess);
|
|
// if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 0)
|
|
// {
|
|
// string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
// object[] ob = new object[9] { "3", valuess, "", 0, dtime, "", "1".ToString(), "", "1" };
|
|
// try
|
|
// {
|
|
// dboM.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_PARAMETER,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')", ob));
|
|
// dbo.ExecuteSql(string.Format("update T_Base_Device set F_HaveGoods = 0, F_DeviceNameGerman = '' where F_DeviceIndex = {0}", valuess));
|
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理条码申请任务:", valuess.ToString(), $" 站台:{valuess} **条码:");//20140218
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
//}
|
|
#endregion
|
|
|
|
|
|
#region 新增空托盘在12159工位申请回库
|
|
var valuess = 12159;
|
|
Thread.Sleep(2000);
|
|
var dvbcs3 = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='22270' and F_NumParam4='{valuess}' and F_Status!=0 ")).Tables[0].DefaultView;
|
|
//MDevice device = CGetInfo.GetDeviceInfo(12162);
|
|
MDevice device12160 = CGetInfo.GetDeviceInfo(12160);
|
|
int counts = 4;
|
|
string sDivice = "12159,12160,12161,12162";
|
|
for (int i = 0; i < sDivice.Split(',').Length; i++)
|
|
{
|
|
MDevice device = CGetInfo.GetDeviceInfo(Convert.ToInt32( sDivice.Split(',')[i]));
|
|
if (device.SplitByte_0==1&&device.RunState==0)
|
|
{
|
|
counts--;
|
|
}
|
|
}
|
|
|
|
if ((dvbcs3.Count > 4 && (device12160.SplitByte_0 == 1 && device12160.RunState == 0))|| counts==0)
|
|
{
|
|
var dvbcs1 = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{valuess}' and (F_Status=0 or F_Status=1)")).Tables[0].DefaultView;
|
|
if (dvbcs1.Count <= 0)
|
|
{
|
|
var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{valuess}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
if (dvbcsr.Count <= 0)
|
|
{
|
|
var dvbc = dboM.ExceSQL(string.Format(" select * from IO_CONTROL where START_DEVICE_CODE='12159' and END_DEVICE_CODE='22245' and (CONTROL_STATUS = 0 or CONTROL_STATUS = 7 )")).Tables[0].DefaultView;
|
|
if (dvbc.Count <= 0)
|
|
{
|
|
DataView dataView = dbo.ExceSQL(string.Format("select * from T_Base_Device where F_DeviceIndex = 12159")).Tables[0].DefaultView;
|
|
if (dataView != null && dataView.Count > 0 && Convert.ToInt32(dataView[0]["F_HaveGoods"]) == 1)
|
|
{
|
|
var devinfo = CGetInfo.GetDeviceInfo(valuess);
|
|
if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 0)
|
|
{
|
|
string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
object[] ob = new object[9] { "3", valuess, "", 0, dtime, "", "1".ToString(), "", "1" };
|
|
try
|
|
{
|
|
|
|
if (dboM.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_PARAMETER,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')", ob)) > 0)
|
|
{
|
|
dbo.ExecuteSql(string.Format("update T_Base_Device set F_HaveGoods = 0, F_DeviceNameGerman = '' where F_DeviceIndex = {0}", valuess));
|
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理条码申请任务:", valuess.ToString(), $" 站台:{valuess} **条码:");//20140218
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
public void automaticTask(int stVal, string endVal)
|
|
{
|
|
try
|
|
{
|
|
DateTime dateTime = DateTime.Now;
|
|
string sql = string.Format("select * from T_Base_Device where F_DeviceIndex = {0}", stVal);
|
|
string plate_no = Convert.ToString(dbo.ExceSQL(sql).Tables[0].DefaultView[0]["F_DeviceNameGerman"]);
|
|
if (string.IsNullOrWhiteSpace(plate_no))
|
|
{
|
|
plate_no = DateTime.Now.ToString("yyyyMMddHHmmss");
|
|
}
|
|
string dtime = dateTime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
CCommonFunction ccf = new CCommonFunction();
|
|
int AutoManageIdx = ccf.GetTempManageIdx();
|
|
//var dcode = 22226;
|
|
//var iDevice = "22202";
|
|
|
|
//var dvbc = dbo.ExceSQL(string.Format("select fid from T_Manage_Task where FENDDEVICE = '{0}' and fstartdevice='{1}' AND FCONTROLTASKTYPE = 4 ", ls[i], "22226")).Tables[0].DefaultView;
|
|
//if (dvbc.Count <= iMaxTask)
|
|
//{
|
|
//插入临时调度任务T_Manage_Task(监控下的调度任务):
|
|
|
|
string Sql = "insert into T_Manage_Task(FID,FPALLETBARCODE,FCONTROLTASKTYPE,F_ManageTaskKindIndex,FSTARTWAREHOUSE,FSTARTDEVICE,FSTARTCELL," +
|
|
"FENDWAREHOUSE,FENDDEVICE,FENDCELL,FLANEWAY,FSTACK,FUseAwayFork,FBEGTIME) " +
|
|
"values(" + AutoManageIdx + ",'" + plate_no + "','4',2,'1','" + stVal + "','-','1','"
|
|
+ endVal + "','-', '-' ,'','-','" + dtime + "')";//20101028
|
|
if (dbo.ExecuteSql(Sql) > 0)
|
|
{
|
|
Sql = string.Format("update T_Base_Device set F_HaveGoods = 0, F_DeviceNameGerman = '' where F_DeviceIndex = {0}", stVal);
|
|
dbo.ExecuteSql(Sql);
|
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "生成自动任务成功", stVal.ToString(), $"生成{stVal}到{endVal} 任务成功!");
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
CommonClassLib.CCarryConvert.WriteDarkCasket("监控", "测试", "数据", "错误信息" + ex.Message);
|
|
}
|
|
}
|
|
|
|
public void CheckAutomaticTask(int stVal, string endVal)
|
|
{
|
|
var dvbcs = dbo.ExceSQL(string.Format($"select * from T_Monitor_Task where F_NumParam1='{stVal}' and (F_Status=0 or F_Status=1)")).Tables[0].DefaultView;
|
|
if (dvbcs.Count <= 0)
|
|
{
|
|
var dvbcsr = dbo.ExceSQL(string.Format($"select * from T_Manage_Task where FSTARTDEVICE='{stVal}' and FSTATUS=0 ")).Tables[0].DefaultView;
|
|
if (dvbcsr.Count <= 0)
|
|
{
|
|
var dv = dbo.ExceSQL(string.Format("select * from T_Base_Device where F_DeviceIndex = {0}", stVal)).Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
if (stVal == 12118 || stVal == 22226)
|
|
{
|
|
var devinfo = CGetInfo.GetDeviceInfo(stVal);
|
|
if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 0)
|
|
{
|
|
if (devinfo.RunState == 0)
|
|
{
|
|
Thread.Sleep(1000);
|
|
automaticTask(stVal, endVal);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
CommonClassLib.CCarryConvert.WriteDarkCasket("监控", "测试", "数据", "设备号" + stVal + "是否有货" + Convert.ToInt32(dv[0]["F_HaveGoods"]));
|
|
if (Convert.ToInt32(dv[0]["F_HaveGoods"]) == 1)
|
|
{
|
|
var devinfo = CGetInfo.GetDeviceInfo(stVal);
|
|
if (devinfo.SplitByte_0 == 1 && devinfo.RunState == 0)
|
|
{
|
|
if (devinfo.RunState == 0)
|
|
{
|
|
Thread.Sleep(1000);
|
|
automaticTask(stVal, endVal);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//public void automaticTask(string sDeviceIndex)
|
|
//{
|
|
|
|
// //string errtexts = string.Empty;
|
|
// //CStaticClass.WcfControl.WriteDBData(22226, "DB1", "", out errtexts);
|
|
|
|
|
|
// string dtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
// CCommonFunction ccf = new CCommonFunction();
|
|
// int AutoManageIdx = ccf.GetTempManageIdx();
|
|
// //var dcode = 22226;
|
|
// //var iDevice = "22202";
|
|
|
|
// //var dvbc = dbo.ExceSQL(string.Format("select fid from T_Manage_Task where FENDDEVICE = '{0}' and fstartdevice='{1}' AND FCONTROLTASKTYPE = 4 ", ls[i], "22226")).Tables[0].DefaultView;
|
|
// //if (dvbc.Count <= iMaxTask)
|
|
// //{
|
|
// //插入临时调度任务T_Manage_Task(监控下的调度任务):
|
|
|
|
// string Sql = "insert into T_Manage_Task(FID,FPALLETBARCODE,FCONTROLTASKTYPE,F_ManageTaskKindIndex,FSTARTWAREHOUSE,FSTARTDEVICE,FSTARTCELL," +
|
|
// "FENDWAREHOUSE,FENDDEVICE,FENDCELL,FLANEWAY,FSTACK,FUseAwayFork,FBEGTIME) " +
|
|
// "values(" + AutoManageIdx + ",'" + "PP" + 22226.ToString() + "','4',2,'1','" + 22226 + "','-','1','"
|
|
// + sDeviceIndex + "','-', '-' ,'','-','" + dtime + "')";//20101028
|
|
// if (dbo.ExecuteSql(Sql) > 0)
|
|
// {
|
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "生成自动任务成功", 22226.ToString(), $"生成{22226}到{sDeviceIndex} 任务成功!");
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
|
|
/// <summary>
|
|
/// 20200927 双鹿电池控制点灯定时器,从管理软件表读数据,写给PLC DB2 600-900 300byte 控制300个灯;1亮,0灭
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void timerLighting_Tick(object sender, EventArgs e)
|
|
{
|
|
timerLighting.Enabled = false;
|
|
try
|
|
//if (CStaticClass.Order == true)
|
|
{
|
|
string errtext = string.Empty;
|
|
|
|
if (CStaticClass.WcfControl.DealwithLight(out errtext) == false)
|
|
{
|
|
if (tsStatus.Text.IndexOf(errtext) < 0)
|
|
{
|
|
tsStatus.Text += errtext;
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
if (tsStatus.Text.IndexOf(ex.Message) < 0)
|
|
{
|
|
tsStatus.Text += ex.Message;
|
|
}
|
|
}
|
|
finally
|
|
{
|
|
timerLighting.Enabled = true;
|
|
}
|
|
}
|
|
|
|
private void button2_Click(object sender, EventArgs e)
|
|
{
|
|
//GlobalModel.targetDevice = comboBox1.Text;
|
|
label4.Text = comboBox1.Text;
|
|
var result = dbo.ExecuteSql(string.Format("update WH_LANEWAY set LANEWAY_CODE = '{0}' where WAREHOUSE_CODE = '1'", label4.Text));
|
|
}
|
|
}
|
|
|
|
}
|