添加资源,新建页面添加信息,收发逻辑调整
This commit is contained in:
commit
206204711b
8 files changed
+87
-11
No files matched your search
@@ -185,7 +185,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
dis1s.Start();//计时开始
|
||||
DispatcherTimer dis50ms = new DispatcherTimer
|
||||
{
|
||||
Interval = TimeSpan.FromMilliseconds(20) //毫秒
|
||||
Interval = TimeSpan.FromMilliseconds(100) //毫秒
|
||||
};
|
||||
dis50ms.Tick += new EventHandler(DisTimer_50MS);//每执行的方法
|
||||
dis50ms.Start();//计时开始
|
||||
@@ -193,18 +193,26 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
int Time5 = 0, Time30 = 0;
|
||||
void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS
|
||||
{
|
||||
int _id=-1;
|
||||
if (stringQueue.Count > 0) //信息发送队列
|
||||
{
|
||||
QueueString t = stringQueue.Dequeue();
|
||||
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
|
||||
{
|
||||
//下传工单信息
|
||||
int mid;
|
||||
/*下传工单信息*/
|
||||
SQLiteHelper WorkOrderSQL = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||
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]; //读取表写入缓存
|
||||
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 } },
|
||||
"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]; //读取表写入缓存
|
||||
for (int k = 0; k < WorkOrderdata.Rows.Count; k++)
|
||||
{
|
||||
@@ -244,6 +252,16 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
||||
ID = index,
|
||||
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 } },
|
||||
"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();
|
||||
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,
|
||||
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> stringQueueinf = new Queue<QueueString>();
|
||||
|
||||
/// <summary>
|
||||
/// 将 DataTable 转换为 Dictionary 类型数据
|
||||
/// </summary>
|
||||
|
||||
Reference in new issue
Block a user