工单下传与时间格式("yyyy/MM/dd HH:mm:ss")
This commit is contained in:
commit
8b64370bb3
4 files changed
+85
-30
No files matched your search
@@ -36,6 +36,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
|||||||
public class AsyncTcpClient
|
public class AsyncTcpClient
|
||||||
{
|
{
|
||||||
private static SQLiteHelper SQLiteHelpers = null; //定义数据库
|
private static SQLiteHelper SQLiteHelpers = null; //定义数据库
|
||||||
|
private static readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
|
||||||
private static readonly string ChartAdress = Environment.CurrentDirectory + "\\DataBase\\Chart.db"; //数据库路径
|
private static readonly string ChartAdress = Environment.CurrentDirectory + "\\DataBase\\Chart.db"; //数据库路径
|
||||||
public static async Task TcpClient(TcpClient tcpClient, string ip, string port)
|
public static async Task TcpClient(TcpClient tcpClient, string ip, string port)
|
||||||
{
|
{
|
||||||
@@ -112,6 +113,24 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
|||||||
drEmployee.AcceptChanges();
|
drEmployee.AcceptChanges();
|
||||||
drEmployee.ClearErrors();
|
drEmployee.ClearErrors();
|
||||||
}
|
}
|
||||||
|
else if (SYSAPI == "SC810")
|
||||||
|
{
|
||||||
|
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
||||||
|
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||||
|
SQLiteHelpers.Open(); //打开数据库
|
||||||
|
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 111 } },
|
||||||
|
"WorkOrder ='" + DAT + "'", null);
|
||||||
|
SQLiteHelpers.Close();
|
||||||
|
}
|
||||||
|
else if (SYSAPI == "SC811")
|
||||||
|
{
|
||||||
|
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
||||||
|
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||||
|
SQLiteHelpers.Open(); //打开数据库
|
||||||
|
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 101 } },
|
||||||
|
"WorkOrder ='" + DAT + "'", null);
|
||||||
|
SQLiteHelpers.Close();
|
||||||
|
}
|
||||||
else if (SYSAPI == "SC830")
|
else if (SYSAPI == "SC830")
|
||||||
{
|
{
|
||||||
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
||||||
@@ -171,7 +190,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
|||||||
else if (SYSAPI == "SC851")
|
else if (SYSAPI == "SC851")
|
||||||
{
|
{
|
||||||
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
||||||
MainWindowViewModel.dt_d = JsonConvert.DeserializeObject<DataTable>(DAT);//反序列化
|
MainWindowViewModel.dt_d = JsonConvert.DeserializeObject<DataTable>(DAT);//反序列化
|
||||||
}//数字开关表
|
}//数字开关表
|
||||||
else if (SYSAPI == "SC852")
|
else if (SYSAPI == "SC852")
|
||||||
{
|
{
|
||||||
@@ -193,7 +212,22 @@ namespace SunlightCentralizedControlManagement_SCCM_.UserClass
|
|||||||
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
||||||
MainWindowViewModel.dt_SysSet = JsonConvert.DeserializeObject<DataTable>(DAT);//反序列化
|
MainWindowViewModel.dt_SysSet = JsonConvert.DeserializeObject<DataTable>(DAT);//反序列化
|
||||||
}//系统设置表
|
}//系统设置表
|
||||||
|
else if (SYSAPI == "SC910")
|
||||||
|
{
|
||||||
|
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
||||||
|
SQLiteHelpers.Open(); //打开数据库
|
||||||
|
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 109 } },
|
||||||
|
"WorkOrder ='" + DAT + "'", null);
|
||||||
|
SQLiteHelpers.Close();
|
||||||
|
}//发布失败
|
||||||
|
else if (SYSAPI == "SC911")
|
||||||
|
{
|
||||||
|
DAT = DAT.Substring(DAT.IndexOf("]") + 1);
|
||||||
|
SQLiteHelpers.Open(); //打开数据库
|
||||||
|
SQLiteHelpers.Update("WorkOrder", new Dictionary<string, object> { { "State", 119 } },
|
||||||
|
"WorkOrder ='" + DAT + "'", null);
|
||||||
|
SQLiteHelpers.Close();
|
||||||
|
}//细节错误
|
||||||
|
|
||||||
return EasyTask.CompletedTask;
|
return EasyTask.CompletedTask;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -151,16 +151,16 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
Tables[0].Select().First().Field<object>("EndTime").ToString(); //读取计划表写入缓存
|
Tables[0].Select().First().Field<object>("EndTime").ToString(); //读取计划表写入缓存
|
||||||
if (DateTime.Now < DateTime.Parse(sTime))
|
if (DateTime.Now < DateTime.Parse(sTime))
|
||||||
{
|
{
|
||||||
StartTime_=DateTime.Parse(sTime).AddMinutes(1).ToString("yyyy/M/d HH:mm:ss");
|
StartTime_=DateTime.Parse(sTime).AddMinutes(1).ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
StartTime_= DateTime.Now.AddMinutes(1).ToString("yyyy/M/d HH:mm:ss");
|
StartTime_= DateTime.Now.AddMinutes(1).ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
StartTime_= DateTime.Now.AddMinutes(1).ToString("yyyy/M/d HH:mm:ss");
|
StartTime_= DateTime.Now.AddMinutes(1).ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
// SQLiteHelpers.Close(); //关闭连接
|
// SQLiteHelpers.Close(); //关闭连接
|
||||||
string Time_ ="0:00";
|
string Time_ ="0:00";
|
||||||
@@ -170,7 +170,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
First().Field<object>("Time").ToString();
|
First().Field<object>("Time").ToString();
|
||||||
Time_ = (DateTime.Parse(Time_) + DateTime.Parse(t).TimeOfDay).ToString("HH:mm:ss");
|
Time_ = (DateTime.Parse(Time_) + DateTime.Parse(t).TimeOfDay).ToString("HH:mm:ss");
|
||||||
}
|
}
|
||||||
string EndTime_ = (DateTime.Parse(StartTime_)+ DateTime.Parse(Time_).TimeOfDay).ToString("yyyy/M/d HH:mm:ss");
|
string EndTime_ = (DateTime.Parse(StartTime_)+ DateTime.Parse(Time_).TimeOfDay).ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
|
|
||||||
//插入数据信息
|
//插入数据信息
|
||||||
Dictionary<string, object> WorkOrder_new = new Dictionary<string, object>();//缓存函数
|
Dictionary<string, object> WorkOrder_new = new Dictionary<string, object>();//缓存函数
|
||||||
@@ -243,16 +243,16 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
Tables[0].Select().First().Field<object>("EndTime").ToString(); //读取计划表写入缓存
|
Tables[0].Select().First().Field<object>("EndTime").ToString(); //读取计划表写入缓存
|
||||||
if (DateTime.Now < DateTime.Parse(sTime))
|
if (DateTime.Now < DateTime.Parse(sTime))
|
||||||
{
|
{
|
||||||
StartTime_ = DateTime.Parse(sTime).AddMinutes(1).ToString("yyyy/M/d HH:mm:ss");
|
StartTime_ = DateTime.Parse(sTime).AddMinutes(1).ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
StartTime_ = DateTime.Now.AddMinutes(1).ToString("yyyy/M/d HH:mm:ss");
|
StartTime_ = DateTime.Now.AddMinutes(1).ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
StartTime_ = DateTime.Now.AddMinutes(1).ToString("yyyy/M/d HH:mm:ss");
|
StartTime_ = DateTime.Now.AddMinutes(1).ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
// SQLiteHelpers.Close(); //关闭连接
|
// SQLiteHelpers.Close(); //关闭连接
|
||||||
string Time_ = "0:00";
|
string Time_ = "0:00";
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
private DateTime maxDate;
|
private DateTime maxDate;
|
||||||
private void UserControl_Loaded(object sender, RoutedEventArgs e)//打开页面时的操作
|
private void UserControl_Loaded(object sender, RoutedEventArgs e)//打开页面时的操作
|
||||||
{
|
{
|
||||||
Sdatepicker.Text = DateTime.Now.ToString("yyyy/M/d HH:mm:ss");
|
Sdatepicker.Text = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
minDate = DateTime.Now.Date;
|
minDate = DateTime.Now.Date;
|
||||||
maxDate = minDate.AddDays(1);
|
maxDate = minDate.AddDays(1);
|
||||||
//添加表右键功能
|
//添加表右键功能
|
||||||
@@ -84,11 +84,13 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
private ObservableCollection<ContextMenuItem> ganttTaskContextMenuItems = new ObservableCollection<ContextMenuItem>();
|
private ObservableCollection<ContextMenuItem> ganttTaskContextMenuItems = new ObservableCollection<ContextMenuItem>();
|
||||||
public void GanttChartNEW()
|
public void GanttChartNEW()
|
||||||
{
|
{
|
||||||
|
string iiii = "select * from WorkOrder where StartTime>'" + DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd HH:mm:ss")
|
||||||
|
+ "'or EndTime>'" + DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd HH:mm:ss") + "'Order by StartTime";
|
||||||
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||||
SQLiteHelpers.Open(); //打开数据库
|
SQLiteHelpers.Open(); //打开数据库
|
||||||
WorkOrder = SQLiteHelpers.ExecuteDataSet(
|
WorkOrder = SQLiteHelpers.ExecuteDataSet(
|
||||||
"select * from WorkOrder where StartTime>'" + Sdatepicker.Text
|
"select * from WorkOrder where StartTime>'" + DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd HH:mm:ss")
|
||||||
+ "'or EndTime>'" + Sdatepicker.Text + "'Order by StartTime", null).Tables[0]; //读取表写入缓存
|
+ "'or EndTime>'" + DateTime.Parse(Sdatepicker.Text).ToString("yyyy/MM/dd HH:mm:ss") + "'Order by StartTime", null).Tables[0]; //读取表写入缓存
|
||||||
SQLiteHelpers.Close();
|
SQLiteHelpers.Close();
|
||||||
|
|
||||||
//生成表
|
//生成表
|
||||||
@@ -197,17 +199,17 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
|
|||||||
private void ListViewItem_Before(object sender, MouseButtonEventArgs e)//前一天
|
private void ListViewItem_Before(object sender, MouseButtonEventArgs e)//前一天
|
||||||
{
|
{
|
||||||
Picture.Width = 0;
|
Picture.Width = 0;
|
||||||
Sdatepicker.Text = DateTime.Parse(Sdatepicker.Text).AddDays(-1).ToString("yyyy/M/d HH:mm:ss");
|
Sdatepicker.Text = DateTime.Parse(Sdatepicker.Text).AddDays(-1).ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
private void ListViewItem_Today(object sender, MouseButtonEventArgs e)//今天
|
private void ListViewItem_Today(object sender, MouseButtonEventArgs e)//今天
|
||||||
{
|
{
|
||||||
Picture.Width = 0;
|
Picture.Width = 0;
|
||||||
Sdatepicker.Text = DateTime.Now.ToString("yyyy/M/d HH:mm:ss");
|
Sdatepicker.Text = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
private void ListViewItem_DayAfter(object sender, MouseButtonEventArgs e)//后一天
|
private void ListViewItem_DayAfter(object sender, MouseButtonEventArgs e)//后一天
|
||||||
{
|
{
|
||||||
Picture.Width = 0;
|
Picture.Width = 0;
|
||||||
Sdatepicker.Text = DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/M/d HH:mm:ss");
|
Sdatepicker.Text = DateTime.Parse(Sdatepicker.Text).AddDays(1).ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
private void Sdatepicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)//时间控件
|
private void Sdatepicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)//时间控件
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -122,21 +122,28 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
|||||||
void DisTimer_500MS(object sender, EventArgs e)//Tick_Event周期执行事件500MS
|
void DisTimer_500MS(object sender, EventArgs e)//Tick_Event周期执行事件500MS
|
||||||
{
|
{
|
||||||
DATA_view();
|
DATA_view();
|
||||||
}
|
//下传工单信息
|
||||||
void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS
|
|
||||||
{
|
|
||||||
if (stringQueue.Count > 0) //信息发送队列
|
|
||||||
{
|
|
||||||
QueueString t = stringQueue.Dequeue();
|
|
||||||
MachiensTcpClient[t.ID].SendAsync(t.DAT);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
|
|
||||||
{
|
|
||||||
SQLiteHelper WorkOrderSQL = new SQLiteHelper(DBAddress); //数据库连接路径
|
SQLiteHelper WorkOrderSQL = new SQLiteHelper(DBAddress); //数据库连接路径
|
||||||
WorkOrderSQL.Open(); //打开数据库
|
WorkOrderSQL.Open(); //打开数据库
|
||||||
|
DataTable WorkOrderstepdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='111'", null).Tables[0]; //读取表写入缓存
|
||||||
|
for (int k = 0; k < WorkOrderstepdata.Rows.Count; k++)
|
||||||
|
{
|
||||||
|
string WorkOrderdata_m = WorkOrderstepdata.Select()[k].Field<object>("Machines").ToString();
|
||||||
|
DataTable dataTable = WorkOrderSQL.ExecuteDataSet("select * from WorkorderSteps where WorkOrder='" +
|
||||||
|
WorkOrderstepdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null).Tables[0];
|
||||||
|
int index = Convert.ToInt16(Machines.Select("NAME='" + WorkOrderdata_m + "'").First().Field<object>("ID"));
|
||||||
|
stringQueue.Enqueue(new QueueString
|
||||||
|
{
|
||||||
|
ID = index,
|
||||||
|
DAT = "SC811" + Selet_Machines(Machines, "SYSKEY", index) + dataTable.ToJsonString()
|
||||||
|
});
|
||||||
|
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'", null).Tables[0]; //读取表写入缓存
|
DataTable WorkOrderdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='100'", null).Tables[0]; //读取表写入缓存
|
||||||
for(int k=0;k<WorkOrderdata.Rows.Count;k++)
|
for (int k = 0; k < WorkOrderdata.Rows.Count; k++)
|
||||||
{
|
{
|
||||||
string WorkOrderdata_m = WorkOrderdata.Select()[k].Field<object>("Machines").ToString();
|
string WorkOrderdata_m = WorkOrderdata.Select()[k].Field<object>("Machines").ToString();
|
||||||
string State = Machines.Select("Name='" + WorkOrderdata_m + "'").
|
string State = Machines.Select("Name='" + WorkOrderdata_m + "'").
|
||||||
@@ -144,7 +151,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
|||||||
if ((State == "101") || (State == "201") || (State == "202") || (State == "309"))
|
if ((State == "101") || (State == "201") || (State == "202") || (State == "309"))
|
||||||
{
|
{
|
||||||
DataTable dataTable = WorkOrderdata.Clone();
|
DataTable dataTable = WorkOrderdata.Clone();
|
||||||
// WorkOrderdata.Columns.Remove("Machines");
|
// WorkOrderdata.Columns.Remove("Machines");
|
||||||
DataRow dt_temp = WorkOrderdata.Select()[k];
|
DataRow dt_temp = WorkOrderdata.Select()[k];
|
||||||
dt_temp.BeginEdit();
|
dt_temp.BeginEdit();
|
||||||
dt_temp["State"] = "101";
|
dt_temp["State"] = "101";
|
||||||
@@ -157,14 +164,26 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
|
|||||||
ID = index,
|
ID = index,
|
||||||
DAT = "SC810" + Selet_Machines(Machines, "SYSKEY", index) + DataTableToDictionary(dataTable).ToJsonString()
|
DAT = "SC810" + Selet_Machines(Machines, "SYSKEY", index) + DataTableToDictionary(dataTable).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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
WorkOrderSQL.Close();
|
WorkOrderSQL.Close();
|
||||||
|
|
||||||
|
}
|
||||||
|
void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS
|
||||||
|
{
|
||||||
|
if (stringQueue.Count > 0) //信息发送队列
|
||||||
|
{
|
||||||
|
QueueString t = stringQueue.Dequeue();
|
||||||
|
MachiensTcpClient[t.ID].SendAsync(t.DAT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
|
||||||
|
{
|
||||||
|
//系统时间
|
||||||
Sys_Time = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
Sys_Time = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||||
|
//更新机台状态与发送指令
|
||||||
for (int i = 0; i < Machinesdata_Count; i++)
|
for (int i = 0; i < Machinesdata_Count; i++)
|
||||||
{
|
{
|
||||||
if (Selet_Machines(Machines, "State", i).ToString() == "802")
|
if (Selet_Machines(Machines, "State", i).ToString() == "802")
|
||||||
|
|||||||
Reference in new issue
Block a user