|
|
@ -185,7 +185,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel |
|
|
dis1s.Start();//计时开始
|
|
|
dis1s.Start();//计时开始
|
|
|
DispatcherTimer dis50ms = new DispatcherTimer |
|
|
DispatcherTimer dis50ms = new DispatcherTimer |
|
|
{ |
|
|
{ |
|
|
Interval = TimeSpan.FromMilliseconds(20) //毫秒
|
|
|
Interval = TimeSpan.FromMilliseconds(100) //毫秒
|
|
|
}; |
|
|
}; |
|
|
dis50ms.Tick += new EventHandler(DisTimer_50MS);//每执行的方法
|
|
|
dis50ms.Tick += new EventHandler(DisTimer_50MS);//每执行的方法
|
|
|
dis50ms.Start();//计时开始
|
|
|
dis50ms.Start();//计时开始
|
|
|
@ -193,18 +193,26 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel |
|
|
int Time5 = 0, Time30 = 0; |
|
|
int Time5 = 0, Time30 = 0; |
|
|
void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS
|
|
|
void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS
|
|
|
{ |
|
|
{ |
|
|
|
|
|
int _id=-1; |
|
|
if (stringQueue.Count > 0) //信息发送队列
|
|
|
if (stringQueue.Count > 0) //信息发送队列
|
|
|
{ |
|
|
{ |
|
|
QueueString t = stringQueue.Dequeue(); |
|
|
QueueString t = stringQueue.Dequeue(); |
|
|
MachiensTcpClient[t.ID].SendAsync(t.DAT); |
|
|
MachiensTcpClient[t.ID].SendAsync(t.DAT); |
|
|
|
|
|
_id = t.ID; |
|
|
|
|
|
} |
|
|
|
|
|
if (stringQueueinf.Count > 0) |
|
|
|
|
|
{ |
|
|
|
|
|
QueueString inf = stringQueueinf.Dequeue(); |
|
|
|
|
|
if (_id != inf.ID) MachiensTcpClient[inf.ID].SendAsync(inf.DAT); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
void Tick_Main_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
|
|
|
void Tick_Main_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
|
|
|
{ |
|
|
{ |
|
|
//下传工单信息
|
|
|
int mid; |
|
|
|
|
|
/*下传工单信息*/ |
|
|
SQLiteHelper WorkOrderSQL = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
SQLiteHelper WorkOrderSQL = new SQLiteHelper(DBAddress); //数据库连接路径
|
|
|
WorkOrderSQL.Open(); //打开数据库
|
|
|
WorkOrderSQL.Open(); //打开数据库
|
|
|
DataTable WorkOrderstepdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='111'" + |
|
|
DataTable WorkOrderstepdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='111' or State='112'" + |
|
|
"AND EndTime >'" + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存
|
|
|
"AND EndTime >'" + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存
|
|
|
for (int k = 0; k < WorkOrderstepdata.Rows.Count; k++) |
|
|
for (int k = 0; k < WorkOrderstepdata.Rows.Count; k++) |
|
|
{ |
|
|
{ |
|
|
@ -220,8 +228,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel |
|
|
WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 112 } }, |
|
|
WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 112 } }, |
|
|
"WorkOrder ='" + WorkOrderstepdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null); |
|
|
"WorkOrder ='" + WorkOrderstepdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null); |
|
|
} |
|
|
} |
|
|
//下传工单总览
|
|
|
/*下传工单总览*/ |
|
|
DataTable WorkOrderdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='100' " + |
|
|
DataTable WorkOrderdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='100' or State='110'" + |
|
|
"AND EndTime >'" + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存
|
|
|
"AND EndTime >'" + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存
|
|
|
for (int k = 0; k < WorkOrderdata.Rows.Count; k++) |
|
|
for (int k = 0; k < WorkOrderdata.Rows.Count; k++) |
|
|
{ |
|
|
{ |
|
|
@ -244,6 +252,16 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel |
|
|
ID = index, |
|
|
ID = index, |
|
|
DAT = "SC810" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + DataTableToDictionary(dataTable).ToJsonString() |
|
|
DAT = "SC810" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + DataTableToDictionary(dataTable).ToJsonString() |
|
|
}); |
|
|
}); |
|
|
|
|
|
DataTable WorkOrderset = WorkOrderSQL.ExecuteDataSet("select * from WorkOrderSet where WorkOrder='" + |
|
|
|
|
|
dt_temp["WorkOrder"] + "'", null).Tables[0]; //读取表写入缓存
|
|
|
|
|
|
if (WorkOrderset.Rows.Count > 0) { |
|
|
|
|
|
stringQueue.Enqueue(new QueueString |
|
|
|
|
|
{ |
|
|
|
|
|
ID = index, |
|
|
|
|
|
DAT = "SC812" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + DataTableToDictionary(WorkOrderset).ToJsonString() |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } }, |
|
|
WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } }, |
|
|
"WorkOrder ='" + WorkOrderdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null); |
|
|
"WorkOrder ='" + WorkOrderdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null); |
|
|
} |
|
|
} |
|
|
@ -306,7 +324,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel |
|
|
string mac_s = Selet_Machines(Machines, "State", "ID='" + i + "'").ToString(); |
|
|
string mac_s = Selet_Machines(Machines, "State", "ID='" + i + "'").ToString(); |
|
|
if ((mac_s == "101") || (mac_s == "201") || (mac_s == "202") || (mac_s == "301") || (mac_s == "309"))//获取信息
|
|
|
if ((mac_s == "101") || (mac_s == "201") || (mac_s == "202") || (mac_s == "301") || (mac_s == "309"))//获取信息
|
|
|
{ |
|
|
{ |
|
|
stringQueue.Enqueue(new QueueString |
|
|
stringQueueinf.Enqueue(new QueueString |
|
|
{ |
|
|
{ |
|
|
ID = i, |
|
|
ID = i, |
|
|
DAT = "SC830" + Selet_Machines(Machines, "SYSKEY", "ID='" + i + "'").ToString() |
|
|
DAT = "SC830" + Selet_Machines(Machines, "SYSKEY", "ID='" + i + "'").ToString() |
|
|
@ -746,6 +764,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel |
|
|
} |
|
|
} |
|
|
// 创建一个字符串类型的队列
|
|
|
// 创建一个字符串类型的队列
|
|
|
public static Queue<QueueString> stringQueue = new Queue<QueueString>(); |
|
|
public static Queue<QueueString> stringQueue = new Queue<QueueString>(); |
|
|
|
|
|
public static Queue<QueueString> stringQueueinf = new Queue<QueueString>(); |
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// <summary>
|
|
|
/// 将 DataTable 转换为 Dictionary 类型数据
|
|
|
/// 将 DataTable 转换为 Dictionary 类型数据
|
|
|
/// </summary>
|
|
|
/// </summary>
|
|
|
|