添加资源,新建页面添加信息,收发逻辑调整

This commit is contained in:
sc committed 2025-09-07 01:19:40 +08:00
commit 206204711b
8 files changed
+87 -11

No files matched your search

+27 -7
View File
@@ -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>